diff --git a/Acumuladores/EntradasUsadosResumenRep.aspx.vb b/Acumuladores/EntradasUsadosResumenRep.aspx.vb index 335c7881f..3a33a5241 100644 --- a/Acumuladores/EntradasUsadosResumenRep.aspx.vb +++ b/Acumuladores/EntradasUsadosResumenRep.aspx.vb @@ -169,15 +169,24 @@ Partial Class Acumuladores_RepEntradasUsados ObjAcum.Dispose() RegistraScript("$('#DModalEditarFecha').modal('hide')") + + + End Sub Protected Sub GvAcum_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then + If e.Row.DataKey("CvePSCargo").ToEntero <= 0 Then + e.Row.CssClass = "Totales" + End If + + End If + End Sub End Class diff --git a/Acumuladores/Tamaños.aspx.vb b/Acumuladores/Tamaños.aspx.vb index 1ad466ef6..35f7d9195 100644 --- a/Acumuladores/Tamaños.aspx.vb +++ b/Acumuladores/Tamaños.aspx.vb @@ -137,7 +137,7 @@ Partial Class Acumuladores_Tamaños UpGral.Update() Alert("Tamaño Agregado Correctamente", TipoMensaje.MsgInformacion) - GlobalDTAcumTamaños(UsuarioActual.CveEmpresa) = Nothing + GlobalDTAcumTamaños(UsuarioActual.CveEmpresa) = Nothing Else Alert("Ocurrio un error al guardar el Tamaño", TipoMensaje.MsgError) End If @@ -157,7 +157,7 @@ Partial Class Acumuladores_Tamaños UpGral.Update() Alert("Tamaño Actualizado Correctamente", TipoMensaje.MsgInformacion) - GlobalDTAcumTamaños(UsuarioActual.CveEmpresa) = Nothing + GlobalDTAcumTamaños(UsuarioActual.CveEmpresa) = Nothing Else Alert("Ocurrio un error al Actualizar el Tamaño", TipoMensaje.MsgError) End If diff --git a/App_Code/CFDITimbreRetenciones.vb b/App_Code/CFDITimbreRetenciones.vb index f7a977353..12cc0135b 100644 --- a/App_Code/CFDITimbreRetenciones.vb +++ b/App_Code/CFDITimbreRetenciones.vb @@ -27,6 +27,7 @@ Public Class CFDITimbreRetenciones Public ReadOnly Property TotalImpuestosGravado As Decimal Get Return (From c In RetencionesImpuestos + Where c.ImpuestoRetencion = "001" Select c.MontoRetencion).Sum End Get End Property @@ -34,6 +35,7 @@ Public Class CFDITimbreRetenciones Public ReadOnly Property TotalImpuestosRetenidos As Decimal Get Return (From c In RetencionesImpuestos + Where c.ImpuestoRetencion = "001" Select c.MontoRetencion).Sum End Get End Property diff --git a/App_Code/CalendarEvent.vb b/App_Code/CalendarEvent.vb index 316fdb6be..6bd2224a0 100644 --- a/App_Code/CalendarEvent.vb +++ b/App_Code/CalendarEvent.vb @@ -4,8 +4,6 @@ Public Class CalendarEvent Public Property id As Integer Public Property title As String - Public Property colorfont As String - Public Property description As String Public Property start As String Public Property [end] As String diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb index e21d8dfd4..7bed46456 100644 --- a/App_Code/ClsAcumuladores.vb +++ b/App_Code/ClsAcumuladores.vb @@ -536,7 +536,7 @@ Public Class ClsAcumuladores Retorno = True Catch ex As SqlException - OnError("Ocurrió un error al agregar el folio de garantía", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + OnError("Ocurrió un error al agregar el tamaño.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try @@ -1289,7 +1289,7 @@ Public Class ClsAcumuladores SqlAdapter.Fill(Data) Retorno = True Catch ex As SqlException - OnError("Ocurrió un error al actualizar la cancelación de garantía. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + OnError("Ocurrió un error al actualizar los movimientos. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try Return Retorno diff --git a/App_Code/ClsCompProveedores.vb b/App_Code/ClsCompProveedores.vb index 23044581c..2829632c9 100644 --- a/App_Code/ClsCompProveedores.vb +++ b/App_Code/ClsCompProveedores.vb @@ -524,28 +524,28 @@ Public Class ClsCompProveedores Return Retorno End Function - Public Function UpdateProveedorLimiteCredito(CveProveedor As Integer, LimiteCredito As Decimal, PlazoPago As Integer, UsaLimiteCredito As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Comp_ProveedorLimiteCreditoUpdate") +Public Function UpdateProveedorLimiteCredito(CveProveedor As Integer, LimiteCredito As Decimal, PlazoPago As Integer, UsaLimiteCredito As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Comp_ProveedorLimiteCreditoUpdate") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor - .Add("@LimiteCredito", SqlDbType.Money).Value = LimiteCredito - .Add("@PlazoPago", SqlDbType.Int).Value = PlazoPago - .Add("@UsaLimiteCredito", SqlDbType.Bit).Value = UsaLimiteCredito - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With + With SqlAdapter.SelectCommand.Parameters + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@LimiteCredito", SqlDbType.Money).Value = LimiteCredito + .Add("@PlazoPago", SqlDbType.Int).Value = PlazoPago + .Add("@UsaLimiteCredito", SqlDbType.Bit).Value = UsaLimiteCredito + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al Actualizar el limite de crédito del Proveedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al Actualizar el limite de crédito del Proveedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try - Return Retorno - End Function + Return Retorno +End Function Public Function UpdateProveedorPagoElectronico(EstatusPagoElectronico As Boolean, CveUsuario As Integer, CveProveedor As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index c04c98792..c5682ee52 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -200,7 +200,7 @@ Public Class ClsCompras Optional AplicoPromocion As Boolean = False, Optional PorcentajeIVA As Decimal = 0, Optional CveMetodoPago As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveConceptoContableAlmacen As Integer = -1, Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Integer = 0, Optional CveTipoCompra As Integer = -1, Optional TotalOriginal As Decimal = 0, Optional CveTipoConcepto As Integer = 1, Optional CveFactura As Integer = -1, Optional CveContrato As Integer = -1, Optional EsImportacion As Boolean = False, Optional CveSubProyecto As Integer = -1, Optional DoctosRelacionados As String = "-1", Optional CveFolioGarantia As Integer = -1, - Optional CveCompraRelacionada As Integer = -1) As Boolean + Optional CveCompraRelacionada As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -256,7 +256,7 @@ Public Class ClsCompras .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@DoctosRelacionados", SqlDbType.VarChar).Value = DoctosRelacionados .Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia - .Add("@CveCompraRelacionada", SqlDbType.Int).Value = CveCompraRelacionada + .Add("@CveCompraRelacionada", SqlDbType.Int).Value = CveCompraRelacionada End With Try diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index e9c1cd5c0..61f19afbb 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -343,7 +343,6 @@ Public Class ClsContabilidad - Public Function AddPrePolizasNegativa(CvePrePoliza As Integer, CveUsuario As Integer, Concepto As String, CveEmpresa As Integer, Fecha As Date) As Integer Dim Retorno As Integer = -1 @@ -865,8 +864,9 @@ Public Class ClsContabilidad Return Retorno End Function - - Public Function PrePolizaCompraCambiaReembolso(CvePrePoliza As Integer, CvePrePolizaVieja As Integer, CveCompra As Integer, CveEmpresa As Integer, Opcion As Integer) As Boolean + + + Public Function PrePolizaCompraCambiaReembolso(CvePrePoliza As Integer, CvePrePolizaVieja As Integer, CveCompra As Integer, CveEmpresa As Integer, Opcion As Integer) As Boolean Dim Retorno As Boolean = False SeUnifico = False @@ -910,9 +910,9 @@ Public Class ClsContabilidad SqlAdapter.Fill(Data) Retorno = True Catch ex1 As SqlException - OnError("Ocurrió un error al actualizar prepolizas", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + OnError("Ocurrió un error al simplificar prepolizas", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) Catch ex As Exception - OnError("Ocurrió un error al actualizar prepolizas", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + OnError("Ocurrió un error al simplificar prepolizas", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try Return Retorno @@ -6676,28 +6676,27 @@ Public Class ClsContabilidad Return Retorno End Function + + Public Function GetAjusteFluctuacion(Opcion As Integer, Fecha As Date, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Conta_Banc_FluctuacionesVerificaciones") - Public Function GetAjusteFluctuacion(Opcion As Integer, Fecha As Date, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False + With SqlAdapter.SelectCommand.Parameters + .Add("@Opcion", SqlDbType.Int).Value = Opcion + .Add("@Fecha", SqlDbType.Date).Value = Fecha + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With - DataAdapter("PA_Conta_Banc_FluctuacionesVerificaciones") + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + Me.OnError("Ocurrió un error al actualizar el tipo de cambio", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try - With SqlAdapter.SelectCommand.Parameters - .Add("@Opcion", SqlDbType.Int).Value = Opcion - .Add("@Fecha", SqlDbType.Date).Value = Fecha - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - Me.OnError("Ocurrió un error al actualizar el tipo de cambio", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - End Function + Return Retorno +End Function #End Region diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index 5dec86e7f..b36cf01da 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -4279,27 +4279,9 @@ Public Class ClsGenerales End Try Return Retorno - End Function - - Public Function GetReporteDiario(CveEmpresa As Integer) As Boolean + End Function - Dim Retorno As Boolean = False - DataAdapter("PA_Gral_RepCierreDia") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(DSet) - Retorno = True - Catch ex As Exception - OnError($"Ocurrió un error al obtener los datos de cultivo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return Retorno - - End Function - #Region "C I T R I C O S" Public Function GetTipoOrganicos(Optional CveEmpresa As Integer = -1) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 6656873c3..68274613d 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -7,6 +7,7 @@ Imports Extensiones Public Class ClsInventarios Implements IDisposable + 'COMPILAAAA #Region " CAMPOS " 'SQL Private SqlConexion As SqlConnection @@ -6404,6 +6405,27 @@ Public Class ClsInventarios Return Retorno End Function + + Public Function ReplicarMovtoEmpresa(CveEmpresa As Integer, CveMovimiento As Integer, Optional CveMovimientoSecundario As Integer = -1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Inv_ReplicaMovtoInterEmpresa") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento + .Add("@CveMovimientoSecundario", SqlDbType.Int).Value = CveMovimientoSecundario + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al replicar el movimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + #Region " IDisposable Support " ' IDisposable Protected Overridable Sub Dispose(ByVal disposing As Boolean) diff --git a/App_Code/ClsMetodosPagos.vb b/App_Code/ClsMetodosPagos.vb new file mode 100644 index 000000000..f6bf0b888 --- /dev/null +++ b/App_Code/ClsMetodosPagos.vb @@ -0,0 +1,144 @@ +Option Explicit On +Option Strict On + +Imports System.Data +Imports System.Data.SqlClient +Imports Extensiones + +Public Class ClsMetodosPagos + Implements IDisposable + +#Region "Campos" + + 'SQL + Private SqlConexion As SqlConnection + Private SqlAdapter As SqlDataAdapter + Private SqlCommand As SqlCommand + Private Data As DataTable + + 'Atributos de la clase + Private disposedValue As Boolean = False ' Para detectar llamadas redundantes + 'REGISTRAR CONEXIONES ABIERTAS + Private CveConexion As Integer = 0 + +#End Region + +#Region "Propiedades" + + Public ReadOnly Property DtResultados() As DataTable + Get + DtResultados = Data + End Get + End Property + +#End Region + + Sub New() + SqlConexion = New SqlConnection + SqlConexion.ConnectionString = ClsPaginas.UsuarioActualRutaDB + Try + SqlConexion.Open() + Catch ex As Exception + Me.OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex) + End Try + SqlAdapter = New SqlDataAdapter("", SqlConexion) + ConexionAdd() + End Sub +#Region "Conexiones" + + Private Sub ConexionAdd() + If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then + Try + DataAdapter("PA_Sis_RegistrarConexion") + With SqlAdapter.SelectCommand.Parameters + .Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name + .Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString) + .Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output + End With + SqlAdapter.Fill(Data) + CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero + Catch ex As Exception + OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + End If + End Sub + + Private Sub ConexionClose() + If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then + + DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text) + + Try + SqlAdapter.Fill(Data) + + Catch ex As Exception + OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + CveConexion = 0 + End If + + End Sub + Private Sub DataAdapter(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) + With SqlAdapter.SelectCommand + .Parameters.Clear() + .CommandText = pStrSQL + .CommandType = TipoComando + End With + Data = New DataTable + End Sub +#End Region + 'Public Function GetMetodosPago() As Boolean + ' Dim Retorno As Boolean = False + ' Data = New DataTable + ' SqlAdapter = New SqlDataAdapter("PA_MetodosPagosGet", SqlConexion) + ' SqlAdapter.SelectCommand.CommandType = CommandType.StoredProcedure + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As SqlException + ' OnError("Ocurrió un error al consultar los Métodos de Pago.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ' End Try + ' SqlAdapter.Dispose() + ' Return Retorno + 'End Function + +#Region "IDisposable Support" + + + ' IDisposable + Protected Overridable Sub Dispose(disposing As Boolean) + If Not Me.disposedValue Then + If disposing Then + ' TODO: dispose managed state (managed objects). + If Not Data Is Nothing Then Data.Dispose() : Data = Nothing + If Not SqlAdapter Is Nothing Then SqlAdapter.Dispose() : SqlAdapter = Nothing + If Not SqlCommand Is Nothing Then SqlCommand.Dispose() : SqlCommand = Nothing + If SqlConexion.State <> ConnectionState.Closed Then SqlConexion.Close() + If Not SqlConexion Is Nothing Then SqlConexion.Dispose() : SqlConexion = Nothing + + End If + + ' TODO: free unmanaged resources (unmanaged objects) and override Finalize() below. + ' TODO: set large fields to null. + End If + Me.disposedValue = True + End Sub + + ' TODO: override Finalize() only if Dispose(disposing As Boolean) above has code to free unmanaged resources. + 'Protected Overrides Sub Finalize() + ' ' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above. + ' Dispose(False) + ' MyBase.Finalize() + 'End Sub + + ' This code added by Visual Basic to correctly implement the disposable pattern. + Public Sub Dispose() Implements IDisposable.Dispose + ' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above. + ConexionClose() + Dispose(True) + GC.SuppressFinalize(Me) + End Sub +#End Region + +End Class diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index 370e1c2b5..313d8bf18 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -342,11 +342,10 @@ Public Class ClsNominas End Try Return retorno End Function - Public Function PersonalAplicaCalculoAnual(CveEmpresa As Integer, CveUsuario As Integer, Ejercicio As Integer, CvePersonal As Integer, Aplica As Integer, motivo As String) As Boolean + Public Function PersonalAplicaCalculoAnual(CveEmpresa As Integer, CveUsuario As Integer, CvePersonal As Integer, Aplica As Integer, motivo As String) As Boolean Dim retorno As Boolean = False DataAdapter("PA_Nom_PersonalAplicaCalculoAnual", CommandType.StoredProcedure) With SqlAdapter.SelectCommand.Parameters - .Add("@Ejercicio", SqlDbType.Int).Value = Ejercicio .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario @@ -612,8 +611,8 @@ Public Class ClsNominas End Try Return retorno End Function - - Public Function GuardarAguinaldo(CveEmpresa As Integer, CveUsuario As Integer, registros As String, EJercicio As Integer) As Boolean + + Public Function GuardarAguinaldo(CveEmpresa As Integer, CveUsuario As Integer, registros As String) As Boolean Dim retorno As Boolean = False Try @@ -622,7 +621,6 @@ Public Class ClsNominas .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveUsuario", SqlDbType.Decimal).Value = CveUsuario .Add("@registros", SqlDbType.Xml).Value = registros - .Add("@EJercicio", SqlDbType.Xml).Value = EJercicio End With SqlAdapter.Fill(Data) retorno = True @@ -2702,6 +2700,7 @@ Public Class ClsNominas End Function + Public Function ReporteVacaciones(CveProyecto As Integer, CveSubProyecto As Integer, cveEmpresa As Integer, fechaInicio As String, fechaFin As String) As Boolean Dim retorno As Boolean = False Try @@ -2726,6 +2725,7 @@ Public Class ClsNominas End Try Return retorno End Function + Public Function ReporteVacacionesCalendario(CveProyecto As Integer, CveSubProyecto As Integer, cveEmpresa As Integer, fechaInicio As String, fechaFin As String) As Boolean Dim retorno As Boolean = False Try @@ -2750,6 +2750,7 @@ Public Class ClsNominas End Try Return retorno End Function + Public Function GetNominasSinTimbrar(CvePeriodo As Integer, CveEmpresa As Integer) As Boolean Dim retorno As Boolean = False Try diff --git a/App_Code/ClsOIEventos.vb b/App_Code/ClsOIEventos.vb index 3f57aef6b..0b1e79fc8 100644 --- a/App_Code/ClsOIEventos.vb +++ b/App_Code/ClsOIEventos.vb @@ -2487,24 +2487,26 @@ Public Class ClsOIEventos #End Region #Region "A G E N D A" - Public Function AddEventoAgenda(CveAgendaTipo As Integer, Asunto As String, Descripcion As String, Prioridad As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveUsuarioIng As Integer, CveEmpresa As Integer, - Optional CveActivoFijo As Integer = -1, Optional CveIE As Integer = -1, Optional CveProspecto As Integer = -1, Optional CveCliente As Integer = -1, - Optional CveOS As Integer = -1, Optional CveOC As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveProveedor As Integer = -1, Optional CveEventoPadre As Integer = -1, - Optional RecurrenciaTipo As Integer = -1, Optional Frecuencia As Integer = -1, Optional DiasSemana As String = "-1", Optional Dia As Integer = -1, Optional Mes As Integer = -1, - Optional RecurrenciaFin As String = "-1", Optional CveTipoEvento As Integer = 2, Optional Importe As Double = -1, - Optional CveEmpresaCRM As Integer = -1, Optional CveContactoCRM As Integer = -1, Optional CveAcercamientoCRM As Integer = -1, Optional CveTipoProcesoCRM As Integer = -1, Optional CveEtapaProcesoCRM As Integer = -1, - Optional CveSubProyecto As Integer = -1, Optional CveUsuarioPara As Integer = -1, Optional CveCompra As Integer = -1, Optional CveVenta As Integer = -1, Optional CveMovimiento As Integer = -1, - Optional CveContrato As Integer = -1) As Boolean - Dim Retorno As Boolean = False + + Public Function AddEventoAgenda(CveAgendaTipo As Integer, Asunto As String, Descripcion As String, Prioridad As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveUsuarioIng As Integer, CveEmpresa As Integer, + Optional CveActivoFijo As Integer = -1, Optional CveIE As Integer = -1, Optional CveProspecto As Integer = -1, Optional CveCliente As Integer = -1, + Optional CveOS As Integer = -1, Optional CveOC As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveProveedor As Integer = -1, Optional CveEventoPadre As Integer = -1, + Optional RecurrenciaTipo As Integer = -1, Optional Frecuencia As Integer = -1, Optional DiasSemana As String = "-1", Optional Dia As Integer = -1, Optional Mes As Integer = -1, + Optional RecurrenciaFin As String = "-1", Optional CveTipoEvento As Integer = 2, Optional Importe As Double = -1, + Optional CveEmpresaCRM As Integer = -1, Optional CveContactoCRM As Integer = -1, Optional CveAcercamientoCRM As Integer = -1, Optional CveTipoProcesoCRM As Integer = -1, Optional CveEtapaProcesoCRM As Integer = -1, + Optional CveSubProyecto As Integer = -1, Optional CveUsuarioPara As Integer = -1, Optional CveCompra As Integer = -1, Optional CveVenta As Integer = -1, Optional CveMovimiento As Integer = -1, + Optional CveContrato As Integer = -1) As Boolean + Dim Retorno As Boolean = False - Retorno = AddEvento(CveTipoEvento, CveAgendaTipo, Asunto, Descripcion, Prioridad, CveUsuarioPara, CveUsuarioIng, FechaInicio, FechaFin, -1, -1, "-1", CveUsuarioIng, CveEmpresa, CveActivoFijo, CveIE, CveProspecto, CveCliente, CveOS, CveOC, - CvePersonal, CveProveedor, CveEventoPadre:=CveEventoPadre, RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dia, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, Importe:=Importe, - CveEmpresaCRM:=CveEmpresaCRM, CveContactoCRM:=CveContactoCRM, CveAcercamientoCRM:=CveAcercamientoCRM, CveTipoProcesoCRM:=CveTipoProcesoCRM, CveEtapaProcesoCRM:=CveEtapaProcesoCRM, CveSubProyecto:=CveSubProyecto, CveCompra:=CveCompra, - CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, CveContrato:=CveContrato) + Retorno = AddEvento(CveTipoEvento, CveAgendaTipo, Asunto, Descripcion, Prioridad, CveUsuarioPara, CveUsuarioIng, FechaInicio, FechaFin, -1, -1, "-1", CveUsuarioIng, CveEmpresa, CveActivoFijo, CveIE, CveProspecto, CveCliente, CveOS, CveOC, + CvePersonal, CveProveedor, CveEventoPadre:=CveEventoPadre, RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dia, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, Importe:=Importe, + CveEmpresaCRM:=CveEmpresaCRM, CveContactoCRM:=CveContactoCRM, CveAcercamientoCRM:=CveAcercamientoCRM, CveTipoProcesoCRM:=CveTipoProcesoCRM, CveEtapaProcesoCRM:=CveEtapaProcesoCRM, CveSubProyecto:=CveSubProyecto, CveCompra:=CveCompra, + CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, CveContrato:=CveContrato) - Return Retorno - End Function + Return Retorno + End Function + Public Function GetAgendas(CveUsuario As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index b29275701..38cec4aa4 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -8018,10 +8018,11 @@ Public Class ClsPaginas params.Add(New ReportParameter("ProveedorContacto", ObjOC.ProveedorContacto)) params.Add(New ReportParameter("Comprador", ObjOC.UsuarioAsignado)) End If + + If UsuarioActual.CveEmpresa.Contiene(189) Then + params.Add(New ReportParameter("DiasCreditoOC", dtOC(0)("DiasCreditoOC").ToString)) + End If - If UsuarioActual.CveEmpresa.Contiene(189) Then - params.Add(New ReportParameter("DiasCreditoOC", dtOC(0)("DiasCreditoOC").ToString)) - End If If UsuarioActual.CveEmpresa.Contiene(13, 83) Then 'Dim ObjCuentasBancos As New ClsGenerales() diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index ca7b91b0a..73bc2593f 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -2543,8 +2543,9 @@ Public Class ClsProductosServicios Return Retorno End Function - - + + + Public Function UpdateUltimoCosto(CvePS As Integer, UltimoCosto As Decimal, CveUsuarioModifico As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_ProductosServiciosUpdateUltimoCostoUpdate") @@ -2554,6 +2555,7 @@ Public Class ClsProductosServicios .Add("@UltimoCosto", SqlDbType.Decimal).Value = UltimoCosto .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With Try diff --git a/App_Code/ClsPuntoVenta.vb b/App_Code/ClsPuntoVenta.vb index a0d04f707..c0b194cf8 100644 --- a/App_Code/ClsPuntoVenta.vb +++ b/App_Code/ClsPuntoVenta.vb @@ -17,7 +17,7 @@ Public Class ClsPuntoVenta Private SqlCommand As SqlCommand Private SqlTransacc As SqlTransaction Private Data As DataTable - Private Dataset As DataSet + Private Dataset As DataSet 'Atributos de la clase Private disposedValue As Boolean = False ' Para detectar llamadas redundantes @@ -400,31 +400,30 @@ Public Class ClsPuntoVenta End Try Return Retorno - End Function - - Public Function GetVta_EstadoCajas(CveCuenta As Integer, CveEmpresa As Integer, FechaInicio As Date, FechaFin As Date) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_VentasEstadoCajasGet") + End Function + + Public Function GetVta_EstadoCajas(CveCuenta As Integer, CveEmpresa As Integer, FechaInicio As Date, FechaFin As Date) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_VentasEstadoCajasGet") - SqlAdapter.SelectCommand.Parameters.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta - SqlAdapter.SelectCommand.Parameters.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - SqlAdapter.SelectCommand.Parameters.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio - SqlAdapter.SelectCommand.Parameters.Add("@FechaFin", SqlDbType.Date).Value = FechaFin + SqlAdapter.SelectCommand.Parameters.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta + SqlAdapter.SelectCommand.Parameters.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + SqlAdapter.SelectCommand.Parameters.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + SqlAdapter.SelectCommand.Parameters.Add("@FechaFin", SqlDbType.Date).Value = FechaFin - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los Cortes del Punto de Venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los Cortes del Punto de Venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try - Return Retorno - End Function - + Return Retorno + End Function #Region "IDisposable Support" - - - ' IDisposable + + + ' IDisposable Protected Overridable Sub Dispose(disposing As Boolean) If Not Me.disposedValue Then If disposing Then diff --git a/App_Code/ClsSAT.vb b/App_Code/ClsSAT.vb index 61a3dc72c..35de3e019 100644 --- a/App_Code/ClsSAT.vb +++ b/App_Code/ClsSAT.vb @@ -4,7 +4,6 @@ Option Explicit On Imports System.Data Imports System.Data.SqlClient Imports System.Net -Imports System.Xml Imports Extensiones Imports GemBox.Spreadsheet @@ -253,37 +252,6 @@ Public Class ClsSAT End Function - Public Function SolicitudesDetalleProcesa(cveSolicitudDetalle As Int32, tipo As Int32, rutaxmls As List(Of String), cveEmpresa As Int32, insertaMetadata As Int32) As Boolean - Dim retorno As Boolean = False - Dim xmlDoc As New XmlDocument() - - ' Crear el elemento raíz - Dim rootElement As XmlElement = xmlDoc.CreateElement("folder") - xmlDoc.AppendChild(rootElement) - - ' Añadir los elementos con el atributo urlfile - For Each url In rutaxmls - Dim archivoElement As XmlElement = xmlDoc.CreateElement("archivo") - archivoElement.SetAttribute("urlfile", url) - rootElement.AppendChild(archivoElement) - Next - DataAdapter("PA_Gral_Sat_SolicitudesDetalleProcesa", CommandType.StoredProcedure) - With SqlAdapter.SelectCommand.Parameters - .Add("@CveSolicitudDetalle", SqlDbType.Int).Value = cveSolicitudDetalle - .Add("@Tipo", SqlDbType.Int).Value = tipo - .Add("@Xmlarchivos", SqlDbType.Xml).Value = xmlDoc.ToString() - .Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa - .Add("@InsertaMetadata", SqlDbType.Int).Value = insertaMetadata - End With - Try - SqlAdapter.Fill(Data) - retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los registros", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - - Return retorno - End Function #Region "LISTADO 69B" diff --git a/App_Code/ClsSisNotificaciones.vb b/App_Code/ClsSisNotificaciones.vb index 354cfa4c9..c2a954d5e 100644 --- a/App_Code/ClsSisNotificaciones.vb +++ b/App_Code/ClsSisNotificaciones.vb @@ -2393,7 +2393,7 @@ Public Class ClsSisNotificaciones _hubContext.Clients.Client(Notificaciones.UsuariosConexiones(cveusuarioPara)).ContadorCampana(notificacion) ClsPaginas.GlobalDTNotificacionesUsuarios(-1, cveEmpresa) = Nothing End If - + Return true End Function Private Function NotificacionesUsuariosMensajesAdd(cveOrigen As Int32, cveusuarioPara As Int32, cveUsuarioDe As Int32, notificaCorreo As Boolean, notificaToast As Boolean, notificaCampana As Boolean, icono As String, asunto As String, mensaje As String, cveEmpresa As Int32) As Boolean @@ -2420,7 +2420,7 @@ Public Class ClsSisNotificaciones Catch ex As Exception OnError("Ocurrió un error al intentar agregar Notificación.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try - Return retorno + Return retorno End Function #End Region diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index a1502f8a6..2f25b01ec 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -2481,34 +2481,36 @@ Public Class ClsVentas 'End Function #Region " PROMOCIONES " + Public Function GetPromociones(CvePromocion As Integer, Fecha As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Integer, CveEmpresa As Integer, - CveSubProyecto As Integer, Optional CveMarca As Integer = -1, Optional CveUsuario As Integer = -1, Optional CvePS As Integer = -1) As Boolean + CveSubProyecto As Integer, Optional CveMarca As Integer = -1, Optional CveUsuario As Integer = -1, Optional CvePS As Integer = -1) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_PromocionesGet") + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PromocionesGet") - With SqlAdapter.SelectCommand.Parameters - .Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion - .Add("@Fecha", SqlDbType.Date).Value = Fecha - .Add("@Estatus", SqlDbType.Int).Value = Estatus - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveMarca", SqlDbType.Int).Value = CveMarca - .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuario - .Add("@CvePS", SqlDbType.Int).Value = CvePS - End With + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion + .Add("@Fecha", SqlDbType.Date).Value = Fecha + .Add("@Estatus", SqlDbType.Int).Value = Estatus + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveMarca", SqlDbType.Int).Value = CveMarca + .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuario + .Add("@CvePS", SqlDbType.Int).Value = CvePS + End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener las Promociones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener las Promociones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try - Return Retorno - End Function + Return Retorno + End Function + Public Function AddPromociones(Promocion As String, FechaInicio As Date, FechaFin As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Boolean, CveMoneda As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveSubProyecto As Integer, TipoAplicacion As String, Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1, Optional ReqAutorizacion As Boolean = False) As Integer @@ -2610,27 +2612,30 @@ Public Class ClsVentas Return Retorno End Function + + + Public Function UpdatePromocionEstatus(CvePromocion As Integer, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PromocionEstatusUpdate") - Public Function UpdatePromocionEstatus(CvePromocion As Integer, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_PromocionEstatusUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePromocion", SqlDbType.Float).Value = CvePromocion + .Add("@Estatus", SqlDbType.Bit).Value = Estatus + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With - With SqlAdapter.SelectCommand.Parameters - .Add("@CvePromocion", SqlDbType.Float).Value = CvePromocion - .Add("@Estatus", SqlDbType.Bit).Value = Estatus - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el estatus la Promoción.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al actualizar el estatus la Promoción.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno - End Function + Return Retorno + End Function + + Public Function RemovePromociones(CvePromocion As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -3288,34 +3293,36 @@ Public Class ClsVentas Return Retorno End Function + Public Function GetRepRemisionesSinFacturar(FechaI As String, FechaF As String, FechaV As String, CveSubProyecto As String, CveCliente As Integer, CveContrato As Integer, CveVendedor As String, CveEmpresa As Integer, Optional CveUsuarioConsulta As Integer = -1, Optional ConsultaInventario As Boolean = False, Optional PrimerProducto As Boolean = False) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_RepRemisionesGet") + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_RepRemisionesGet") - With SqlAdapter.SelectCommand.Parameters - .Add("@FechaI", SqlDbType.VarChar).Value = FechaI - .Add("@FechaF", SqlDbType.VarChar).Value = FechaF - .Add("@FechaV", SqlDbType.VarChar).Value = FechaV - .Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveContrato", SqlDbType.Int).Value = CveContrato - .Add("@CveVendedor", SqlDbType.VarChar).Value = CveVendedor - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta - .Add("@ConsultaInventario", SqlDbType.Bit).Value = ConsultaInventario - .Add("@PrimerProducto", SqlDbType.Bit).Value = PrimerProducto - End With + With SqlAdapter.SelectCommand.Parameters + .Add("@FechaI", SqlDbType.VarChar).Value = FechaI + .Add("@FechaF", SqlDbType.VarChar).Value = FechaF + .Add("@FechaV", SqlDbType.VarChar).Value = FechaV + .Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .Add("@CveVendedor", SqlDbType.VarChar).Value = CveVendedor + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta + .Add("@ConsultaInventario", SqlDbType.Bit).Value = ConsultaInventario + .Add("@PrimerProducto", SqlDbType.Bit).Value = PrimerProducto + End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener las remisiones sin facturar.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener las remisiones sin facturar.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try - Return Retorno - End Function + Return Retorno + End Function + Public Function GetRepRemisionesSinFacturarDetalle(FechaI As String, FechaF As String, FechaV As String, CveCliente As Integer, CveContrato As Integer, CveVenta As Integer, CveEmpresa As Integer, CveSubProyecto As String, Optional CveUsuarioConsulta As Integer = -1, Optional ConsultaInventario As Boolean = False) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_RepRemisionesDetalleGet") @@ -7594,7 +7601,6 @@ Public Class ClsVentas #End Region - Public Function GetRepVentasBiosistemas(CveEmpresa As Integer, Opcion As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasBiosistemasGetRep") @@ -7614,6 +7620,29 @@ Public Class ClsVentas Return Retorno End Function + + Public Function GetSabanaE189(CveEmpresa As Integer, FechaInicio As Date, FechaFin As Date, CveProveedor As Integer, CodigoPSInicio As String, CodigoPSFin As String) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_VentasSabanaDatos") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + .Add("@FechaFin", SqlDbType.Date).Value = FechaFin + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + .Add("@CodigoProductoI", SqlDbType.VarChar).Value = CodigoPSInicio + .Add("@CodigoProductoF", SqlDbType.VarChar).Value = CodigoPSFin + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los datos de la Venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function #Region "IDisposable Support" diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb index 86d3ec501..1d6cd4556 100644 --- a/App_Code/LogicNominas.vb +++ b/App_Code/LogicNominas.vb @@ -83,6 +83,7 @@ Public Class LogicNominas Return Retorno End Function Dim hasfiniquito As Boolean + Public Function PreTimbrar(CveNomina As Integer, UsuarioActual As Usuario, TimbreIndemnizacion As Boolean, Optional versionTimbrex As VersionTimbradoEnum = VersionTimbradoEnum.PorDefectoEmpresa) As CFDITimbre Dim versionTimbre As VersionTimbradoEnum = versionTimbrex @@ -525,4 +526,5 @@ Public Class LogicNominas End If End Function + End Class diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index a80ace836..b71c4f47d 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3539,6 +3539,11 @@ Namespace Modelos Pago.AplicaTraslado = False Pago.Referencia = Concepto + If DtVentasNC.Columns.Contains("CveIE") Then + Dim CveIEVenta As Integer = Dr("CveIE").ToString().ToEntero() + Pago.CveIE = CveIEVenta + End If + ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(ventaRef, Pago, ObjFactura.CvePrePoliza, ObjConta) If Not ErrorPrepoliza AndAlso ObjFactura.CveTipoAmortizacionAnticipo = 2 AndAlso ObjFactura.EsNCAmortizacion AndAlso ObjFactura.TipoDocto.Contiene("Egs") AndAlso ObjFactura.DtAnticiposAplicados IsNot Nothing Then diff --git a/Ashx/CargaEventos2.ashx b/Ashx/CargaEventos2.ashx new file mode 100644 index 000000000..65bf9f131 --- /dev/null +++ b/Ashx/CargaEventos2.ashx @@ -0,0 +1,663 @@ +<%@ WebHandler Language="VB" Class="CargaEventos" %> +Option Explicit Off +Option Strict On + +Imports System.Data +Imports Extensiones + +Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState + + Public Property events As List(Of CalendarEvent) + + Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest + context.Response.ContentType = "text/plain" + + Dim CveUsuario As Integer = -1 + Dim CveEmpresa As Integer = -1 + Dim FI As Date + Dim FF As Date + If UsuarioActual(context) Is Nothing Then Exit Sub + + If context.Request("METODO") IsNot Nothing Then + + Select Case context.Request("METODO") + Case "servicio_domicilio" + + If context.Request("U").ToEntero > 0 Then + + CveUsuario = context.Request("U").ToEntero + CveEmpresa = context.Request("E").ToEntero + + Dim CveSubProyecto As Integer = If(context.Request("CveSubProyecto") IsNot Nothing, context.Request("CveSubProyecto").ToEntero, -1) + Dim CveUsuarioPara As Integer = If(context.Request("CveUsuarioPara") IsNot Nothing, context.Request("CveUsuarioPara").ToEntero, -1) + + + FI = context.Request("start").ToDate + FF = context.Request("end").ToDate + + If Not GetEventos(CveUsuario, CveEmpresa, FI, FF, CveOS:=-2, CveUsuarioPara:=CveUsuarioPara, CveSubProyecto:=CveSubProyecto, context:=context) Then + 'Convierte el objeto de Eventos en JSON + 'Dim oSerializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer + Dim sJSON As String = Newtonsoft.Json.JsonConvert.SerializeObject(events) + + context.Response.Write(sJSON) + End If + End If + + Exit Select + Case "servicio_medicos" + + If context.Request("U").ToEntero > 0 Then + + CveUsuario = context.Request("U").ToEntero + CveEmpresa = context.Request("E").ToEntero + + Dim CveSubProyecto As Integer = If(context.Request("CveSubProyecto") IsNot Nothing, context.Request("CveSubProyecto").ToEntero, -1) + Dim CveUsuarioPara As Integer = If(context.Request("CveUsuarioPara") IsNot Nothing, context.Request("CveUsuarioPara").ToEntero, -1) + Dim FechaI As Date = context.Request("start").ToDate + Dim FechaF As Date = context.Request("end").ToDate + Dim Cvecliente As Integer = -1 'DdlClienteSucursalCliente() + Dim CveClienteSucursal As Integer = -1 ' DdlClienteSucursalSucursal() + Dim CveVendedor As Integer = -1 + Dim CveEstatus As Integer = -1 + Dim ObjOS As New ClsOS + + If ObjOS.GetRepOrdenesServicioMedicasRep(FechaI, FechaF, Cvecliente, CveVendedor, CveEstatus, CveUsuarioPara, -1, CveEmpresa, + CveMedico:=-1, CveProcedimiento:=-1, CveEspecialidad:=-1, + CveClienteSucursal:=CveClienteSucursal, CveUsuario:=CveUsuario) Then + + If ObjOS.DtResultados IsNot Nothing AndAlso ObjOS.DtResultados.Rows.Count > 0 Then + events = New List(Of CalendarEvent) + For Each dr As DataRow In ObjOS.DtResultados.Rows + Dim cevent As CalendarEvent = New CalendarEvent() + cevent.id = dr("CveOS").ToString.ToEntero + cevent.title = $" {dr("Tecnico")}-{dr("NombreCliente")}" + cevent.description = $" {dr("Tecnico")} -{dr("NombreCliente")} OS# {dr("Folio")}" + cevent.start = String.Format("{0:s}", dr("FechaCita").ToString.ToDateTime) + cevent.end = String.Format("{0:s}", dr("FechaCita").ToString.ToDateTime.AddHours(1)) + cevent.CveOS = dr("CveOS").ToString.ToEntero + cevent.allDay = False + If dr("EstatusOSGral").ToString.Contiene("Levantamiento") Then + cevent.backgroundColor = "#3598dc" + ElseIf dr("EstatusOSGral").ToString.Contiene("Surtido") Then + cevent.backgroundColor = "#002699" + ElseIf dr("EstatusOSGral").ToString.Contiene("Asignado") Then + cevent.backgroundColor = "#8E44AD" + ElseIf dr("EstatusOSGral").ToString.Contiene("Finalizado") Then + cevent.backgroundColor = "#26C281" + ElseIf dr("EstatusOSGral").ToString.Contiene("Facturado") Then + cevent.backgroundColor = "#4B77BE" + ElseIf dr("EstatusOSGral").ToString.Contiene("Cobrado") Then + cevent.backgroundColor = "#29b4b6" + ElseIf dr("EstatusOSGral").ToString.Contiene("Cancelado") Then + cevent.backgroundColor = "#e43a45" + End If + events.Add(cevent) + Next + + context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(events)) + End If + End If + ObjOS.Dispose() + + End If + Exit Select + Case "contrato_transportes" + + If context.Request("U").ToEntero > 0 Then + + CveUsuario = context.Request("U").ToEntero + CveEmpresa = context.Request("E").ToEntero + + Dim CveSubProyecto As Integer = If(context.Request("CveSubProyecto") IsNot Nothing, context.Request("CveSubProyecto").ToEntero, -1) + Dim CveUsuarioPara As Integer = If(context.Request("CveUsuarioPara") IsNot Nothing, context.Request("CveUsuarioPara").ToEntero, -1) + + + FI = context.Request("start").ToDate + FF = context.Request("end").ToDate + + If Not GetContratos(context:=context) Then + 'Convierte el objeto de Eventos en JSON + 'Dim oSerializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer + Dim sJSON As String = Newtonsoft.Json.JsonConvert.SerializeObject(events) + + context.Response.Write(sJSON) + End If + End If + Exit Select + Case Else + Exit Select + End Select + + Else + If context.Request("U").ToEntero > 0 Then + CveUsuario = context.Request("U").ToEntero + CveEmpresa = context.Request("E").ToEntero + FI = context.Request("start").ToDate + + FF = context.Request("end").ToDate + If Not GetEventos(CveUsuario, CveEmpresa, FI, FF, context:=context) Then + 'Convierte el objeto de Eventos en JSON + 'Dim oSerializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer + Dim sJSON As String = Newtonsoft.Json.JsonConvert.SerializeObject(events) + + context.Response.Write(sJSON) + End If + + End If + End If + End Sub + + Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable + Get + Return False + End Get + End Property + + + Private Function GetEventos(CveUsuario As Integer, CveEmpresa As Integer, pFI As Date, pFF As Date, Optional CveOS As Integer = -1, Optional CveUsuarioPara As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional context As HttpContext = Nothing) As Boolean + + Dim ErrorEventos As Boolean = False + Dim CveEmpresaCRM As Integer = 0 + Dim DT_SubProyectos As New System.Data.DataTable + DT_SubProyectos.Columns.Add("CveSubProyecto", GetType(Integer)) + DT_SubProyectos.Columns.Add("backgroundColor") + Dim DT_EstatusOS As New DataTable + DT_EstatusOS.Columns.Add("", GetType(Integer)) + Dim ObjEventos As New ClsOIEventos + + 'son 26 + Dim Colores() As String = {"#006699", "#0099cc", "#0066cc", "#0033cc", "#0000ff", "#3333ff", "#3333ff", "#6600ff", "#9933ff", "#cc00ff", "#cc00cc", "#cc0099", "#cc3399", "#cc6699", "#cc0066", "#009933", "#00cc00", "#00cc66", "#009999", "#669900", "#99cc00", "#cccc00", "#cc9900", "#ff9900", "#006666", "#669999"} + + If CveOS = -2 Then + + Dim objSub As New ClsSubProyectos + Dim DtTempSubproyectos As New DataTable + + If objSub.GetSubProyectos(CveEmpresa) Then + DtTempSubproyectos = objSub.DtResultados.FiltraParametros("", "CveSubProyecto") + End If + + objSub.Dispose() + + Dim ColorIndex As Integer = 0 + + If DtTempSubproyectos.Rows.Count > 0 Then + For Each drow As DataRow In DtTempSubproyectos.Rows + + Dim Subrow As DataRow = DT_SubProyectos.NewRow + Subrow("CveSubProyecto") = drow("CveSubProyecto").ToString.ToEntero + Subrow("backgroundColor") = Colores(ColorIndex) + + DT_SubProyectos.Rows.Add(Subrow) + + ColorIndex = ColorIndex + 1 + If ColorIndex >= 25 Then + ColorIndex = 0 + End If + + Next + End If + + End If + + Dim EsCoordinador As Boolean = False + Dim usuarioActual_ As Usuario = UsuarioActual(context) + If context IsNot Nothing AndAlso CveOS = -2 Then + If usuarioActual_.TienePermisoProceso(348) Then + EsCoordinador = True + End If + End If + + If ObjEventos.GetEventos(-1, -1, -1, "-1", "-1", -1, CveUsuario, CveUsuarioPara, -1, -1, -1, "-1", -1, -1, -1, -1, CveOS, -1, -1, -1, -1, -1, CveUsuario, CveUsuario, CveUsuario, CveEmpresa, pFI, pFF, CveSubProyecto:=CveSubProyecto, EsCoordinador:=EsCoordinador) Then + + If ObjEventos.DtResultados.Rows.Count > 0 Then + events = New List(Of CalendarEvent) + + Try + For Each dr As DataRow In ObjEventos.DtResultados.Rows + + If dr("CveEventoEstatus").ToString.ToEntero <> 5 Then + + Dim cevent As CalendarEvent = New CalendarEvent() + cevent.id = dr("CveEvento").ToString.ToEntero + cevent.title = dr("Asunto").ToString + cevent.description = dr("Descripcion").ToString + cevent.start = String.Format("{0:s}", dr("FechaInicio").ToString.ToDateTime) + cevent.end = String.Format("{0:s}", dr("FechaFin").ToString.ToDateTime) + cevent.allDay = False + cevent.CveEventoEstatus = dr("CveEventoEstatus").ToString.ToEntero + cevent.cveagendatipo = dr("CveAgendaTipo").ToString + cevent.prioridad = dr("CvePrioridad").ToString.ToEntero + cevent.backgroundColor = dr("BackGroundColor").ToString + cevent.recurrenciatipo = dr("RecurrenciaTipo").ToString.ToEntero + cevent.frecuencia = dr("Frecuencia").ToString.ToEntero + cevent.diassemana = dr("DiasSemana").ToString + cevent.dia = dr("Dia").ToString.ToEntero + cevent.mes = dr("Mes").ToString.ToEntero + cevent.recurrenciafin = dr("RecurrenciaFin").ToString + cevent.CveProspecto = dr("CveProspecto").ToString.ToEntero + cevent.Prospecto = dr("Prospecto").ToString + cevent.CveTipoEvento = dr("Prospecto").ToString.ToEntero + cevent.EmpresaCRM = dr("EmpresaCRM").ToString + cevent.SubProyecto = dr("SubProyecto").ToString + cevent.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + cevent.Direccion = dr("Direccion").ToString + + cevent.CveEmpresaCRM = dr("CveEmpresaCRM").ToString + cevent.CveContactoCRM = dr("CveContactoCRM").ToString + cevent.CveAcercamientoCRM = dr("CveAcercamientoCRM").ToString + + cevent.CvePersonal = dr("CvePersonal").ToString.ToEntero + cevent.CveCliente = dr("CveCliente").ToString.ToEntero + cevent.CveProveedor = dr("CveProveedor").ToString.ToEntero + cevent.NombreCliente = dr("NombreCliente").ToString + cevent.NombreProveedor = dr("NombreProveedor").ToString + cevent.NomprePersonal = dr("NomprePersonal").ToString + + cevent.CveCompra = dr("CveCompra").ToString.ToEntero + cevent.SerieFolioCompra = dr("SerieFolioCompra").ToString + + cevent.CveVenta = dr("CveVenta").ToString.ToEntero + cevent.SerieFolioVenta = dr("SerieFolioVenta").ToString + + cevent.CveOS = dr("CveOS").ToString.ToEntero + cevent.CveOSDetalle = dr("CveOSDetalle").ToString.ToEntero + cevent.CveUsuarioAtendio = dr("CveUsuarioAtendio").ToString.ToEntero + cevent.CveSubProyectoUsuarioAtendio = dr("CveSubProyectoUsuarioAtendio").ToString.ToEntero + + cevent.NombreAcercamiento = dr("NombreAcercamiento").ToString + + cevent.CveActivoFijo = dr("CveActivoFijo").ToString.ToEntero + cevent.AFCodigo = dr("AFCodigo").ToString + + cevent.CveMovimiento = dr("CveMovimientoAlmacen").ToString.ToEntero + cevent.MovimientoFolio = dr("MovimientoFolio").ToString + + cevent.CveIE = dr("CveIE").ToString.ToEntero + cevent.FolioIE = dr("FolioIE").ToString + + + '11/05/2018 - Evento Gasto Recurrente + cevent.CveTipoEvento = dr("CveTipoEvento").ToString.ToEntero + If cevent.CveTipoEvento = 10 Then + cevent.Importe = dr("Importe").ToString.ToDouble + End If + + If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then + cevent.backgroundColor = "#1BBC9B" + End If + + If CveOS = -2 Then + cevent.backgroundColor = DT_SubProyectos.FiltroPrimeroValor("backgroundColor", $" CveSubProyecto = {cevent.CveSubProyectoUsuarioAtendio } ") + cevent.backgroundColor = If(cevent.backgroundColor.Trim = "", "#1BBC9B", cevent.backgroundColor.Trim) + End If + + + If usuarioActual_.Empresa.Funcionalidad(578) = "1" Then + + Dim colorString As String = dr("BackgroundColorOS").ToString.Trim + + If colorString.Length > 0 AndAlso IsValidHtmlColor(colorString) Then + cevent.backgroundColor = $"#{colorString}" + Else + If dr("TipoEstatusOS").ToString.ToEntero.Contiene(1, 2, 3) Then + cevent.backgroundColor = "#006699" + ElseIf dr("TipoEstatusOS").ToString.ToEntero.Contiene(4) Then + cevent.backgroundColor = "#025716" + ElseIf dr("TipoEstatusOS").ToString.ToEntero.Contiene(5) Then + cevent.backgroundColor = "#730505" + Else + cevent.backgroundColor = "#006699" + End If + End If + + + + End If + + 'VERIFICAMOS SI TIENE O NO RECURRENCIA + If Not cevent.recurrenciatipo > 0 Then + + 'AGREGAMOS CUANDO NO ES RECURRENTE + Dim tFecha As DateTime = DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA + If dr("FechaFin").ToString.ToDateTime > tFecha Or dr("FechaInicio").ToString.ToDateTime > tFecha Then + events.Add(cevent) + End If + Else + + 'EMPIEZA METODO PARA AGREGAR CUANDO SI ES RECURRENTE + + Dim FinRecurrencia As Integer = cevent.recurrenciafin.ToEntero + Dim FI As DateTime, FF As DateTime, FT As DateTime + Dim DiasSemana As String() = cevent.diassemana.Split(","c) + FI = cevent.start.ToDateTime + FF = cevent.end.ToDateTime + + 'OBTENEMOS LA FECHA TERMINO (FT) DE LA RECURRENCIA + Select Case FinRecurrencia + Case -1 + FT = DateAdd(DateInterval.Year, 2, dr("FechaInicio").ToString.ToDateTime) + Case 0 + FT = dr("RecurrenciaFin").ToString.ToDate + Case Is > 0 + FinRecurrencia -= 1 + Select Case cevent.recurrenciatipo + Case 1 + FT = DateAdd(DateInterval.Hour, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + Case 2 + FT = DateAdd(DateInterval.Day, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + Case 3 + FT = DateAdd(DateInterval.WeekOfYear, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + FT = DateAdd(DateInterval.Day, (7 - Weekday(FT)).ToString.ToDouble, FT) + Case 4 + FT = DateAdd(DateInterval.Month, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + Case 5 + FT = DateAdd(DateInterval.Year, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + End Select + End Select + + 'SI ES TIPO SEMANAL Y DIASSEMANA TIENE VALORES CHECKEA ESTOS VALORES + Do + If DiasSemana.Length > 0 AndAlso DiasSemana(0) <> "" Then + For Each drDias As String In DiasSemana + Dim FIT As Date = FI, FFT As Date = FF + + FIT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FI)).ToString.ToDouble, FI) + FFT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FF)).ToString.ToDouble, FF) + + cevent = New CalendarEvent() + cevent.id = dr("CveEvento").ToString.ToEntero + cevent.title = dr("Asunto").ToString + cevent.description = dr("Descripcion").ToString + cevent.start = String.Format("{0:s}", FIT) + cevent.end = String.Format("{0:s}", FFT) + cevent.allDay = False + cevent.CveEventoEstatus = dr("CveEventoEstatus").ToString.ToEntero + cevent.cveagendatipo = dr("CveAgendaTipo").ToString + cevent.prioridad = dr("CvePrioridad").ToString.ToEntero + cevent.backgroundColor = dr("BackGroundColor").ToString + + cevent.recurrenciatipo = dr("RecurrenciaTipo").ToString.ToEntero + cevent.frecuencia = dr("Frecuencia").ToString.ToEntero + cevent.diassemana = dr("DiasSemana").ToString + cevent.dia = dr("Dia").ToString.ToEntero + cevent.mes = dr("Mes").ToString.ToEntero + cevent.recurrenciafin = dr("RecurrenciaFin").ToString + cevent.CveProspecto = dr("CveProspecto").ToString.ToEntero + cevent.Prospecto = dr("Prospecto").ToString + + + + '11/05/2018 - Evento Gasto Recurrente + cevent.CveTipoEvento = dr("CveTipoEvento").ToString.ToEntero + If cevent.CveTipoEvento = 10 Then + cevent.Importe = dr("Importe").ToString.ToDouble + End If + + If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then + cevent.backgroundColor = "#1BBC9B" + End If + + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL Y/0 SI LA FECHA INICIAL DE LA RECURRENCIA ES MENOR A LA FECHA QUE SE CREO EL EVENTO NO LO AGREGA + If FIT > DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) And FIT >= dr("FechaInicio").ToString.ToDateTime Then + events.Add(cevent) + End If + Next + Else + cevent = New CalendarEvent() + cevent.id = dr("CveEvento").ToString.ToEntero + cevent.title = dr("Asunto").ToString + cevent.description = dr("Descripcion").ToString + cevent.start = String.Format("{0:s}", FI) + cevent.end = String.Format("{0:s}", FF) + cevent.allDay = False + cevent.CveEventoEstatus = dr("CveEventoEstatus").ToString.ToEntero + cevent.cveagendatipo = dr("CveAgendaTipo").ToString + cevent.prioridad = dr("CvePrioridad").ToString.ToEntero + cevent.backgroundColor = dr("BackGroundColor").ToString + + cevent.recurrenciatipo = dr("RecurrenciaTipo").ToString.ToEntero + cevent.frecuencia = dr("Frecuencia").ToString.ToEntero + cevent.diassemana = dr("DiasSemana").ToString + cevent.dia = dr("Dia").ToString.ToEntero + cevent.mes = dr("Mes").ToString.ToEntero + cevent.recurrenciafin = dr("RecurrenciaFin").ToString + cevent.CveProspecto = dr("CveProspecto").ToString.ToEntero + cevent.Prospecto = dr("Prospecto").ToString + + '11/05/2018 - Evento Gasto Recurrente + cevent.CveTipoEvento = dr("CveTipoEvento").ToString.ToEntero + If cevent.CveTipoEvento = 10 Then + cevent.Importe = dr("Importe").ToString.ToDouble + End If + + If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then + cevent.backgroundColor = "#1BBC9B" + End If + + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA + If FI > DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) Then + events.Add(cevent) + End If + End If + + Select Case cevent.recurrenciatipo + Case 1 + FI = DateAdd(DateInterval.Hour, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Hour, cevent.frecuencia, FF) + Case 2 + FI = DateAdd(DateInterval.Day, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Day, cevent.frecuencia, FF) + Case 3 + FI = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FF) + Case 4 + FI = DateAdd(DateInterval.Month, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Month, cevent.frecuencia, FF) + Case 5 + FI = DateAdd(DateInterval.Year, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Year, cevent.frecuencia, FF) + End Select + + Loop Until FI > FT + End If + End If + Next + Catch ex As Exception + GuardaLog(ex.ToString()) + End Try + End If + + End If + ObjEventos.Dispose() + Return ErrorEventos + End Function + + Private Function GetContratos(Optional context As HttpContext = Nothing) As Boolean + Dim ObjContratos As New ClsContratos + + events = New List(Of CalendarEvent) + + Dim DT_SubProyectos As New DataTable + Dim DT_EstatusOS As New DataTable + Dim usuarioActual_ As Usuario = UsuarioActual(context) + Dim ErrorEventos As Boolean = False + Dim tipoVista As String = context.Request("tipoVista") + DT_SubProyectos.Columns.Add("CveSubProyecto", GetType(Integer)) + DT_SubProyectos.Columns.Add("backgroundColor") + DT_EstatusOS.Columns.Add("", GetType(Integer)) + + If ObjContratos.GetContratos(-1, usuarioActual_.CveEmpresa, TipoContrato:=34) Then + + If ObjContratos.DtResultados.Rows.Count > 0 Then + + Try + For Each dr As DataRow In ObjContratos.DtResultados.Rows + Dim cevent As CalendarEvent = New CalendarEvent() + + cevent.id = dr("CveContrato").ToString.ToEntero + cevent.title = dr("DescripcionContrato").ToString + cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) + cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime)) + cevent.FechaFinal = String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime) + cevent.allDay = False + cevent.NombreAcercamiento = dr("Ubicacion").ToString + cevent.CveCliente = dr("CveCliente").ToString.ToEntero + cevent.NombreComercial = dr("NombreComercial").ToString + cevent.CvePersonal = dr("CveChofer").ToString.ToEntero + cevent.CvePersonal2 = dr("CveChofer2").ToString.ToEntero + cevent.CveEventoEstatus = dr("CveContratosEstatus").ToString.ToEntero + cevent.Dolares = dr("Importe").ToString.ToDecimal + cevent.Pesos = dr("ImporteMax").ToString.ToDecimal + cevent.Anticipo = dr("ImporteMin").ToString.ToDecimal + cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero + cevent.backgroundColor = dr("BackgroundColor").ToString + cevent.CantidadPasajeros = dr("CantidadPasajeros").ToString + cevent.NumeroContrato = dr("NumeroContrato").ToString + + If Not cevent.recurrenciatipo > 0 Then + + 'AGREGAMOS CUANDO NO ES RECURRENTE + Dim tFecha As DateTime = DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA + If dr("FechaFinal").ToString.ToDateTime > tFecha Or dr("FechaInicial").ToString.ToDateTime > tFecha Then + events.Add(cevent) + End If + Else + + 'EMPIEZA METODO PARA AGREGAR CUANDO SI ES RECURRENTE + + Dim FinRecurrencia As Integer = cevent.recurrenciafin.ToEntero + Dim FI As DateTime, FF As DateTime, FT As DateTime + Dim DiasSemana As String() = cevent.diassemana.Split(","c) + FI = cevent.start.ToDateTime + FF = cevent.end.ToDateTime + + 'OBTENEMOS LA FECHA TERMINO (FT) DE LA RECURRENCIA + Select Case FinRecurrencia + Case -1 + FT = DateAdd(DateInterval.Year, 2, dr("FechaInicial").ToString.ToDateTime) + Case Is > 0 + FinRecurrencia -= 1 + Select Case cevent.recurrenciatipo + Case 1 + FT = DateAdd(DateInterval.Hour, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + Case 2 + FT = DateAdd(DateInterval.Day, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + Case 3 + FT = DateAdd(DateInterval.WeekOfYear, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + FT = DateAdd(DateInterval.Day, (7 - Weekday(FT)).ToString.ToDouble, FT) + Case 4 + FT = DateAdd(DateInterval.Month, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + Case 5 + FT = DateAdd(DateInterval.Year, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + End Select + End Select + + 'SI ES TIPO SEMANAL Y DIASSEMANA TIENE VALORES CHECKEA ESTOS VALORES + Do + If DiasSemana.Length > 0 AndAlso DiasSemana(0) <> "" Then + For Each drDias As String In DiasSemana + Dim FIT As Date = FI, FFT As Date = FF + + FIT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FI)).ToString.ToDouble, FI) + FFT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FF)).ToString.ToDouble, FF) + + cevent = New CalendarEvent() + cevent.id = dr("CveContrato").ToString.ToEntero + cevent.description = dr("DescripcionContrato").ToString + cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) + cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime)) + cevent.allDay = False + cevent.CveCliente = dr("CveCliente").ToString.ToEntero + cevent.NombreComercial = dr("NombreComercial").ToString + cevent.NombreAcercamiento = dr("Ubicacion").ToString + cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero + cevent.CvePersonal = dr("CveChofer").ToString.ToEntero + + + '11/05/2018 - Evento Gasto Recurrente + cevent.CveTipoEvento = dr("CveTipoEvento").ToString.ToEntero + If cevent.CveTipoEvento = 10 Then + cevent.Importe = dr("Importe").ToString.ToDouble + End If + + If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then + cevent.backgroundColor = "#1BBC9B" + End If + + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL Y/0 SI LA FECHA INICIAL DE LA RECURRENCIA ES MENOR A LA FECHA QUE SE CREO EL EVENTO NO LO AGREGA + If FIT > DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) And FIT >= dr("FechaInicial").ToString.ToDateTime Then + events.Add(cevent) + End If + Next + Else + cevent = New CalendarEvent() + cevent.id = dr("CveContrato").ToString.ToEntero + cevent.description = dr("DescripcionContrato").ToString + cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) + cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime)) + cevent.NombreAcercamiento = dr("Ubicacion").ToString + cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero + cevent.allDay = False + + + + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA + If FI > DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) Then + events.Add(cevent) + End If + End If + + Select Case cevent.recurrenciatipo + Case 1 + FI = DateAdd(DateInterval.Hour, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Hour, cevent.frecuencia, FF) + Case 2 + FI = DateAdd(DateInterval.Day, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Day, cevent.frecuencia, FF) + Case 3 + FI = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FF) + Case 4 + FI = DateAdd(DateInterval.Month, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Month, cevent.frecuencia, FF) + Case 5 + FI = DateAdd(DateInterval.Year, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Year, cevent.frecuencia, FF) + End Select + + Loop Until FI > FT + End If + Next + Catch ex As Exception + GuardaLog(ex.ToString()) + End Try + End If + + End If + ObjContratos.Dispose() + Return ErrorEventos + End Function + + ReadOnly Property UsuarioActual(ByVal context As HttpContext) As Usuario + Get + UsuarioActual = DirectCast(If(context IsNot Nothing, context.Session("UsuarioSIG"), Nothing), Usuario) + End Get + End Property + + Private Function IsValidHtmlColor(colorString As String) As Boolean + Try + Dim color As System.Drawing.Color = System.Drawing.ColorTranslator.FromHtml(colorString) + ' Si no se produce una excepción, el color es válido + Return True + Catch ex As Exception + ' Se produce una excepción, el color no es válido + Return False + End Try + End Function + + +End Class diff --git a/Ashx/GenerarPDFFactura.ashx b/Ashx/GenerarPDFFactura.ashx index 0ccfd7b5e..c6d59baaf 100644 --- a/Ashx/GenerarPDFFactura.ashx +++ b/Ashx/GenerarPDFFactura.ashx @@ -161,8 +161,8 @@ Public Class GenerarPDFFactura : Implements IHttpHandler Dim rutaReporte As String = "Empresas\Grales\Formatos\FacturaSALI.rdlc" - Dim cQr As Byte() = ClsPaginas.GeneraQRSAT(objxml.emisor.Rfc, objxml.receptor.Rfc, objxml.comprobante.Total, objxml.complemento.UUID) - + Dim QR As ClbNegBICFDv3_2.ClsNegCBBGenerar = New ClbNegBICFDv3_2.ClsNegCBBGenerar() + Dim cQr As Byte() = QR.GenerarCBBBytes(objxml.emisor.Rfc, objxml.receptor.Rfc, objxml.comprobante.Total, objxml.complemento.UUID) Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter)() parametros.Add(New ReportParameter("comprobante_Certificado", objxml.comprobante.Certificado)) parametros.Add(New ReportParameter("comprobante_CondicionesDePago", objxml.comprobante.CondicionesDePago)) diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx index 47b1d2821..6985e8f7f 100644 --- a/Ashx/SIGWeb.ashx +++ b/Ashx/SIGWeb.ashx @@ -759,7 +759,9 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState End If Dim EsDistribuidor As Integer = IfNull(context.Request("esdistribuidor"), "-1").ToString.ToEntero + Dim cveclienteclasificacion = IfNull(context.Request("cveclienteclasificacion"), "-1").ToString.ToEntero + Dim usuario As Usuario = UsuarioActual(context) Dim CveEmpresa As Integer If IsNothing(usuario) Then @@ -797,7 +799,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState Else context.Response.Write("[]") End If - If DtRetorno IsNot Nothing Then DtRetorno.Dispose() + DtRetorno.Dispose() DtRetorno = Nothing Return retorno @@ -810,17 +812,17 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState Dim DtRetorno As DataTable = Nothing - Dim Estatus = IfNull(context.Request("estatus"), "-1").ToString.ToEntero + Dim Estatus = IfNull(context.Request("estatus"), "-1").ToString.ToEntero - Dim filtro As String = "" + Dim filtro As String = "" - If Estatus = 1 Then - filtro = " Estatus = 'Activo' " - End If + If Estatus = 1 Then + filtro = " Estatus = 'Activo' " + End If - If Estatus = 0 Then - filtro = " Estatus = 'Inactivo' " - End If + If Estatus = 0 Then + filtro = " Estatus = 'Inactivo' " + End If Dim usuario As Usuario = UsuarioActual(context) Dim CveEmpresa As Integer @@ -995,12 +997,11 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState End Try End If - - If usuario.Empresa.Funcionalidad(578) = "1" AndAlso DtPSRetorno IsNot Nothing Then - 'solo muestar productos con existencia. - DtPSRetorno = DtPSRetorno.FiltraParametros("ExistenciaTotal > 0") - End If - If DtPSRetorno IsNot Nothing AndAlso DtPSRetorno.Columns("ExistenciaTotal") IsNot Nothing Then DtPSRetorno.Columns.Remove("ExistenciaTotal") + If usuario.Empresa.Funcionalidad(578) = "10" AndAlso DtPSRetorno IsNot Nothing Then + 'solo muestar productos con existencia. + DtPSRetorno = DtPSRetorno.FiltraParametros("ExistenciaTotal > 0") + End If + If DtPSRetorno IsNot Nothing ANDALSO DtPSRetorno.Columns("ExistenciaTotal") IsNot Nothing Then DtPSRetorno.Columns.Remove("ExistenciaTotal") If UsaGlobal Then 'se recarga el global, y el clspaginas, son los unicos 2 lugares diff --git a/Bancos/Creditos.aspx.vb b/Bancos/Creditos.aspx.vb index 6d1bb5b0a..4cee9e5da 100644 --- a/Bancos/Creditos.aspx.vb +++ b/Bancos/Creditos.aspx.vb @@ -965,7 +965,7 @@ Partial Class Bancos_Creditos If CveCredito > 0 Then If ObjCredito.UpdateCreditos(CveCredito, DdlTipoCredito.SelectedValue.ToEntero, TxtReferencia.Text, TxtObservaciones.Text, -1, -1, -1, DdlTipoMoneda.SelectedValue.ToEntero, TxtFechaInicio.Text.ToString.ToDate, FechaVencimiento, TxtTasa.Text.Trim.ToDouble, TxtSobreTasa.Text.Trim.ToDouble, TxtIVA.Text.ToDouble / 100, TxtPlazo.Text.Trim.ToEntero, -1, TxtVehiculoValor.Text.ToString.ToDouble, TxtComisionValor.Text.ToString.ToDouble, TxtSeguroMensual.Text.ToString.ToDouble, TxtOtrosGastosValor.Text.ToString.ToDouble, - DdlProveedores.SelectedValue.ToEntero, RBLClasificacionContable.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, AplicaAnticipo:=If(RBLAnticipo.SelectedValue.ToEntero = 1, True, False), + DdlProveedores.SelectedValue.ToEntero, RBLClasificacionContable.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, AplicaAnticipo:=If(RBLAnticipo.SelectedValue.ToEntero = 1, True, False), CreditoAnticipo:=TxtVehiculoAnticipo.Text.ToDouble, ComisionAnticipo:=TxtComisionAnticipo.Text.ToDouble, SeguroAnticipo:=TxtSeguroAnticipo.Text.ToDouble, OtrosGastosAnticipo:=TxtOtrosGastosAnticipo.Text.ToDouble, FondoGarantia:=TxtFondoGarantia.Text.ToDouble, SeguroValor:=TxtSeguroValor.Text.ToDouble, TipoInteres:=ChkTipoInteres.Checked) Then If RegeneraTablaAmortizacion Then diff --git a/Bancos/CuentasBancarias.aspx b/Bancos/CuentasBancarias.aspx index 400814a62..e1edc5be1 100644 --- a/Bancos/CuentasBancarias.aspx +++ b/Bancos/CuentasBancarias.aspx @@ -25,15 +25,15 @@ -
- " style="display: inline-block; margin-right: -20px; width: 150px;" /> - " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> -
- +
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+ + CssClass="table table-striped table-advance table-hover ScrollAD" Style="text-align: center;" GridLines="None" Width="100%"> diff --git a/Bancos/CuentasBancariasDetalle.aspx b/Bancos/CuentasBancariasDetalle.aspx index 2f73ed70c..3dfb2c2d0 100644 --- a/Bancos/CuentasBancariasDetalle.aspx +++ b/Bancos/CuentasBancariasDetalle.aspx @@ -396,7 +396,7 @@ - + diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index d0b7b970b..355064115 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -84,7 +84,10 @@ Partial Class Bancos_DepositosCaja Else DivRowCuenta.Visible = False DivDescuentocheck.Visible = False - End If + End If + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + DivRowCuenta.Visible = True + End If End If If UsuarioActual.CveEmpresa.Contiene(140, 141) Then divTipoPago.Visible = False : divTipoPago1.Visible = False diff --git a/Bancos/Devoluciones.aspx b/Bancos/Devoluciones.aspx index 512e5d298..e495ba9a0 100644 --- a/Bancos/Devoluciones.aspx +++ b/Bancos/Devoluciones.aspx @@ -159,8 +159,8 @@
-
- +
+
diff --git a/Bancos/Devoluciones.aspx.cs b/Bancos/Devoluciones.aspx.cs index 67049b026..4ab715711 100644 --- a/Bancos/Devoluciones.aspx.cs +++ b/Bancos/Devoluciones.aspx.cs @@ -24,7 +24,7 @@ public partial class Bancos_Devoluciones : ClsPaginas TxtComisiones.Attributes.Add("disabled", "disabled"); TxtTotal.Attributes.Add("disabled", "disabled"); TipoDevolucion.SelectedValue = "1"; - CargarCentrosDeCosto(null, null, null, LblSubProyecto); + CargarCentrosDeCosto(null, null, null, LblSubProyecto); } } diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 12275d7f1..37fce5bfc 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -26,7 +26,9 @@ - +
  • + Póliza +
  • @@ -60,12 +62,7 @@
  • Envíar Comprobante Mail
  • -
  • - Ver Póliza -
  • -
  • - Imprimir Póliza -
  • +
  • diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 8cec942a6..b419b6dd1 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -863,8 +863,6 @@ Partial Class Bancos_IE ViewState("CvePrePoliza") = ObjIE.DtResultados.Rows(0)("CvePrePoliza").ToString.ToEntero HpLPrePoliza.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ViewState("CvePrePoliza")) HpLPrePoliza.Visible = True - LnkDescargaPoliza.Visible = True - LnkDescargaPoliza.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=PREPO&CvePrePoliza={0}", ViewState("CvePrePoliza")))}" TxtFechaDocumento.Text = ObjIE.FechaDocumento.ToShortDateString TxtFolio.Text = ObjIE.Folio LblBeneficiario.Text = ObjIE.PagueseA diff --git a/Bancos/PopIECompras.aspx b/Bancos/PopIECompras.aspx index 09ee2d437..862cb5f76 100644 --- a/Bancos/PopIECompras.aspx +++ b/Bancos/PopIECompras.aspx @@ -707,7 +707,7 @@ if ($("#" + Chk.id).is(":checked")) { $('#' + Obj).attr('disabled', false); if (ToDouble($get('TxtImporte').value) != total) { - + debugger; if ((ToDouble($get('TxtImporte').value) + saldo) > total) { $('#' + Obj).val(saldo - (ToDouble($get('TxtImporte').value) + saldo - total)); $get('TxtImporte').value = (total / TC).toFixed(2) diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 8e54d2bb1..5d3eb3332 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -351,14 +351,6 @@ Partial Class Bancos_PopIECompras TxtTipoCambio.Text = GlobalTipoCambio(NowADS()).FormatoNumero(4) End If UpDatos.Update() - - If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then - If Not UsuarioActual.TienePermisoProceso(404) Then - TxtFechaDocumento.Enabled = False - ImgCalendario.Visible = False - End If - End If - End If End Sub diff --git a/Bancos/RepCortes.aspx b/Bancos/RepCortes.aspx index c6a670687..0f8f26f74 100644 --- a/Bancos/RepCortes.aspx +++ b/Bancos/RepCortes.aspx @@ -80,7 +80,7 @@
  • - F.Inicio.: + F.I.:
    @@ -98,7 +98,7 @@
    - F.Fin.: + F.F.:
    diff --git a/Bancos/RepSaldosDetalle.aspx b/Bancos/RepSaldosDetalle.aspx index 6cf7d727c..fa04bace0 100644 --- a/Bancos/RepSaldosDetalle.aspx +++ b/Bancos/RepSaldosDetalle.aspx @@ -55,6 +55,7 @@ + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index a761d1938..908a8771d 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -5883,6 +5883,15 @@ Partial Class Compras_Compras ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 68, ObjInventario.Folio.ToString, ObjInventario.Folio.ToString, CveMovimientoAlmacen:=CveMovimientoInventario) End If + If Not ErrorMovInv Then + 'REPLICAR MOVTO GENERADO + If UsuarioActual.CveEmpresa = 199 AndAlso CveMovimientoInventario > 0 Then + If Not ObjInventario.ReplicarMovtoEmpresa(UsuarioActual.CveEmpresa, CveMovimientoInventario) Then + ErrorMovInv = True + End If + End If + End If + End If Next End If @@ -13910,6 +13919,15 @@ Partial Class Compras_Compras End If Next End If + + If Not ErrorMovInv Then + 'REPLICAR MOVTO GENERADO + If UsuarioActual.CveEmpresa = 199 AndAlso CveMovimientoEntrada > 0 Then + If Not ObjInventario.ReplicarMovtoEmpresa(UsuarioActual.CveEmpresa, CveMovimientoEntrada) Then + ErrorMovInv = True + End If + End If + End If Else ErrorMovInv = True Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) @@ -14587,6 +14605,15 @@ Partial Class Compras_Compras End If End If + + If Not ErrorCancelar Then + 'REPLICAR MOVTO GENERADO + If UsuarioActual.CveEmpresa = 199 AndAlso CveMovimientoEntrada > 0 Then + If Not ObjInventario.ReplicarMovtoEmpresa(UsuarioActual.CveEmpresa, CveMovimientoEntrada) Then + ErrorCancelar = True + End If + End If + End If Next End If @@ -19414,6 +19441,15 @@ Partial Class Compras_Compras Respuesta = False End If + If Not Respuesta Then + 'REPLICAR MOVTO GENERADO + If UsuarioActual.CveEmpresa = 199 AndAlso CveMovimientoSalida > 0 Then + If Not ObjInventario.ReplicarMovtoEmpresa(UsuarioActual.CveEmpresa, CveMovimientoSalida) Then + Respuesta = False + End If + End If + End If + End If If Respuesta Then diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index de7484148..cc779f1fa 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -3163,7 +3163,7 @@ Partial Class PopUpVerFactura If UsuarioActual.CveEmpresa.Contiene(4, 145) Then params.Add(New ReportParameter("FacturadoA", If(CveCompra > 0, dr("RazonSocial").ToString, ""))) End If - If UsuarioActual.CveEmpresa = 119 Then + If UsuarioActual.CveEmpresa.Contiene(119, 199, 201) Then params.Add(New ReportParameter("LogoPath", RutaImagenLogo)) params.Add(New ReportParameter("RazonSocialOC", RazonSocialOC)) @@ -3181,7 +3181,7 @@ Partial Class PopUpVerFactura If CveConcepto = 33 Then ConceptoFormato = "ENTRADA MANUAL" 'IMPRESION ESPECIAL SALIDA DE COMPUPROVEEDORES y VSH - If UsuarioActual.CveEmpresa.Contiene(72, 80, 119, 4, 145, 146, 186, 193, 189) Then + If UsuarioActual.CveEmpresa.Contiene(72, 80, 119, 4, 145, 146, 186, 193, 189, 199, 201) Then params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("Concepto", ConceptoFormato)) params.Add(New ReportParameter("Almacen", Almacen)) @@ -3394,7 +3394,7 @@ Partial Class PopUpVerFactura If Archivo.Exists Then 'IMPRESION ESPECIAL SALIDA DE COMPUPROVEEDORES y VSH - If UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 4, 145, 146, 186) Then + If UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 4, 145, 146, 186, 199, 201) Then Dim CiudadSucursal As String = "" Dim DomicilioSucursal As String = "" Dim DomicilioCliente As String = String.Format("{0} #{1}, {2}, Col. {3}, CP: {4}, {5}, {6}", DtMovimientos(0)("SucClienteDireccion").ToString, DtMovimientos(0)("SucClienteNoExt").ToString, DtMovimientos(0)("SucClienteNoInt").ToString, DtMovimientos(0)("SucClienteColonia"), DtMovimientos(0)("SucClienteCP").ToString, DtMovimientos(0)("SucClienteCiudad"), DtMovimientos(0)("SucClientePais").ToString) diff --git a/Compras/Proveedores.aspx b/Compras/Proveedores.aspx index f1f241e4d..1801c70c2 100644 --- a/Compras/Proveedores.aspx +++ b/Compras/Proveedores.aspx @@ -2053,7 +2053,7 @@ + DataKeyNames="CveDocumentacion,Documentacion,Orden,CveDocumentacionElectronica,Adjunto,Estatus,Observacion,Fecha,FechaIng,Usuario,FechaLimite,FechaVigencia,DiasLimite,AplicaDiasLimite,AplicaFechaVencimiento"> @@ -2093,17 +2093,20 @@ CssClass="btn btn-circle btn-sm green" Text="" /> - + - - - - - + + + + + + + + --%>
    - +
    F. I. Captura
    +
    +
    + + + + + + + + + + +
    +
    +
    F. F. Captura:
    +
    +
    + + + + + + + + + + +
    +
    Moneda:
    -
    Tipo de Prov:
    +
    Tipo de Proveedor:
    @@ -190,18 +219,14 @@
    -
    Tipo Docto:
    -
    - +
    +
    +
    Capturó:
    +
    + - - - -
    -
    -
    Responsable:
    @@ -214,45 +239,17 @@ --%> -
    -
    -
    -
    Capturó:
    -
    - - - -
    -
    F. I. Captura
    -
    -
    - - - - - - - - - - -
    -
    -
    F. F. Captura:
    -
    -
    - - - - - - - - - - -
    -
    +
    +
    Tipo Docto:
    +
    + + + + + + + +
    diff --git a/Compras/RepCxPDetalle.aspx.vb b/Compras/RepCxPDetalle.aspx.vb index a64a043e8..f7927f7b0 100644 --- a/Compras/RepCxPDetalle.aspx.vb +++ b/Compras/RepCxPDetalle.aspx.vb @@ -242,8 +242,7 @@ Partial Class RepCxPDetalle 'Private ReadOnly Property ColumnasVisibles As Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load - - AgregarChecksRangos() 'Esto requiere generarse en cada postaback + AgregarChecksRangos() If Not IsPostBack Then SePersonalizo = 0 diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb index ed89558d0..286f7dc18 100644 --- a/Compras/RepNotasCredito.aspx.vb +++ b/Compras/RepNotasCredito.aspx.vb @@ -58,7 +58,7 @@ Partial Class Compras_RepNotasCredito If Tab.ActiveTabIndex = 0 Then CargaDatos() Else - CargaDatosRNC() + CargaDatosRemisiones() End If End Sub @@ -142,7 +142,7 @@ Partial Class Compras_RepNotasCredito #Region "REMISIONES" - Private Sub CargaDatosRNC() + Private Sub CargaDatosRemisiones() DtDatosRemisiones = New DataTable GvRemisiones.DataSource = Nothing Dim ObjCompras As New ClsCompras diff --git a/Compras/RepProductosServiciosDetalle.aspx b/Compras/RepProductosServiciosDetalle.aspx index 1869066d7..1107a2db1 100644 --- a/Compras/RepProductosServiciosDetalle.aspx +++ b/Compras/RepProductosServiciosDetalle.aspx @@ -261,19 +261,19 @@ - + + - + + - - - + - + diff --git a/Compras/RepProductosServiciosDetalle.aspx.vb b/Compras/RepProductosServiciosDetalle.aspx.vb index 19ca0a061..2288c44b6 100644 --- a/Compras/RepProductosServiciosDetalle.aspx.vb +++ b/Compras/RepProductosServiciosDetalle.aspx.vb @@ -118,7 +118,6 @@ Partial Class Compras_RepProductosServiciosDetalle If CveCultivo.Length > 0 AndAlso FechaI = "-1" AndAlso Anio = "-1" AndAlso Mes = "-1" AndAlso AnioMes = "-1" Then txtFechaI.Text = "01/01/1900" End If - If Fecha <> "-1" Then txtFechaI.Text = Fecha txtFechaF.Text = Fecha diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 91cba7038..150fa2d97 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -762,7 +762,7 @@ Partial Class Compras_eFacturas Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then - 'EsGrupoDiaz = False ' If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False) + 'EsGrupoDiaz = If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False) ChecandoCorreo = False diff --git a/Contabilidad/ContabilidadElectronica.aspx.vb b/Contabilidad/ContabilidadElectronica.aspx.vb index b6fca602a..6774efaa5 100644 --- a/Contabilidad/ContabilidadElectronica.aspx.vb +++ b/Contabilidad/ContabilidadElectronica.aspx.vb @@ -178,16 +178,16 @@ Partial Class Contabilidad_ContabilidadElectronica Dim DtCuentas As New DataTable If UsuarioActual.Empresa.TipoContabilidad = 1 Then Dim objconta As New ClsContabilidad - If objconta.GetBalanzaComprobacion(FechaI, FechaF, 1, 1, -1, -1, UsuarioActual.CveEmpresa, 0) Then + If objconta.GetBalanzaComprobacion(FechaI, FechaF, 1, -1, -1, -1, UsuarioActual.CveEmpresa, 0) Then DtCuentas = objconta.DtResultados End If objconta.Dispose() If DtCuentas IsNot Nothing Then - Dim Deudor As Decimal = DtCuentas.SUM("SaldoAD", "Id is null") - Dim Acreedor As Decimal = DtCuentas.SUM("SaldoAA", "Id is null") + Dim Deudor As Decimal = DtCuentas.SUM("SaldoAD") + Dim Acreedor As Decimal = DtCuentas.SUM("SaldoAA") If Deudor <> Acreedor Then - Alert("los Saldos Actuales no cuadran. " & Deudor - Acreedor, TipoMensaje.MsgError) + Alert("los Saldos Actuales no cuadran.", TipoMensaje.MsgError) Exit Sub End If End If diff --git a/Contabilidad/DiarioPagos.aspx.vb b/Contabilidad/DiarioPagos.aspx.vb index a614dce7f..b92daaddf 100644 --- a/Contabilidad/DiarioPagos.aspx.vb +++ b/Contabilidad/DiarioPagos.aspx.vb @@ -711,7 +711,7 @@ Partial Class Contabilidad_DiarioPagos 'cuando el anticipo no paga toda la factura y no esta contabilizada If AbonoAnticipo < CompraTotal AndAlso Not EsContabilizada Then AbonoProveedor = CompraTotal - AbonoAnticipo 'ejecuta la instruccion para contabilizar la prepoliza de amortizacion cuando es unica, es decir se hace al final del cheque, luego otra prepoliza con la compra y tercera la amortizacion - If Not Bancos.UpdateCompraPrePoliza(Fecha, NumPoliza, IDPoliza, gvrc.FCHiddenField("HdnCveCompra").Value.ToEntero, CvePlantillaPoliza) Then MsgError = "Error al actualizar compra" : Exit For Else PolizaActualizada = True + If Not Bancos.UpdateCompraPrePoliza(TxtFecha.Text.ToDate, NumPoliza, IDPoliza, gvrc.FCHiddenField("HdnCveCompra").Value.ToEntero, CvePlantillaPoliza) Then MsgError = "Error al actualizar compra" : Exit For Else PolizaActualizada = True Case 2, 1 TotalProveedores = TotalBancos @@ -721,7 +721,7 @@ Partial Class Contabilidad_DiarioPagos IdCuentaProveedor = gvrc.FCHiddenField("HdnIdCtaContProveedores").Value.ToEntero Case 20 'contabilizo la prepoliza - If Not Bancos.UpdateCompraPrePoliza(Fecha, NumPoliza, IDPoliza, gvrc.FCHiddenField("HdnCveCompra").Value.ToEntero, CvePlantillaPoliza) Then MsgError = "Error al actualizar compra" : Exit For Else PolizaActualizada = True + If Not Bancos.UpdateCompraPrePoliza(TxtFecha.Text.ToDate, NumPoliza, IDPoliza, gvrc.FCHiddenField("HdnCveCompra").Value.ToEntero, CvePlantillaPoliza) Then MsgError = "Error al actualizar compra" : Exit For Else PolizaActualizada = True Case 8 'FyE AbonoFuncionario = CompraPagadoTotal @@ -803,7 +803,7 @@ Partial Class Contabilidad_DiarioPagos Next 'debe de actualizar - If Not Bancos.UpdateCompraPrePoliza(Fecha, NumPoliza, IDPoliza, gvrc.FCHiddenField("HdnCveCompra").Value.ToEntero) Then + If Not Bancos.UpdateCompraPrePoliza(TxtFecha.Text.ToDate, NumPoliza, IDPoliza, gvrc.FCHiddenField("HdnCveCompra").Value.ToEntero) Then 'ya esta corriendo un proceso que actualiza la 'If Not PolizaActualizada Then MsgError = "Error al actualizar compra" : Exit For End If diff --git a/Contabilidad/FiltraPolizas.aspx b/Contabilidad/FiltraPolizas.aspx index 993ff84f8..8d4cd1cf5 100644 --- a/Contabilidad/FiltraPolizas.aspx +++ b/Contabilidad/FiltraPolizas.aspx @@ -183,7 +183,7 @@ - + diff --git a/Contabilidad/LibroDiario.aspx b/Contabilidad/LibroDiario.aspx new file mode 100644 index 000000000..1c7f57634 --- /dev/null +++ b/Contabilidad/LibroDiario.aspx @@ -0,0 +1,114 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="LibroDiario.aspx.vb" Inherits="Contabilidad_LibroDiario" %> + + + + + + + +
  • + Generar EXCEL +
  • +
  • + Imprimir +
  • +
    + + + + +
    +
    + + Libro Diario + + + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + + + + + + + + + + +
    +
    + +
    +
    + + + + + + + + + + +
    +
    +
    +
    +
    +
    + +
    +
    + + <%--
    +
    Buscar : + +
    --%> + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + diff --git a/Contabilidad/LibroDiario.aspx.vb b/Contabilidad/LibroDiario.aspx.vb new file mode 100644 index 000000000..3ba05710a --- /dev/null +++ b/Contabilidad/LibroDiario.aspx.vb @@ -0,0 +1,261 @@ +Option Explicit On +Option Strict On +Imports System.Collections.Generic +Imports System.Data +Imports Extensiones +Imports System.Activities.Statements +Imports Microsoft.Reporting.WebForms +Imports System + +Partial Class Contabilidad_LibroDiario + Inherits ClsPaginas + +#Region "PROPIEDADES" + Private Property DtDatos As DataTable + Get + DtDatos = DirectCast(ViewState("DtDatos"), DataTable) + End Get + + Set(ByVal value As DataTable) + ViewState("DtDatos") = value + End Set + End Property + Private Property FechaInicio As Date + Get + FechaInicio = ViewState("FechaInicio").ToString.ToDate + End Get + Set(value As Date) + ViewState("FechaInicio") = value + End Set + End Property + Private Property FechaFin As Date + Get + FechaFin = ViewState("FechaFin").ToString.ToDate + End Get + Set(value As Date) + ViewState("FechaFin") = value + End Set + End Property + Private Property IdCuenta As Integer + Get + IdCuenta = ViewState("IdCuenta").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("IdCuenta") = value + End Set + End Property +#End Region + + Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load + If Not Page.IsPostBack Then + + InicializaValores() + + BtnConsultar.Enabled = True + 'If UsuarioActual.Empresa.UsaAC Then + ' BtnConsultar.Enabled = True + 'Else + ' Alert("La empresa no usa Armonización Contable", TipoMensaje.MsgError) + 'End If + + End If + End Sub + + Private Sub InicializaValores() + + TxtFechaDel.Text = $"01/01/{NowADS().Year}" + TxtFechaAl.Text = NowADS().ToShortDateString + End Sub + + Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) + CargaDatos() + End Sub + +#Region "C A R G A - D A T O S" + Private Sub CargaDatos() + + FechaInicio = If(IsDate(TxtFechaDel.Text), TxtFechaDel.Text.ToDate, MinFecha) + FechaFin = If(IsDate(TxtFechaAl.Text), TxtFechaAl.Text.ToDate, MaxFecha) + + 'FechaInicio = New Date(2016, 1, 1) + 'FechaFin = New Date(2016, 1, 31) + + + If UsuarioActual.Empresa.TipoContabilidad = 1 Then + + Dim ObjConta As New ClsContabilidad + If ObjConta.GetLibroDiarioSIG(FechaInicio, FechaFin, UsuarioActual.CveEmpresa) Then + DtDatos = ObjConta.DtResultados + Else + DtDatos = Nothing + End If + ObjConta.Dispose() + + Else + Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) + If ObjConta.GetLibroDiario(FechaInicio, FechaFin) Then + DtDatos = ObjConta.DtResultados + Else + DtDatos = Nothing + End If + ObjConta.Dispose() + End If + + + + + If DtDatos IsNot Nothing Then + ImgExcel.Visible = True + Imprimir.Visible = True + CargaGrid() + Else + ImgExcel.Visible = False + Imprimir.Visible = False + End If + + End Sub +#End Region + + +#Region "G R I D - GV DATOS" + Private Sub CargaGrid() + GvDatos.DataSource = DtDatos + GvDatos.DataBind() + UpDatos.Update() + End Sub + Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + + + ''CABECERA + 'If e.Row.DBCampo("Concepto").ToString <> "" And e.Row.DBCampo("Id").ToString = "" Then + ' e.Row.Font.Bold = True + ' e.Row.Cells(4).Text = "" + ' e.Row.Cells(5).Text = "" + ' e.Row.Cells(6).Text = "" + ' e.Row.Cells(7).Text = "" + ' e.Row.Cells(8).Text = "" + ' e.Row.CssClass = "SubTotales" ' + 'End If + + ''DETALLE + 'If e.Row.DBCampo("Codigo").ToString <> "" Then + ' e.Row.Cells(0).Text = "" + ' e.Row.Cells(1).Text = "" + ' e.Row.Cells(2).Text = "" + ' e.Row.Cells(3).Text = "" + 'End If + + ''SUBTOTAL + 'If e.Row.DBCampo("Fecha").ToString <> "" And e.Row.DBCampo("Concepto").ToString = "" Then + ' e.Row.Font.Bold = True + ' e.Row.Cells(0).Text = "" + ' e.Row.Cells(1).Text = "" + ' e.Row.Cells(2).Text = "" + ' e.Row.Cells(3).Text = "" + ' e.Row.Cells(4).Text = "" + ' e.Row.Cells(5).Text = "" + ' e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right + ' e.Row.Cells(6).Text = "Total:" + ' e.Row.CssClass = "SubTotales" + 'End If + + ''TOTAL + 'If e.Row.DBCampo("Fecha").ToString = "" Then + ' e.Row.Font.Bold = True + ' e.Row.Cells(0).Text = "" + ' e.Row.Cells(1).Text = "" + ' e.Row.Cells(2).Text = "" + ' e.Row.Cells(3).Text = "" + ' e.Row.Cells(4).Text = "" + ' e.Row.Cells(5).Text = "" + ' e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right + ' e.Row.Cells(6).Text = "Total:" + ' e.Row.CssClass = "Totales" + 'End If + + 'CABECERA + If e.Row.DBCampo("TipoRenglon").ToString.ToEntero = 1 Then + e.Row.Font.Bold = True + e.Row.Cells(4).Text = "" + e.Row.Cells(5).Text = "" + e.Row.Cells(6).Text = "" + e.Row.Cells(7).Text = "" + e.Row.Cells(8).Text = "" + e.Row.CssClass = "SubTotales" ' + End If + + 'DETALLE + If e.Row.DBCampo("TipoRenglon").ToString.ToEntero = 2 Then + e.Row.Cells(0).Text = "" + e.Row.Cells(1).Text = "" + e.Row.Cells(2).Text = "" + e.Row.Cells(3).Text = "" + End If + + 'SUBTOTAL + If e.Row.DBCampo("TipoRenglon").ToString.ToEntero = 3 Then + e.Row.Font.Bold = True + e.Row.Cells(0).Text = "" + e.Row.Cells(1).Text = "" + e.Row.Cells(2).Text = "" + e.Row.Cells(3).Text = "" + e.Row.Cells(4).Text = "" + e.Row.Cells(5).Text = "" + e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right + e.Row.Cells(6).Text = "Total:" + e.Row.CssClass = "SubTotales" + End If + + 'TOTAL + If e.Row.DBCampo("TipoRenglon").ToString.ToEntero = 4 Then + e.Row.Font.Bold = True + e.Row.Cells(0).Text = "" + e.Row.Cells(1).Text = "" + e.Row.Cells(2).Text = "" + e.Row.Cells(3).Text = "" + e.Row.Cells(4).Text = "" + e.Row.Cells(5).Text = "" + e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right + e.Row.Cells(6).Text = "Total:" + e.Row.CssClass = "Totales" + End If + + End If + End Sub + +#End Region + + +#Region " IMPRIMIR " + + Protected Sub Imprimir_click(sender As Object, e As EventArgs) Handles Imprimir.Click + 'FechaInicio = If(TxtFechaDel.Text = "" Or TxtFechaDel.Text = "__/__/____", NowADS(), TxtFechaDel.Text.ToDate) + 'FechaFin = If(TxtFechaAl.Text = "" Or TxtFechaAl.Text = "__/__/____", NowADS(), TxtFechaAl.Text.ToDate) + 'DtDatos = DtDatos + ImprimirReporte() + End Sub + + Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click + 'FechaInicio = If(TxtFechaDel.Text = "" Or TxtFechaDel.Text = "__/__/____", NowADS(), TxtFechaDel.Text.ToDate) + 'FechaFin = If(TxtFechaAl.Text = "" Or TxtFechaAl.Text = "__/__/____", NowADS(), TxtFechaAl.Text.ToDate) + 'DtDatos = DtDatos + ImprimirReporte("EXCEL") + End Sub + + Private Sub ImprimirReporte(Optional Formato As String = "PDF") + Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") + 'Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + + Dim lista = New List(Of CrystalParametro) + lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) + lista.Add(New CrystalParametro("FechaInicio", FechaInicio.ToString("dd/MM/yyyy"))) + lista.Add(New CrystalParametro("FechaFin", FechaFin.ToString("dd/MM/yyyy"))) + lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) + lista.Add(New CrystalParametro("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) + + ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/Grales/Formatos/LibroDiario.rpt"), DtDatos, lista, "LibroDiario", Formato), "LibroDiario", Formato) + End Sub +#End Region + +End Class diff --git a/Contabilidad/RegPoliza.aspx.vb b/Contabilidad/RegPoliza.aspx.vb index 431bf440c..99c7192d4 100644 --- a/Contabilidad/RegPoliza.aspx.vb +++ b/Contabilidad/RegPoliza.aspx.vb @@ -152,7 +152,7 @@ Partial Class RegPoliza Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.LoadComplete If Not IsPostBack Then - If UsuarioActual.Empresa.TipoContabilidad = 1 Then Response.Redirect($"/Contabilidad/RegPrePolizaS.aspx") + If UsuarioActual.Empresa.TipoContabilidad = 1 Then Response.Redirect($"/Contabilidad/RegPrePolizaS.aspx") ViewState("Orden0") = "" ViewState("Orden1") = "" diff --git a/Contabilidad/RegPrePoliza.aspx b/Contabilidad/RegPrePoliza.aspx index d5387a20d..49a629720 100644 --- a/Contabilidad/RegPrePoliza.aspx +++ b/Contabilidad/RegPrePoliza.aspx @@ -1,4 +1,4 @@ -<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegPrepoliza.aspx.vb" Inherits="ContabilidadC_RegPrePoliza" EnableEventValidation="false" %> +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegPrePoliza.aspx.vb" Inherits="ContabilidadC_RegPrePoliza" EnableEventValidation="false" %> diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index e97c48b7a..9277a203e 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -390,7 +390,7 @@ - +
    diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 43b56f5e5..1a90339d7 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -255,14 +255,14 @@ public partial class Contabilidad_RepIVA : ClsPaginas Ruta = string.Format("{0}Formatos\\{1}", UsuarioActual.Empresa.Ruta, Formato); //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); - if (UsuarioActual.Empresa.Funcionalidad(713).ToEntero() == 1 && !Ruta.Contains( "RepIVAAcreditable.rpt")) + if (UsuarioActual.Empresa.Funcionalidad(713).ToEntero() == 1) { ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, DtIEPSA, DtIVAA, "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); } else { - ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); - //ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); + ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); } }else diff --git a/Contabilidad/Reportes/RepMovimientosAuxiliaresCatalogo.rdlc b/Contabilidad/Reportes/RepMovimientosAuxiliaresCatalogo.rdlc index 26451702f..9997bce7d 100644 --- a/Contabilidad/Reportes/RepMovimientosAuxiliaresCatalogo.rdlc +++ b/Contabilidad/Reportes/RepMovimientosAuxiliaresCatalogo.rdlc @@ -6,28 +6,34 @@ - 2.28424cm + 1.86091cm 1.28292cm - 1.5475cm + 1.49458cm - 5.78365cm + 4.81952cm 1.99729cm - 2.10377cm + 2.54cm - 2.10378cm + 2.3148cm - 3.26728cm + 1.78563cm + + + 2.20896cm + + + 2.60583cm @@ -151,6 +157,82 @@ + + + + true + true + + + + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + @@ -268,7 +350,7 @@ - 0.6cm + 0.86458cm @@ -460,6 +542,82 @@ + + + + true + true + + + + + Referencia Movto + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Subproyecto + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + @@ -682,7 +840,7 @@ - + true true @@ -699,7 +857,71 @@ + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + @@ -947,6 +1169,70 @@ + + + + true + true + + + + + =Fields!ReferenciaAdmin.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SubProyecto.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + @@ -1156,6 +1442,74 @@ + + + + true + true + + + + + + + + + + + + Textbox42 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox12 + + + 2pt + 2pt + 2pt + 2pt + + + + @@ -1275,6 +1629,8 @@ + + @@ -1311,184 +1667,53 @@ true DataSet1 - 2.24896cm - 3cm - 20.37043cm + 0.06345cm + 3.26458cm + 22.91044cm - - External - =Parameters!pImg.Value - FitProportional - 2.07257cm - 3.56716cm - 1 - - - - - - true - true - - - - - =Parameters!pEmp.Value - - - - - - - Textbox1 - 0.25646cm - 0.81167cm - 20.37043cm - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="Auxiliar de Movimientos: " & System.Environment.NewLine & "al " &Parameters!pFechaFin.Value - - - - - - - Textbox5 - 1.12429cm - 0.94828cm - 20.37043cm - 3 - ="Moviemtos, Auxiliares del Catalogo" & System.Environment.NewLine & "al " &Parameters!pFechaFin.Value - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="Fecha Impresión:" & vbCrLf & DateTime.Now.ToString("dd-MM-yyyy") - - - - - - - Textbox8 - 0.25646cm - 14.99937cm - 0.81167cm - 5.37106cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - - 2.2819in + 1.31025in - - - - - - Textbox5 - 0.89958cm - 20.37043cm - - = (Globals.PageNumber=1) - + + External + =Parameters!pImg.Value + FitProportional + 2.07257cm + 3.14383cm - 2pt - 2pt - 2pt - 2pt - - + + true true - ="Fecha Impresión:" & vbCrLf & DateTime.Now.ToString("dd-MM-yyyy") + Fecha Impresión + + + + ="" & vbCrLf & DateTime.Now.ToString("dd-MM-yyyy") 2pt 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!pEmp.Value + + + + + + + + + ="Auxiliar de Movimientos del " &Parameters!pFechaInicio.Value &" al " &Parameters!pFechaFin.Value + + + + + + + Textbox6 + 1.23773in + 0.40764in + 7.78213in + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Cuenta: + + + + =Parameters!Cuenta.Value + + + + + + + Cuenta + 0.84375in + 0.25in + 5.50993in + 3 + + + 2pt + 2pt + 2pt + 2pt @@ -1525,7 +1838,7 @@ - 0.74083cm + 0.2639in true true @@ -1549,10 +1862,10 @@ Textbox3 - 0.0703cm - 14.99937cm + 0.03528cm + 16.31002cm 0.6cm - 5.37107cm + 3.99459cm @@ -1570,13 +1883,13 @@ - 29.7cm - 21cm - 0.25cm - 0.25cm - 1cm - 1cm - 0.13cm + 11.69in + 8.27in + 0.09843in + 0.09843in + 0.3937in + 0.3937in + 0.05118in + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + + + + + TOTAL ACTIVO CIRCULANTE + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + + + + Before + + + + DataSet1 + + + =Fields!Tipo.Value + In + + =CStr("A,B,C").Split(",") + + + + =Fields!TipoCuenta.Value + Equal + + 1 + + + + 2.36545cm + 0.31432cm + 1.65cm + 10.42504cm + + + Verdana + 8pt + + + + + + + 5.36361cm + + + 2.86585cm + + + 2.19558cm + + + + + 0.6cm + + + + + true + true + + + + + ACTIVO NO CIRCULANTE + + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL ACTIVO NO CIRCULANTE + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum( Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + Before + + + + DataSet1 + + + =Fields!Tipo.Value + In + + =CStr("A,B,C").Split(",") + + + + =Fields!TipoCuenta.Value + Equal + + 2 + + + + 4.45842cm + 0.31432cm + 1.65cm + 10.42504cm + 1 + + + Verdana + 8pt + + + + + + + 5.21467cm + + + 2.56871cm + + + 1.91058cm + + + + + 0.6cm + + + + + true + true + + + + + PASIVO CIRCULANTE + + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL PASIVO CIRCULANTE + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + Before + + + + DataSet1 + + + =Fields!Tipo.Value + Equal + + D + + + + =Fields!TipoCuenta.Value + Equal + + 3 + + + + 2.36545cm + 10.77464cm + 1.65cm + 9.69396cm + 2 + + + Verdana + 8pt + + + + + + + 5.21467cm + + + 2.56871cm + + + 1.91058cm + + + + + 0.6cm + + + + + true + true + + + + + PASIVO NO CIRCULANTE + + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL PASIVO NO CIRCULANTE + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + Before + + + + DataSet1 + + + =Fields!Tipo.Value + Equal + + D + + + + =Fields!TipoCuenta.Value + Equal + + 4 + + + + 4.45842cm + 10.77464cm + 1.65cm + 9.69396cm + 3 + + + Verdana + 8pt + + + + true + true + + + + + ACTIVO + + + + + + + Textbox28 + 1.62434cm + 0.31432cm + 0.6cm + 10.46032cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + PASIVO + + + + + + + Textbox28 + 1.62434cm + 10.77464cm + 0.6cm + 9.69395cm + 5 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 5.21467cm + + + 2.56871cm + + + 1.91058cm + + + + + 0.6cm + + + + + true + true + + + + + CAPITAL CONTABLE + + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL CAPITAL + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + Before + + + + DataSet1 + + + =Fields!Tipo.Value + Equal + + F + + + + =Fields!TipoCuenta.Value + In + + 5 + 6 + 7 + 8 + + + + 8.01618cm + 10.77464cm + 1.65cm + 9.69396cm + 6 + + + Verdana + 8pt + + + + true + true + + + + + CAPITAL + + + + + + + Textbox28 + 7.23979cm + 10.77464cm + 0.6cm + 9.69395cm + 7 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Total CAPITAL + + + + + + + Textbox45 + 9.94262cm + 10.77464cm + 0.6cm + 4.89717cm + 8 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Variables!TotalPatrimonioHAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Variables!TotalPatrimonioHActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Total Pasivo y Patrimonio + + + + + + + Textbox45 + 10.83692cm + 10.77464cm + 0.6cm + 4.89717cm + 11 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Variables!TotalpasivoYHaciendaAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Variables!TotalpasivoYHaciendaActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Total del Pasivo: + + + + + + + Textbox45 + 6.28481cm + 10.77464cm + 0.6cm + 5.21467cm + 14 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Variables!TotalPasivoAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Variables!TotalPasivoActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Iif( Round(Math.Abs(Variables!TotalActivoActual.Value-Variables!TotalpasivoYHaciendaActual.Value),2) <.005,"" ,"La suma de los totales estan descuadradas." & Round(Math.Abs(Variables!TotalActivoActual.Value-Variables!TotalpasivoYHaciendaActual.Value),2)) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + External + = Parameters!pImg.Value + FitProportional + 0.03141cm + 0.31432cm + 1.46783cm + 5.36361cm + 18 + + + + + + true + true + + + + + =Parameters!pEmp.Value + + + + + + + Textbox1 + 0.03141cm + 5.71321cm + 0.69144cm + 10.31137cm + 19 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Estado de Situación Financiera + + + + =Parameters!periodo.Value + + + + + + + Textbox5 + 0.80399cm + 5.67793cm + 0.6cm + 10.31137cm + 20 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Fecha Impresión:" & vbcrlf & Format( Globals!ExecutionTime,"dd/MM/yyyy") + + + + + + + Textbox8 + 0.07056cm + 16.02458cm + 0.65229cm + 4.47928cm + 21 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 5.36361cm + + + 2.86585cm + + + 2.19558cm + + + + + 0.6cm + + + + + true + true + + + + + ACTIVO DIFERIDO + + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL ACTIVO DIFERIDO + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + Before + + + + DataSet1 + + + =Fields!TipoCuenta.Value + Equal + + 9 + + + + 6.63979cm + 0.31432cm + 1.65cm + 10.42504cm + 22 + + + Verdana + 8pt + + + + true + true + + + + + Total del Activo + + + + + + + Textbox45 + 10.83692cm + 0.31432cm + 0.6cm + 5.36361cm + 23 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Variables!TotalActivoAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Variables!TotalActivoActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 4.77456in + + + + =Parameters!pFechaFin.Value + + + + + + + Textbox5 + 3.454cm + 0.56444cm + 12.91455cm + + = (Globals.PageNumber=1) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Fecha Impresión:" & vbcrlf & Format( Globals!ExecutionTime,"dd/MM/yyyy") + + + + + + + Textbox8 + 0.02088cm + 16.62517cm + 0.57912cm + 3.49249cm + 1 + + = (Globals.PageNumber=1) + + + + 2pt + 2pt + + + + + + + + + 2.46062cm + true + true + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox3 + 1.86062cm + 16.37931cm + 0.6cm + 3.95896cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!pFirma2.Value + + + + Textbox2 + 0.10583cm + 1.71666cm + 0.99688cm + 8.02269cm + 1 + + = Iif((Globals.PageNumber=Globals.TotalPages) and (Parameters!pFirma2.Value <> ""),false,true) + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!pFirma1.Value + + + + Textbox2 + 1.46374cm + 6.03938cm + 0.99688cm + 8.02269cm + 2 + + = Iif((Globals.PageNumber=Globals.TotalPages) and (Parameters!pFirma1.Value <> ""),false,true) + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + + + Textbox2 + 0.10582cm + 10.37435cm + 0.99688cm + 8.02269cm + 3 + + =Microsoft.VisualBasic.Interaction.Iif((Globals!PageNumber = Globals!TotalPages) And (Parameters!pFirma1.Value <> ""), False, True) + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 27.94cm + 21.59cm + 0.5cm + 0.5cm + 0.5cm + 0.5cm + 0.13cm + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Saldos Iniciales + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Saldos Actuales + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.6cm + + + + + true + true + + + + + Cuenta + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Nombre + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Deudor + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Acreedor + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Cargos + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Abonos + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Deudor + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Acreedor + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.4cm + + + + + true + true + + + + + =Fields!Codigo.Value + + + + + + 2pt + 2pt + 1pt + 1pt + + + + + + + + true + true + + + + + =Fields!Nombre.Value + + + + + + 1pt + 1pt + 1pt + 1pt + + + + + + + + true + true + + + + + =IIf(Fields!Tipo.Value <> "D", FormatNumber(Fields!SaldoInicial.Value,2) & " ", FormatNumber(Fields!SaldoInicial.Value,2)) + + + + + + + SaldoInicial + + + 2pt + 2pt + 1pt + 1pt + + + 2 + + + + + + + true + true + + + + + =Fields!Cargos.Value + + + + + + 2pt + 2pt + 1pt + 1pt + + + + + + + + true + true + + + + + =Fields!Abonos.Value + + + + + + 2pt + 2pt + 1pt + 1pt + + + + + + + + true + true + + + + + =IIf(Fields!Tipo.Value <> "D", FormatNumber(Fields!SaldoActual.Value,2) & " ", FormatNumber(Fields!SaldoActual.Value,2)) + + + + + + + SaldoActual + + + 2pt + 2pt + 1pt + 1pt + + + 2 + + + + + + + + + + + + + + + + + + + + + + + After + true + + + After + true + + + + + + + DataSet1 + 1.71477cm + 1.635cm + 20.56375cm + + + + + + true + true + + + + + Anexo del catálogo del + + + + =Parameters!pFechaInicio.Value + + + + al + + + + =Parameters!pFechaFin.Value + + + + + + + Textbox5 + 0.93839cm + 2.27047cm + 0.6cm + 18.29327cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + External + = Parameters!pImg.Value + FitProportional + 0.01513cm + 0cm + 1.5cm + 2.27047cm + 2 + + + + + + true + true + + + + + =Parameters!pEmp.Value + + + + + + + Textbox10 + 0.89389in + 0.33891in + 7.20207in + 3 + + + 2pt + 2pt + 2pt + 2pt + + + + 1.41576in + + + + =Parameters!pFechaFin.Value + + + + + + + Textbox5 + 2.27047cm + 0.6cm + 18.29327cm + + = (Globals.PageNumber=1) + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + 0.52094in + true + true + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox3 + 0.14111cm + 16.41508cm + 0.6cm + 4.14867cm + + + 2pt + 2pt + 2pt + 2pt + + + + 0.06944in + 0in + 8.09596in + 1 + + + + + + true + true + + + + + Usuario: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!usuarioImprimio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresión: + + + + + + + Textbox2 + 0.08333in + 2.89776in + 0.20844in + 1.1182in + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Globals!ExecutionTime + + + + + + + Textbox2 + 0.08333in + 4.01596in + 0.20844in + 2.10083in + 5 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + IMPRESO EN SIG, Anexo Catalogo + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19685in + 0.19685in + 0.3937in + 0.3937in + 0.05118in + - Textbox4 + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + - Silver 2pt 2pt 2pt @@ -60,14 +94,261 @@ - + true true - Nombre Comercial + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + + + + + TOTAL ACTIVO CIRCULANTE + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + Before + + + + DataSet1 + + + =Fields!Sup.Value + Equal + + AC + + + + 0.88272cm + 0.09525cm + 1.65cm + 10.70896cm + + + Verdana + 8pt + + + + + + + 6cm + + + 2.5cm + + + 2.20896cm + + + + + 0.6cm + + + + + true + true + + + + + ACTIVO NO CIRCULANTE - Textbox16 + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL ACTIVO NO CIRCULANTE + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + Before + + + + DataSet1 + + + =Fields!Sup.Value + Equal + + ANC + + + + 2.97569cm + 0.09525cm + 1.65cm + 10.70896cm + 1 + + + Verdana + 8pt + + + + + + + 5.4cm + + + 2.1825cm + + + 1.8753cm + + + + + 0.6cm + + + + + true + true + + + + + PASIVO CIRCULANTE + + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL PASIVO CIRCULANTE + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + true + + + + + + Before + + + + DataSet1 + + + =Fields!Sup.Value + Equal + + PC + + + + 0.88272cm + 10.91004cm + 1.65cm + 9.4578cm + 2 + + + Verdana + 8pt + + + + + + + 5.4cm + + + 2.1825cm + + + 1.8753cm + + + + + 0.6cm + + + + + true + true + + + + + PASIVO NO CIRCULANTE + + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL PASIVO NO CIRCULANTE + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + - Silver 2pt 2pt 2pt @@ -103,205 +1202,26 @@ - Total - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Método de Pago - - - - - - - Textbox20 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.45234cm - - - - - true - - - - - =Fields!SerieFolio.Value - - - - - - - MetodoPago - - - =IIF(Fields!CveVenta.Value = nothing,IIF(Fields!MetodoPago.Value = "","#5E738B","#578EBE"),"White") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!NombreComercial.Value - - - - - - - Importe - - - =IIF(Fields!CveVenta.Value = nothing,IIF(Fields!MetodoPago.Value = "","#5E738B","#578EBE"),"White") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!ImportePagado.Value + =Sum(Fields!ImporteAnterior.Value) - + - =IIF(Fields!CveVenta.Value = nothing,IIF(Fields!MetodoPago.Value = "","#5E738B","#578EBE"),"White") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!MetodoPago.Value - - - - - - - MetodoPago1 - - - =IIF(Fields!CveVenta.Value = nothing,IIF(Fields!MetodoPago.Value = "","#5E738B","#578EBE"),"White") 2pt 2pt 2pt @@ -319,80 +1239,130 @@ - After + true - + + + + Before - DataSet2 - 3.94244cm - 0.06614cm - 0.93113cm - 20.36443cm + DataSet1 + + + =Fields!Sup.Value + Equal + + PNC + + + + 2.97569cm + 10.91004cm + 1.65cm + 9.4578cm + 3 + Verdana + 8pt - + + true + true + + + + + ACTIVO + + + + + + + Textbox28 + 0.17568cm + 0.29985cm + 0.6cm + 10.50436cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + PASIVO + + + + + + + Textbox28 + 0.17568cm + 10.91004cm + 0.6cm + 9.41376cm + 5 + + + 2pt + 2pt + 2pt + 2pt + + + - 2.34715cm + 5.44404cm - 1.92129cm + 2.13846cm + + + 1.8753cm - 0.47879cm + 0.6cm - - - - true - true - - - - - Resumen - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - @@ -402,7 +1372,7 @@ - Total + PASIVO DIFERIDO - Textbox16 + Textbox7 + - Silver 2pt 2pt 2pt 2pt + 3 + + - 0.42588cm + 0.45cm - + true - =Fields!Columna.Value + =Fields!Nombre.Value - + @@ -468,120 +1437,138 @@ - - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet3 - - - =Fields!Orden.Value - LessThanOrEqual - - 7 - - - - 0.73025cm - 0.06614cm - 0.90467cm - 4.26844cm - 1 - - - - - - - - - 2.68035cm - - - 2.97963cm - - - - - 0.47879cm - - - - + true true - Resumen + =Fields!ImporteActual.Value - + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL PASIVO DIFERIDO + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + - Silver 2pt 2pt 2pt @@ -599,91 +1586,22 @@ - Total - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.42588cm - - - - - true - - - - - =Fields!Columna.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Importe.Value + =Sum(Fields!ImporteAnterior.Value) - + @@ -704,65 +1622,70 @@ + After + true - + + + + Before - DataSet4 - 0.73025cm - 14.77059cm - 0.90467cm - 5.65998cm - 2 + DataSet1 + + + =Fields!Sup.Value + Equal + + PD + + + + 4.80208cm + 10.866cm + 1.65cm + 9.4578cm + 6 + Verdana + 8pt - + true true - Resumen de transacciones + CAPITAL - - - - - Textbox3 - 0.08792cm - 0.06614cm - 0.56472cm - 7.44885cm - 3 + Textbox28 + 7.46174cm + 10.866cm + 0.6cm + 9.4578cm + 7 @@ -773,67 +1696,22 @@ 2pt - - true - true - - - - - Estado de la caja - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - + - 2.73022cm + 5.44404cm - 7.79329cm + 2.13846cm - 2.28714cm + 1.8753cm - 0.47879cm + 0.6cm @@ -844,7 +1722,7 @@ - Tipo + CAPITAL CONTABLE - Textbox4 + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value + + + + - Silver 2pt 2pt 2pt @@ -871,6 +1785,82 @@ + + + + true + true + + + + + =Fields!ImporteActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + @@ -880,25 +1870,55 @@ - Descripción + TOTAL CAPITAL - + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Iif(Fields!CtaMayor.Value = 2, Fields!ImporteActual.Value, 0)) + + + + - Silver 2pt 2pt 2pt @@ -916,124 +1936,22 @@ - Total - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.45234cm - - - - - true - - - - - =Fields!TipoMovimiento.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Descripcion.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value + =Sum(iif(Fields!CtaMayor.Value = 2, Fields!ImporteAnterior.Value, 0)) - + @@ -1061,373 +1979,63 @@ After + true - + + + + Before - DataSet5 - 5.5794cm - 0.06614cm - 0.93113cm - 12.81065cm - 5 - - - - - - true - true - - - - - Movimientos de caja - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Movimientos del día - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.73022cm - - - 2.09811cm - - - 2.28714cm - - - - - 0.47879cm - - - - - true - true - - - - - Tipo de deposito - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Folio - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.45234cm - - - - - true - - - - - =Fields!TipoTransaccion.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!FolioPago.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - - ImportePagado - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - After - - - - - - - DsDepositos - 2.30548cm - 0.06614cm - 0.93113cm - 7.11547cm + DataSet1 + + + =Fields!Sup.Value + Equal + + C + + + + 8.17463cm + 10.866cm + 1.65cm + 9.4578cm 8 + Verdana + 8pt - + true true - Depositos de caja + TOTAL ACTIVO - - Textbox3 - 1.6702cm - 0.06614cm + Textbox45 + 10.99567cm + 0.09525cm 0.6cm - 4.82833cm + 4.64007cm 9 - - - - - 2.06748cm - - - 2.51199cm - - - 2.28714cm - - - 2.40196cm - - - 2.15604cm - - - - - 0.47879cm - - - - - true - true - - - - - Código - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Nombre - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cargos - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Abonos - - - - - - - Textbox43 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Saldo - - - - - - - Textbox47 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.45234cm - - - - - true - - - - - =Fields!Codigo.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Nombre.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Cargos.Value - - - - - - - ImportePagado - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Abonos.Value - - - - - - - Abonos - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =(Fields!Cargos.Value - Fields!Abonos.Value) - - - - - - - Abonos1 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DsContabilidad - 2.30548cm - 8.20037cm - 0.93113cm - 11.42461cm - 10 - - - - - + true true - Estado contable de la caja + =Parameters!TotalActivoAnterior.Value + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TotalActivoActual.Value + + + + - - - - - 3.59941cm - - - 2.86498cm - - - - - 0.47879cm - - - - - true - true - - - - - Método de Pago - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.42588cm - - - - - true - - - - - =Fields!MetodoPago.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet1 - 0.73025cm - 8.20037cm - 0.90467cm - 6.46439cm - 12 - - - - - + true true - Detalles de pago + Total Pasivo: + + + + Textbox45 + 6.60781cm + 10.91004cm + 0.6cm + 4.76495cm + 12 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TotalPasivoAnterior.Value + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TotalPasivoActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + TOTAL PASIVO Y CAPITAL + + + + + + + Textbox45 + 10.99567cm + 10.4691cm + 0.6cm + 4.80901cm + 15 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TotalPasivoCapitalAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TotalPasivoCapitalActual.Value + + + + @@ -2106,36 +2347,79 @@ - 1.9341cm + 6cm - 1.81281cm + 2.5cm + + + 2.20896cm - 0.42588cm + 0.6cm - + + true true - =Fields!Columna.Value + ACTIVO DIFERIDO + + + + + + + Textbox7 + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.45cm + + + + + true + + + + + =Fields!Nombre.Value - + @@ -2150,25 +2434,174 @@ - + + true true - =Fields!Importe.Value + =Fields!ImporteActual.Value - + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + TOTAL ACTIVO DIFERIDO + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteActual.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteAnterior.Value) + + + + @@ -2189,47 +2622,223 @@ + - + After + true + + + + + + Before - DataSet3 + DataSet1 - =Fields!Orden.Value - GreaterThanOrEqual + =Fields!Sup.Value + Equal - 8 + AD - 1.24432cm - 4.37868cm - 0.42588cm - 3.74691cm - 14 + 4.80208cm + 0.09525cm + 1.65cm + 10.70896cm + 18 + Verdana + 8pt + + true + true + + + + + Total Capital + + + + + + + Textbox45 + 9.99276cm + 10.96007cm + 0.6cm + 4.76495cm + 19 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TotalCapitalAnterior.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TotalCapitalActual.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + - 2.5632in + 4.56522in + + + =Parameters!pFechaFin.Value + + + + + + + Textbox5 + 3.41489cm + 0.6cm + 12.91455cm + + + 2pt + 2pt + 2pt + 2pt + + + + External + = Parameters!pImg.Value + FitProportional + 0.02088cm + 0.31925cm + 1.5cm + 1.5cm + 1 + + + + true true @@ -2237,8 +2846,9 @@ - =Parameters!NombreEmpresa.Value + =Parameters!pEmp.Value @@ -2249,91 +2859,11 @@ Textbox1 - 0.18521cm - 2.8349cm - 0.6cm - 15.80743cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - REPORTE DE CORTES - - - - - - - Textbox2 - 1.10271cm - 5.07342cm - 0.52945cm - 10.36447cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.06614cm - 2.22362cm - 2.33715cm + 0.63528cm + 3.41489cm + 0.8856cm + 12.91455cm 2 - - - - - - true - true - - - - - =Parameters!AgrupoPor.Value - HTML - - - - @@ -2352,11 +2882,11 @@ - 0.68792cm + 0.89958cm true true - + true true @@ -2376,10 +2906,10 @@ Textbox3 - 0.08289cm - 15.43789cm - 0.38981cm - 3.20444cm + 0.11289cm + 15.67499cm + 0.6cm + 4.64881cm @@ -2390,28 +2920,30 @@ 2pt - + true true - Usuario: + ="Fecha Impresión:" & vbcrlf & Format( Globals!ExecutionTime,"dd/MM/yyyy") - Textbox8 - 0.08289cm - 0.06614cm - 0.38981cm - 1.60042cm + 0.13377cm + 7.44906cm + 0.57912cm + 6.48228cm 1 - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaImpresion.Value - - - - - - 2pt - 2pt - 2pt - 2pt @@ -2532,224 +2964,57 @@ 21.59cm 0.5cm 0.5cm - 0.3cm - 0.5cm + 1cm + 1cm 0.13cm + + + + + + Textbox1 + 0.98806cm + 20.2388cm + + + 2pt + 2pt + 2pt + 2pt + + + + External + = Parameters!pImg.Value + Fit + 1.98547cm + 3.43894cm + 1 + + + + + + true + true + + + + + Balanza de Comprobación del + + + + =Parameters!pFechaIni.Value + + + + al + + + + =Parameters!pFechaFin.Value + + + + + + + Textbox5 + 0.98806cm + 0.99741cm + 20.2388cm + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 3.43894cm + + + 6.04544cm + + + 2.87929cm + + + 2.5cm + + + 2.5cm + + + 2.87513cm + + + + + 0.6cm + + + + + true + true + + + + + + + + + + + + Textbox2 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox4 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Saldos Iniciales + + + + + + + Textbox7 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox9 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox10 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Saldos Actuales + + + + + + + Textbox11 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Cuenta + + + + + + + Textbox13 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Nombre + + + + + + + Textbox15 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Deudor Acreedor + + + + + + + Textbox17 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Cargos + + + + + + + Textbox21 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Abonos + + + + + + + Textbox23 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Deudor Acreedor + + + + + + + Textbox25 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.45cm + + + + + true + true + + + + + =Fields!Codigo.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + =Fields!Nombre.Value + + + + + + 2pt + 2pt + 2pt + 2pt + Horizontal + + + + + + + + true + true + + + + + =Fields!SaldoInicial.Value + + + + + + + SaldoInicial + + + 2pt + =Iif(Fields!CveTipo.Value=1,"17pt","2pt") + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Cargos.Value + + + + + + + Cargos1 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Abonos.Value + + + + + + + Abonos + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SaldoActual.Value + + + + + + + SaldoActual + + + 2pt + =Iif(Fields!CveTipo.Value=1,"17pt","2pt") + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Sumas Iguales + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Last(Fields!SaldoID.Value) + + + + + + + SaldoID + + + 2pt + 17pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Last(Fields!TotalAbonos.Value) + + + + + + + TotalAbonos + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Last(Fields!TotalCargos.Value) + + + + + + + TotalCargos + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Last(Fields!SaldoAD.Value) + + + + + + + SaldoAD + + + 2pt + 17pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Last(Fields!SaldoIA.Value) + + + + + + + SaldoIA + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox33 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox34 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Last(Fields!SaldoAA.Value) + + + + + + + SaldoAA + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + After + true + + + After + true + + + + + + Before + + + Before + + + + true + DataSet1 + 2.04159cm + 2.85cm + 20.2388cm + 3 + + + + + + true + 5.50443cm + 20.2388cm + + + + + + 2.1671in + + + + =Parameters!pFechaIni.Value + + + + al + + + + =Parameters!pFechaFin.Value + + + + + + + Textbox5 + 0.6cm + 20.2388cm + + = (Globals.PageNumber=1) + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + 0.6cm + true + true + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox3 + 0cm + 14.86367cm + 0.6cm + 5.37513cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Fecha Impresión:" & vbCrLf & DateTime.Now.ToString("dd/MM/yyyy HH:mmm") + + + + + + + Textbox8 + 0cm + 0.6cm + 3.43894cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Usuario Imprimio: " & Parameters!UsuarioImprimio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 29.7cm + 21cm + 0.25cm + 0.25cm + 0.5cm + 1cm + 0.13cm + - Rodríguez (662) 213-0388 - Camino del seri (662) 220-3070 - Colosio (662) 260-8088 - Colosio II (662) 118-9939 - Veracruz (662) 210-0041 - Monteverde (662) 688-1512 - Morelos (662) 211-0805 - Palo Verde (662) 436-3254 - Perisur (662) 254-4849 - Portillo (662) 688-5349 - Progreso (662) 310-5781 - Reforma (662) 213-8724 - Sahuaro (662) 216-1471 - Solidaridad (662) 216-0935 - Quiroga (662) 261-0838 - Guaymas (622) 222-2417 - Nogales (631) 319-0093 - San Luis Rio Colorado (653) 596-1799 - Agua Prieta (633) 688-0080 - Caborca (637) 372-4214 - Magdalena (632) 322-4080 - Cananea (645) 332-2040 - Obregón (644) 412-2002 - Obregón II (644) 413-1543 - Obregón III (644) 413-4501 - Navojoa (642) 422-9852 – + : Rodríguez (662) 213-0388 - Camino del seri (662) 220-3070 - Colosio (662) 260-8088 - Colosio II (662) 118-9939 - Veracruz (662) 210-0041 - Monteverde (662) 688-1512 - Morelos (662) 211-0805 - Palo Verde (662) 436-3254 - Perisur (662) 254-4849 - Portillo (662) 688-5349 - Progreso (662) 310-5781 - Reforma (662) 213-8724 - Sahuaro (662) 216-1471 - Solidaridad (662) 216-0935 - Quiroga (662) 261-0838 - Guaymas (622) 222-2417 - Nogales (631) 319-0093 - San Luis Rio Colorado (653) 596-1799 - Agua Prieta (633) 688-0080 - Caborca (637) 372-4214 - Magdalena (632) 322-4080 - Cananea (645) 332-2040 - Obregón (644) 412-2002 - Obregón II (644) 413-1543 - Obregón III (644) 413-4501 - Obregón IV (644) 688-3937 -  Navojoa (642) 422-9852 ʹ - Sinaloa: + Sinaloa - Mochis (668) 817-0209 - Mochis II (668) 176-5802 - Guasave (687) 871-5317 - Guamúchil (673) 688-0108 - Calzada (667) 729-2112 - Zapata (667) 992-0876 - Sanalona (667) 713-6671 - Tres Ríos (667) 211-4696 - La Primavera (667) 304-2060 - Corredor Automotriz (667) 715-5004 - Del Valle (667) 721-5577 - Mazatlán (669) 910-2122 - + : Mochis (668) 817-0209 - Mochis II (668) 176-5802 - Guasave (687) 871-5317 - Guamúchil (673) 688-0108 - Calzada (667) 729-2112 - Zapata (667) 992-0876 - Sanalona (667) 713-6671 - Tres Ríos (667) 211-4696 - La Primavera (667) 304-2060 - Corredor Automotriz (667) 715-5004 – Del Valle (667) 721-5577 - Mazatlán (669) 910-2122 - @@ -1953,16 +1957,18 @@ 7pt Bold None + #000000 - : Tijuana (664) 622-5221 – Tijuana II (664) 626-2615 - Rosarito (661) 612-4461 - Mexicali (686) 567-6102 - Mexicali II (686) 326 02 79 - Tecate (665) 5212080 - Ensenada (646) 172-4075 – Ensenada II (646) 176-2703 - + : Tijuana (664) 622-5221 ʹ- Tijuana II (664) 626-2615 - Tijuana III (664) 906-0917 - Tijuana IV (664) 626-2615 - Rosarito (661) 612-4461 - Mexicali (686) 567-6102 - Mexicali II (686) 326 02 79 – Tecate (665) 5212080 - Ensenada (646) 172-4075 ʹ Ensenada II (646) 176-2703 - @@ -1973,16 +1979,18 @@ 7pt Bold None + #000000 - : La Paz (612) 146-3656 - La Paz II (612) 121-3185 - Los Cabos (624) 688 3552 - San José del Cabo (624) 247-4739 + : La Paz (612) 146-3656 - La Paz II (612) 121-3185 - Los Cabos (624) 688 3552 - San José del Cabo (624) 247-4739 @@ -2038,21 +2046,6 @@ 2pt - - Embedded - ID5 - FitProportional - 11.02339cm - 0.17151cm - 0.96488cm - 3.75909cm - 17 - - - - true true @@ -2080,103 +2073,7 @@ 0.19008cm 0.40655cm 12.88812cm - 18 - - - 2pt - 2pt - 2pt - 2pt - - - - Embedded - ID4 - FitProportional - 11.02339cm - 4.34941cm - 0.91769cm - 3.03541cm - 19 - - - - - - Embedded - ID1 - FitProportional - 11.02339cm - 7.56121cm - 0.97656cm - 4.16281cm - 20 - - - - - - Embedded - ID6 - FitProportional - 11.02339cm - 11.90634cm - 1.01184cm - 3.76809cm - 21 - - - - - - Embedded - ID3 - FitProportional - 11.37021cm - 15.67443cm - 0.93046cm - 5.37042cm - 22 - - - - - - true - true - - - - - DESCARGA NUESTRA APLICACIÓN - - - - - - - Textbox60 - 10.83195cm - 15.67443cm - 0.50299cm - 5.42547cm - 23 + 17 @@ -2230,7 +2127,7 @@ 17.09066cm 0.64028cm 3.90165cm - 24 + 18 @@ -2375,7 +2272,7 @@ 0.16383cm 2.44366cm 15.5106cm - 25 + 19 @@ -2410,7 +2307,7 @@ 6.24049in 0.21875in 0.94607in - 26 + 20 @@ -2445,7 +2342,7 @@ 6.24048in 0.21875in 0.94607in - 27 + 21 @@ -2480,7 +2377,7 @@ 6.24048in 0.21875in 0.94607in - 28 + 22 @@ -2515,7 +2412,7 @@ 6.24048in 0.21875in 0.94607in - 29 + 23 @@ -2551,7 +2448,7 @@ 6.24048in 0.21875in 0.94607in - 30 + 24 @@ -2587,7 +2484,7 @@ 7.18656in 0.21875in 0.98426in - 31 + 25 @@ -2622,7 +2519,7 @@ 7.18656in 0.20486in 0.98425in - 32 + 26 @@ -2657,7 +2554,7 @@ 7.18656in 0.19899in 0.98425in - 33 + 27 @@ -2693,7 +2590,7 @@ 7.18656in 0.19284in 0.98425in - 34 + 28 @@ -2729,7 +2626,7 @@ 7.18656in 0.19596in 0.98425in - 35 + 29 @@ -2764,7 +2661,7 @@ 4.32565cm 0.82021cm 7.93893cm - 36 + 30 @@ -2794,7 +2691,7 @@ 0.19009cm 0.05496cm 20.88652cm - 37 + 31 @@ -2806,6 +2703,72 @@ 2pt + + true + true + + + + + DESCARGA NUESTRA APLICACIÓN + + + + + + + Textbox60 + 10.83195cm + 15.67443cm + 0.50299cm + 5.42547cm + 32 + + + 2pt + 2pt + 2pt + 2pt + + + + Embedded + ID3 + FitProportional + 11.37021cm + 15.67443cm + 0.93046cm + 5.37042cm + 33 + + + + + + Embedded + logofacturas3 + FitProportional + 11.05641cm + 0.12912cm + 0.80243cm + 15.36892cm + 34 + + + + 15.93202cm @@ -1410,8 +1410,8 @@ Textbox5 - 9.07761cm - 0.34979cm + 8.46907cm + 0.23924cm 0.05496cm 20.64332cm 2 @@ -1472,10 +1472,10 @@ Textbox1 - 9.21872cm - 1.04171cm + 8.61018cm + 0.35441cm 0.47226cm - 12.31061cm + 12.88737cm 3 @@ -2884,7 +2884,7 @@ Textbox5 - 16.71787cm + 16.59087cm 0.23924cm 0.05496cm 20.75387cm @@ -2910,7 +2910,7 @@ ** SI LAS LLANTAS NO SON INSTALADAS EN ECONOLLANTAS PIERDE SU GARANTÍA DE FABRICA ** @@ -2922,7 +2922,37 @@ EL CLIENTE NO ACEPTA PÓLIZA DE SEGURO, *ESTAS LLANTAS SOLO TENDRAN GARANTÍA DE POR VIDA CONTRA DEFECTO DE FABRICA. + + + + + + + + + PARA HACER VÁLIDA UNA RECLAMACIÓN DEBERÁN CUMPLIR CON EL ANTERIOR REQUISITO + @@ -2932,9 +2962,9 @@ Textbox3 6.48388cm - 1.05836cm - 1.32415cm - 19.15078cm + 0.25268cm + 1.91463cm + 20.75546cm 30 =IIF((Sum(IIF(Fields!CveClasificacion.Value = 20345,1,0), "DsOC") = 0) and (Sum(IIF(Fields!CveClasificacion.Value = 20342 or Fields!CveClasificacion.Value = 20341,1,0), "DsOC") > 0),false,true) @@ -2980,48 +3010,6 @@ 2pt - - true - true - - - - - PARA UNA OPTIMA DURACIÓN DE SUS LLANTAS, ESTAS DEBEN ALINEARSE, BALANCEARSE Y ROTAR CADA 6 MESES O 1O MIL KILOMETROS. - - - - PARA HACER VÁLIDA UNA RECLAMACIÓN DEBERÁN CUMPLIR CON EL ANTERIOR REQUISITO - - - - - - 2pt - 2pt - 2pt - 2pt - - @@ -3508,7 +3496,7 @@ 0.15875cm 2.26835cm 20.98078cm - 33 + 32 =Microsoft.VisualBasic.Interaction.IIF(First(Fields!SerieFolio.Value, "DataSet4") <> "", False, True) @@ -3556,11 +3544,11 @@ Textbox1 - 9.14816cm - 13.52871cm + 8.53962cm + 13.41816cm 0.54281cm 7.38429cm - 34 + 33 =IIF((Sum(IIF(UCase(Fields!Clasificacion.Value) = "AJUSTE" , 1, 0), "DsOC") > 0),false,true) @@ -3574,21 +3562,6 @@ 2pt - - Embedded - logoLlantas21 - FitProportional - 13.24423cm - 0.34979cm - 0.85359cm - 20.65846cm - 35 - - - - true true @@ -3613,11 +3586,11 @@ Textbox4 - 9.73684cm - 0.23924cm + 9.1283cm + 0.12869cm 0.44183cm 20.69914cm - 36 + 34 @@ -3630,71 +3603,110 @@ - - true - true - - - - - DESCARGA NUESTRA NUEVA APLICACIÓN - - - - - - - Textbox60 - 0cm - 0cm - 0.58237cm - 20.96485cm + + Database + =System.Convert.FromBase64String(Parameters!QRDescarga.Value) + image/png + FitProportional + 0.41036in + 0.2273in + 0.5535in + 0.66635in - 2pt - 2pt - 2pt - 2pt - - + + true true - Puedes encontrarla en Appstore o Google play + Sonora - - - - - - como Econollantas: + : Rodríguez (662) 213-0388 - Camino del seri (662) 220-3070 - Colosio (662) 260-8088 - Colosio II (662) 118-9939 - Veracruz (662) 210-0041 - Monteverde (662) 688-1512 - Morelos (662) 211-0805 - Palo Verde (662) 436-3254 - Perisur (662) 254-4849 - Portillo (662) 688-5349 - Progreso (662) 310-5781 - Reforma (662) 213-8724 - Sahuaro (662) 216-1471 - Solidaridad (662) 216-0935 - Quiroga (662) 261-0838 - Guaymas (622) 222-2417 - Nogales (631) 319-0093 - San Luis Rio Colorado (653) 596-1799 - Agua Prieta (633) 688-0080 - Caborca (637) 372-4214 - Magdalena (632) 322-4080 - Cananea (645) 332-2040 - Obregón (644) 412-2002 - Obregón II (644) 413-1543 - Obregón III (644) 413-4501 - Obregón IV (644) 688-3937 -  Navojoa (642) 422-9852 ʹ + + + Sinaloa + + + + : Mochis (668) 817-0209 - Mochis II (668) 176-5802 - Guasave (687) 871-5317 - Guamúchil (673) 688-0108 - Calzada (667) 729-2112 - Zapata (667) 992-0876 - Sanalona (667) 713-6671 - Tres Ríos (667) 211-4696 - La Primavera (667) 304-2060 - Corredor Automotriz (667) 715-5004 – Del Valle (667) 721-5577 - Mazatlán (669) 910-2122 - + + + + Baja California + + + + : Tijuana (664) 622-5221 ʹ- Tijuana II (664) 626-2615 - Tijuana III (664) 906-0917 - Tijuana IV (664) 626-2615 - Rosarito (661) 612-4461 - Mexicali (686) 567-6102 - Mexicali II (686) 326 02 79 – Tecate (665) 5212080 - Ensenada (646) 172-4075 ʹ Ensenada II (646) 176-2703 - + + + + Baja California Sur + + + + : La Paz (612) 146-3656 - La Paz II (612) 121-3185 - Los Cabos (624) 688 3552 - San José del Cabo (624) 247-4739 + - Textbox60 - 0cm - 0.16167cm - 1.49135cm - 5.37042cm + Textbox4 + 0.10583cm + 2.51436cm + 2.85742cm + 18.45416cm 1 - - true - true - - - - - Con tu aplicación el beneficio más - - - - - - - - - importante es poder escanear el código QR de tu póliza y siempre traerla contigo para - - - - - - - - - atenderte - - - - - - - - - MÁS RÁPIDO Y MEJOR. - - - - - - - Textbox60 - 0.6882cm - 7.23532cm - 1.98084cm - 6.56105cm + + Embedded + playstore + FitProportional + 2.51877cm + 0.34516cm + 0.66588cm + 1.98357cm 2 - 2pt - 2pt - 2pt - 2pt - - + + true true - Una vez descargada la App, podras agregar tu póliza escaneando el código QR + Agrega tu póliza escaneando el QR - Textbox60 - 0cm - 14.50476cm - 1.46939cm - 6.32076cm + Textbox34 + 0.11909cm + 0cm + 0.88796cm + 2.76491cm 3 - - Database - =System.Convert.FromBase64String(Parameters!QRDescarga.Value) - image/png - FitProportional - 0.43341in - 6.61666in - 0.6035in - 0.78275in - 4 - - - - - + Embedded - ID3 + logos_facturaremovebgpreview FitProportional - 1.7033cm - 0.17511cm - 0.93046cm - 5.37042cm - 5 + 3.13964cm + 2.32873cm + 0.81831cm + 18.72552cm + 4 @@ -3887,17 +3805,32 @@ true - 10.24923cm - 0.17468cm - 2.92445cm - 20.96485cm - 37 + 9.64068cm + 0cm + 3.95795cm + 21.13953cm + 35 + + Embedded + appstore + FitProportional + 12.96645cm + 0.34516cm + 0.7733cm + 1.98819cm + 36 + + + + 22.76325cm - - - - - - Textbox7 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - U.M. - - - - - - - Textbox13 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Código - - - - - - - Textbox9 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - # Parte - - - - - - - Textbox1 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox11 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cos.Unit. - - - - - - - Textbox17 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox19 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.3cm - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - Cantidad - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!UnidadMedida.Value - - - - - - - UnidadMedida1 - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!Codigo.Value - - - - - - - Codigo - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!NumeroParte.Value - - - - - - - NumeroParte - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!PS.Value - - - - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!PU.Value - - - - - - - PU - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - - Total - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DsInventarios - 0.17639cm - 0.09756cm - 0.74125cm - 21.16317cm - - - - - - 1.53162cm - 0.14707cm - 0cm - 21.07279cm - 1 - - - - - - - - - 1.5403cm - - - 2.0317cm - - - - - 0.46771cm - - - - - true - true - - - - - Sub Total: - - - - - - - Textbox33 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!Total.Value) - - - - - - - Textbox38 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - DsInventarios - 1.63745cm - 17.67029cm - 0.46771cm - 3.572cm - 2 - - - - - - true - true - - - - - =Parameters!Observaciones.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - OBSERVACIONES: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 1.53597in - - - - - - - Textbox34 - 0.07056cm - 11.4003cm - 0.6cm - 9.85131cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Factura de: - - - - - - - - - - - =Parameters!NombreProveedor.Value - - - - - - - - - - - =Parameters!RFCProveedor.Value - - - - - - - - - - - =Parameters!FechaFactura.Value - - - - - - - - - - - =Parameters!SerieFolio.Value - - - - - - - - - - - =Parameters!Moneda.Value - - - - - - - - - - - =Parameters!NumeroOrden.Value - - - - - - - - - - - =Parameters!TelefonoProveedor.Value - - - - - - - - - - - =Parameters!ContactoProveedor.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Folio - - - - : - - - - =Parameters!Folio.Value - - - - - - - - - Almacén: - - - - =Parameters!Almacen.Value - - - - - - - - - Capturo: - - - - =Parameters!NombreCapturo.Value - - - - - - - Textbox50 - 0.74112cm - 6.60454cm - 1.25419cm - 14.64707cm - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - Embedded - Logo2 - FitProportional - 0.07056cm - 0.25918in - 0.72671in - 1.56919in - 3 - - - - - - true - true - - - - - Fecha de Entrada: - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Fecha.Value - - - - - - - - - =Parameters!FechaVencimiento.Value - - - - - - - - - =Parameters!Condicion.Value - - - - - - - - - =Parameters!SubTotal.Value - - - - - - - - - =Parameters!IVA.Value - - - - - - - - - =Parameters!Total.Value - - - - - - - - - =Parameters!Saldo.Value - - - - - - - Textbox2 - 2.13642cm - 18.06883cm - 2.87013cm - 3.15103cm - 5 - - =Parameters!CveTipoAlmacen.Value = "19" - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - 2.34625cm - true - true - - - 1.1404cm - 0.05012cm - 0cm - 21.20149cm - - - - - - true - true - - - - - Usuario: - - - - - - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - - Textbox18 - 1.22061cm - 1.49125cm - 0.44125cm - 6.09106cm - 2 - - - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Globals!ExecutionTime - - - - - - - Textbox18 - 1.22061cm - 11.39641cm - 0.44125cm - 3.44953cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 1.22061cm - 17.50011cm - 0.38981cm - 3.61081cm - 5 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - IMPRESO EN SIG, Entradas / Salidas - - - - - - - - - - - 0.18344cm - 1.53738cm - 0cm - 5.13525cm - - - - - - true - true - - - - - =Parameters!NombreRecibio.Value - - - - - - - Textbox31 - 0.28984cm - 1.12254cm - 0.56472cm - 5.95755cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - 0.18344cm - 13.54798cm - 0cm - 5.24108cm - 2 - - - - - - true - true - - - - - =Parameters!NombreEntrego.Value - - - - - - - Textbox31 - 0.25456cm - 13.15111cm - 0.6cm - 5.95755cm - 3 - - - 2pt - 2pt - 2pt - 2pt - - - - true - 0.17639cm - 0.16513cm - 0.85456cm - 21.08648cm - 7 - - =IIf( Globals.PageNumber = Globals.TotalPages, False, True) - - - - - - - - - - - 27.94cm - 21.59cm - 0.1cm - 0.1cm - 1cm - 0cm - 0.13cm - - - - - - - Textbox28 - - - - - - #e36c09 - 1pt - - - - - - - - - - - 1.75917cm - - - 4.69734cm - - - 5.90506cm - - - 2.16336cm - - - 2.8203cm - - - 2.01554cm - - - - - 0.44125cm - - - - - true - true - - - - - =IIF(LEN(Fields!CodigoPS.Value) > 0, "", Fields!FechaIng.Value) - - - - - - - FechaIng - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =IIF(LEN(Fields!CodigoPS.Value) > 0, "", Fields!Descripcion.Value) - - - - - - - Descripcion - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =Fields!CodigoPS.Value - - - - - - - CodigoPS - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =Fields!CantidadOC.Value - - - - - - - CantidadOC - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =Fields!CantidadCompra.Value - - - - - - - CantidadCompra - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =Fields!Pendiente.Value - - - - - - - Pendiente - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - - - - - - 0.44125cm - - - true - true - - - - - Fecha - - - - - - - Textbox12 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Descripción - - - - - - - Textbox44 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Producto/Servicio - - - - - - - Textbox44 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Cantidad OC - - - - - - - Textbox49 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Cantidad Compra - - - - - - - Textbox51 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Pendiente - - - - - - - Textbox47 - - - #e36c09 - 1pt - - - - - - - - - - - - - 1.24826cm - - - true - true - - - - - =IIF(LEN(Fields!CodigoPS.Value) > 0, "",Fields!Folio.Value) - - - - - - - Folio1 - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - DataSet1 - 0.75875cm - 0.06614cm - 0.8825cm - 20.60903cm - - - - - - true - true - - - - - =Parameters!AgrupadoPor.Value - HTML - - - - - - - Textbox1 - 0.07056cm - 0.06614cm - 0.58236cm - 20.60903cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - 0.77116in - - - - - - - Textbox1 - 3.8144cm - 0.6cm - 13.0693cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ORDENES DE COMPRA POR VINCULAR - - - - - - - Textbox2 - 0.63528cm - 3.77912cm - 0.52945cm - 13.0693cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.06614cm - 2.22362cm - 3.00743cm - 2 - - - - - - - - - - - 0.48291cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 0.08291cm - 18.6093cm - 0.4cm - 2.06587cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaImpresion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 29.7cm - 21cm - 0.1cm - 0.1cm - 1cm - 0.5cm - 0.13cm - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cantidad - - - - - - - Textbox6 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Sub Total - - - - - - - Textbox13 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descuento - - - - - - - Textbox15 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Amortización - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total Impuestos - - - - - - - Textbox19 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - IVA - - - - - - - Textbox21 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - true - - - - - IEPS - - - - - - - Textbox3 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox23 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - S. Crédito - - - - - - - Textbox5 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - S.Contado - - - - - - - Textbox17 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.49417cm - - - - - true - true - - - - - =Fields!GPO.Value - - - - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - Cantidad1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SubTotal.Value - - - - - - - SubTotal1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Descuento.Value - - - - - - - Descuento1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Amortizacion.Value - - - - - - - Amortizacion1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!TotalImpuestos.Value - - - - - - - TotalImpuestos1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - true - - - - - =Fields!IVA.Value - - - - - - - IVA1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!IEPS.Value - - - - - - - IEPS - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - - Total1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SubtotalCredito.Value - - - - - - - SubtotalCredito - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SubTotalContado.Value - - - - - - - SubTotalContado - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - =iif(Sum(Fields!IEPS.Value, "DataSet1") > 0, false, true) - - - - - - - - - - - After - - - - - - - DataSet1 - 0.28253cm - 0cm - 1.04125cm - 23.08194cm - - - - - - 0.08599cm - 0cm - 20.80578cm - 1 - - - - - - 0.56284in - - - - - - - Textbox1 - 0.18521cm - 6.3909cm - 0.6cm - 10.83028cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - REPORTE DE VENTAS - - - - - - - - - - - - - - - - Textbox2 - 0.78521cm - 6.3909cm - 0.52945cm - 10.83028cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.06614cm - 2.22362cm - 6.08487cm - 2 - - - - - - true - true - true - - - - - =Parameters!Filtros.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - 1.08126cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 0.20814cm - 17.57967cm - 0.38981cm - 3.61081cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 0.15875cm - 0cm - 0cm - 22.89673cm - 4 - - - - - - true - true - - - - - =Globals!ExecutionTime - - - - - - - Textbox11 - 0.20991cm - 10.49455cm - 0.38981cm - 4.50094cm - 5 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - IMPRESO EN SIG, Rep. Ventas - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 0cm - 0cm - 1cm - 1cm - 0.13cm - @@ -364,7 +364,7 @@ @@ -382,14 +382,14 @@ - + true true - =Fields!Serie.Value + =Fields!SerieLote.Value @@ -400,7 +400,7 @@ - Serie + SerieLote1 @@ -667,7 +667,7 @@ 7.62586in - 4.71488cm + 3.10092cm true true @@ -792,6 +792,35 @@ 2pt + + true + true + + + + + ="Almacen: " & Parameters!Almacen.Value + + + 2pt + 2pt + 2pt + 2pt + + true true @@ -814,7 +843,7 @@ 3.97584cm 0.6cm 7.26539cm - 4 + 5 @@ -847,7 +876,7 @@ 3.92465cm 0.6cm 9.64491cm - 5 + 6 @@ -866,119 +895,59 @@ 0.10236cm 1.65182cm 3.66114cm - 6 + 7 - + + + + + + + 0.635cm + true + true + + true true - Proveedor: + Fecha Impresión: - - - =Parameters!NombreProveedor.Value - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Factura: - - - - =Parameters!FacturaProveedor.Value - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Almacén: - - - - - @@ -995,7 +964,7 @@ - + 27.94cm 21.59cm 1cm @@ -1046,8 +1015,8 @@ Almacen System.String - - Serie + + SerieLote System.String @@ -1092,6 +1061,18 @@ true ReportParameter1 + + String + true + true + ReportParameter1 + + + String + true + true + ReportParameter1 + String true @@ -1104,197 +1085,7 @@ true ReportParameter1 - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - - image/png - 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 - - - image/png - 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 - - Cm e4a0366f-2d22-4c77-a359-a8117ce73229 \ No newline at end of file diff --git a/Empresas/Grales/Formatos/rptChequeMovimientos.rdlc b/Empresas/Grales/Formatos/rptChequeMovimientos.rdlc index 6c7423b61..22ac7bbe0 100644 --- a/Empresas/Grales/Formatos/rptChequeMovimientos.rdlc +++ b/Empresas/Grales/Formatos/rptChequeMovimientos.rdlc @@ -1,5 +1,1814 @@ - + + + + + true + true + + + + + =Parameters!Cuenta.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Paguese.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="<b>Importe: </b>" & FormatCurrency(Parameters!Importe.Value, 2) & " " & Parameters!MonedaAbreviatura.Value + HTML + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Observaciones.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 2.57974cm + + + 6.32386cm + + + 2.08353cm + + + 2.00257cm + + + 2.29951cm + + + 1.79499cm + + + 2.18122cm + + + + + 0.4677cm + + + + + true + true + + + + + Factura + + + + + + + Textbox19 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Descripción + + + + + + + Textbox21 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + F. Factura + + + + + + + Textbox23 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Original + + + + + + + Textbox25 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Abonado + + + + + + + Textbox27 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + N.C + + + + + + + Textbox2 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Saldo + + + + + + + Textbox3 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Fields!SerieFolio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Descripcion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!FechaCompra.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Total.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteNC.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Saldo.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Total + + + + : + + + + + + + Textbox30 + + + 2pt + 2pt + 2pt + 2pt + + + 4 + + + + + + + + + true + true + + + + + =IiF(SUM(Fields!Importe.Value) > 0, SUM(Fields!Importe.Value),0.00) + + + + + + + Importe2 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteNC.Value) + + + + + + + Textbox5 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!Saldo.Value) + + + + + + + Textbox6 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + After + + + + + =Fields!SerieFolio.Value + =Fields!Descripcion.Value + =Fields!FechaCompra.Value + =Fields!Total.Value + =Fields!Importe.Value + =Fields!Saldo.Value + + + + + Before + + + + true + DataSet1 + 2.18687cm + 0.25413cm + 1.6677cm + 19.26542cm + 4 + + + + + + true + true + + + + + Cuenta: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Paguese: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Obs: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 2.03432cm + 19.51955cm + 0cm + -19.47588cm + 8 + + + + + + true + true + + + + + ="<b> Folio: </b>" & Parameters!Folio.Value + HTML + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 2.5cm + + + 2.95074cm + + + 2.5cm + + + + + 0.52063cm + + + + + true + true + + + + + Resumen Notas de Crédito + + + + + + + Textbox7 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.6cm + + + + + true + true + + + + + Factura + + + + + + + Textbox4 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Nota de Crédito + + + + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox10 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Fields!SerieFolio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SerieFolioNC.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Total: + + + + + + + Textbox13 + + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + =SUM(Fields!Importe.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + + + After + + + + + + =Fields!SerieFolio.Value + + + + + + + + Before + + + + true + DataSet2 + 4.20735cm + 0.25413cm + 2.32063cm + 7.95074cm + 10 + + =iif(Sum(Fields!Importe.Value)>0,false, true) + + + + + + + 6.70437cm + 19.51955cm + 0cm + -19.51955cm + 11 + + + + + + true + true + + + + + Fecha: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Fecha.Value + + + + + + + Cuenta + 0.0635cm + 6.22945in + 0.23622in + 1.40532in + 13 + + + 2pt + 2pt + 2pt + 2pt + + + + 7.24235cm + + + + + + + Textbox1 + 0.3175cm + 2.52765cm + 0.6cm + 14.40301cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + REPORTE DE PAGO DE MOVIMIENTOS + + + + + + + + + + + + + + + + Textbox2 + 0.95278cm + 2.52765cm + 0.55591cm + 14.40301cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!LogoPath.Value + FitProportional + 0.15522cm + 2.22362cm + 2.33715cm + 2 + + + + + + + + + + + 0.52063cm + true + true + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox41 + 0.01764cm + 16.41607cm + 0.48535cm + 2.97625cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Usuario: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!UsuarioImprimio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresión: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!FechaImpresion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 27.94cm + 21.59cm + 1cm + 1cm + 1.5cm + 1.5cm + 0.13cm + - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Paguese.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="<b>Importe: </b>" & FormatCurrency(Parameters!Importe.Value, 2) & " " & Parameters!MonedaAbreviatura.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Observaciones.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.57974cm - - - 6.32386cm - - - 2.08353cm - - - 2.00257cm - - - 2.29951cm - - - 1.79499cm - - - 2.18122cm - - - - - 0.4677cm - - - - - true - true - - - - - Factura - - - - - - - Textbox19 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox21 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - F. Factura - - - - - - - Textbox23 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Original - - - - - - - Textbox25 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Abonado - - - - - - - Textbox27 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - N.C - - - - - - - Textbox2 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Saldo - - - - - - - Textbox3 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - =Fields!SerieFolio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Descripcion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!FechaCompra.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!ImporteNC.Value) - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Saldo.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - Total - - - - : - - - - - - - Textbox30 - - - 2pt - 2pt - 2pt - 2pt - - - 4 - - - - - - - - - true - true - - - - - =IiF(SUM(Fields!Importe.Value) > 0, SUM(Fields!Importe.Value),0.00) - - - - - - - Importe2 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!ImporteNC.Value) - - - - - - - Textbox5 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!Saldo.Value) - - - - - - - Textbox6 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - - After - - - - - =Fields!SerieFolio.Value - =Fields!Descripcion.Value - =Fields!FechaCompra.Value - =Fields!Total.Value - =Fields!Importe.Value - =Fields!Saldo.Value - - - - - Before - - - - true - DataSet1 - 2.18687cm - 0.25413cm - 1.6677cm - 19.26542cm - 4 - - - - - - true - true - - - - - Cuenta: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Paguese: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Obs: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 2.03432cm - 19.51955cm - 0cm - -19.47588cm - 8 - - - - - - true - true - - - - - ="<b> Folio: </b>" & Parameters!Folio.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.5cm - - - 2.95074cm - - - 2.5cm - - - - - 0.52063cm - - - - - true - true - - - - - Resumen Notas de Crédito - - - - - - - Textbox7 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - 3 - - - - - - - - 0.6cm - - - - - true - true - - - - - Factura - - - - - - - Textbox4 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Nota de Crédito - - - - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox10 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - =Fields!SerieFolio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SerieFolioNC.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - Total: - - - - - - - Textbox13 - - - 2pt - 2pt - 2pt - 2pt - - - 2 - - - - - - - true - true - - - - - =SUM(Fields!Importe.Value) - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - After - - - After - - - - - - =Fields!SerieFolio.Value - - - - - - - - Before - - - - true - DataSet2 - 4.20735cm - 0.25413cm - 2.32063cm - 7.95074cm - 10 - - =iif(Sum(Fields!Importe.Value)>0,false, true) - - - - - - - 6.70437cm - 19.51955cm - 0cm - -19.51955cm - 11 - - - - - - true - true - - - - - Fecha: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Fecha.Value - - - - - - - Cuenta - 0.0635cm - 6.22945in - 0.23622in - 1.40532in - 13 - - - 2pt - 2pt - 2pt - 2pt - - - - 7.24235cm - - - - - - - Textbox1 - 0.3175cm - 2.52765cm - 0.6cm - 14.40301cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - REPORTE DE PAGO DE MOVIMIENTOS - - - - - - - - - - - - - - - - Textbox2 - 0.95278cm - 2.52765cm - 0.55591cm - 14.40301cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.15522cm - 2.22362cm - 2.33715cm - 2 - - - - - - - - - - - 0.52063cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox41 - 0.01764cm - 16.41607cm - 0.48535cm - 2.97625cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaImpresion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 1cm - 1cm - 1.5cm - 1.5cm - 0.13cm - - - - - - - Textbox20 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - @@ -790,40 +746,6 @@ - - - - true - true - - - - - =Fields!FechaMovto.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - @@ -1010,14 +932,13 @@ 2pt - 6 + 5 - @@ -1143,7 +1064,6 @@ - @@ -1173,7 +1093,7 @@ 2.18687cm 0.19063cm 1.42958cm - 21.11455cm + 21.07307cm 4 - - true - true - - - - - T.C.: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!TC.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - 7.79798cm
    - <%-- - -
    - -
    -
    + <%-- + +
    + +
    +
    --%>
    @@ -119,19 +119,19 @@ - <%-- - - - - - - - - + <%-- + + + + + + + + --%>
    - Fecha Inicio: + Fecha Inicio:
    @@ -149,7 +149,7 @@
    - Fecha Fin: + Fecha Fin:
    @@ -169,25 +169,25 @@
    - <%-- - - - - - - - - - - - - - - - - - - + <%-- + + + + + + + + + + + + + + + + + + --%>
    @@ -433,11 +433,9 @@ <%--20--%> <%--21--%> - + <%--22--%> - - <%--23--%> - + @@ -479,7 +477,7 @@ - + @@ -495,13 +493,12 @@ - - - - + + + @@ -537,7 +534,7 @@
    - Especifico: + Especifico:
    @@ -603,64 +600,64 @@ - diff --git a/Ventas/RepProductosServiciosDetalle.aspx.vb b/Ventas/RepProductosServiciosDetalle.aspx.vb index a6a63d4bd..c93e9be1d 100644 --- a/Ventas/RepProductosServiciosDetalle.aspx.vb +++ b/Ventas/RepProductosServiciosDetalle.aspx.vb @@ -73,8 +73,7 @@ Partial Class Ventas_RepProductosServiciosDetalle Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then - DivMostrarCgame.Visible = (UsuarioActual.CveEmpresa = 172) - DivMostrarCgame2.Visible = (UsuarioActual.CveEmpresa = 172) + If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx") SetValues() CargaParametrosDetalle() @@ -559,7 +558,6 @@ Partial Class Ventas_RepProductosServiciosDetalle GvDatos.Columns(20).Visible = ChkOC_noOrden.Checked GvDatos.Columns(21).Visible = ChkOC_Kilogramos.Checked GvDatos.Columns(22).Visible = ChkOC_Cantidad.Checked - GvDatos.Columns(23).Visible = ChkNoManifiesto.Checked diff --git a/Ventas/RepProductosServiciosPeriodo.aspx.cs b/Ventas/RepProductosServiciosPeriodo.aspx.cs index 45db249c9..4f9b687ff 100644 --- a/Ventas/RepProductosServiciosPeriodo.aspx.cs +++ b/Ventas/RepProductosServiciosPeriodo.aspx.cs @@ -4,7 +4,7 @@ using System.Web.UI.HtmlControls; using System.Text; using Newtonsoft.Json.Linq; public partial class Ventas_RepProductosServiciosPeriodo : ClsPaginas -{ +{ #region PROPIEDADES diff --git a/Ventas/RepVentas.aspx b/Ventas/RepVentas.aspx index cfe98e034..1f5ed3205 100644 --- a/Ventas/RepVentas.aspx +++ b/Ventas/RepVentas.aspx @@ -78,9 +78,9 @@ Personalizar Columnas <%-- Personalizar--%> - - - + + + @@ -98,23 +98,25 @@
  • Ver Grafica
  • -
  • - Descarga Carta Porte +
  • + Descarga Carta Porte
  • -
  • - Generar XLS 1 +
  • + Generar XLS 1 +
  • +
  • + Generar XLS 2 +
  • +
  • + Ventas por código
  • -
  • - Generar XLS 2 -
  • - - + - - + +
    @@ -144,7 +146,7 @@ - + <%-- @@ -335,8 +337,8 @@
    - -
    + +
    @@ -344,28 +346,28 @@
    Servicio Domicilio: -
    - - Todos - Si - No +
    + + Todos + Si + No
    Factura Global: -
    - - Todos - Solo Globales - Sin Globales - -
    +
    + + Todos + Solo Globales + Sin Globales + +
    - -
    - - -
    + +
    + + +
    @@ -399,7 +401,7 @@ <%--6--%> <%--7--%> - + <%--8--%> <%--9--%> @@ -422,24 +424,24 @@ <%--18--%> - - + + <%-- --%> <%--19--%> - - - - - + + + + + <%--20--%> - - - - + + + + @@ -465,93 +467,91 @@ - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - - - + + + - + - + - - - + + + - + - + - + - - - - + + @@ -560,7 +560,7 @@ - - - + +