diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index 65340c487..551fca6ab 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -64,7 +64,7 @@ Public Class ClsBancos Public Property Importe As Double Public Property CveMoneda As Integer Public Property Moneda As String - Public Property TipoCambio As Double + Public Property TipoCambio As Decimal Public Property ClaveFormaPagoSAT As String Public Property Observaciones As String Public Property NotificarA As String @@ -762,7 +762,7 @@ Public Class ClsBancos Me.Importe = Data.Rows(0)("Importe").ToString.ToDouble Me.CveMoneda = Data.Rows(0)("CveMoneda").ToString.ToEntero Me.Moneda = Data.Rows(0)("Moneda").ToString - Me.TipoCambio = Data.Rows(0)("TipoCambio").ToString.ToDouble + Me.TipoCambio = Data.Rows(0)("TipoCambio").ToString.ToDecimal Me.Observaciones = Data.Rows(0)("Observaciones").ToString NotificarA = Data.Rows(0)("NotificarA").ToString Me.EsAbonoEnCuenta = CBool(Data.Rows(0)("EsAbonoEnCuenta").ToString) diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index 0128188fc..fb2ad4e9c 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -1338,10 +1338,14 @@ Public Class ClsNominas SqlAdapter.Fill(Data) Retorno = SqlAdapter.SelectCommand.Parameters("@RETURN_VALUE").Value.ToString.ToEntero Catch Ex1 As SqlException + + If Ex1.Message.Contains("Número: 2627;") Then Alert("Ya existe un Concepto de Nomina con el mismo nombre: " & Codigo & ".", TipoMensaje.MsgAdvertencia) + ElseIf Ex1.Message.Contains("UK_Nom_Conceptos_CveEmpresa_Codigo") Then + Alert("Ya existe un Concepto de Nomina con el mismo Código: " & Codigo & ".", TipoMensaje.MsgAdvertencia) Else - Me.OnError("Ocurrió un error al Guardar el Concepto de Nomina.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Me.OnError("Ocurrió un error al Guardar el Concepto de Nomina.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End If Catch ex As Exception OnError("Ocurrió un error al Guardar el Concepto de Nomina", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) @@ -1386,6 +1390,8 @@ Public Class ClsNominas Catch Ex1 As SqlException If Ex1.Message.Contains("Número: 2627;") Then Alert("Ya existe un Concepto de Nomina con el mismo nombre: " & Codigo & ".", TipoMensaje.MsgAdvertencia) + ElseIf Ex1.Message.Contains("UK_Nom_Conceptos_CveEmpresa_Codigo") Then + Alert("Ya existe un Concepto de Nomina con el mismo Código: " & Codigo & ".", TipoMensaje.MsgAdvertencia) Else Me.OnError("Ocurrió un error el Concepto de Nomina", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End If diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index ea843f582..4d0886e3e 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5384,7 +5384,7 @@ Public Class ClsPaginas PaginaDict.Add("/RH/RepUniformes.aspx".ToUpper(), 630) PaginaDict.Add("/RH/RepUniformesResguardo.aspx".ToUpper(), 666) - PaginaDict.Add("/RH/ListaAsistenciaRH.aspx".ToUpper(), 631) + 'PaginaDict.Add("/RH/ListaAsistenciaRH.aspx".ToUpper(), 631) PaginaDict.Add("/RH/CatUniformes.aspx".ToUpper(), 632) PaginaDict.Add("/RH/CatUniformesDetalle.aspx".ToUpper(), 633) PaginaDict.Add("/RH/CatConceptosViaticos.aspx".ToUpper(), 662) @@ -9360,5 +9360,356 @@ Public Class ClsPaginas End If dtsec.Dispose() End Sub + +#Region "P A G O D E C O M P R A S " + + + Public Function AplicaPrePolizaPago(CompraActual As Compra, Pago As CompraPago, CvePrePoliza As Integer, ByRef ObjConta As ClsContabilidad) As Boolean + Dim ErrorMovtos As Boolean = False + Dim PorcentajePago As Decimal = Pago.ImportePago / CompraActual.Total + Dim ImporteMovimiento As Decimal = 0 + Dim tImportePago, tImporteCompra As Decimal + Dim CveConceptoContableComplementaria As Integer = 206 + + Pago.CveConceptoPago = If(Pago.CveConceptoPago = -1, 17, Pago.CveConceptoPago) 'si viene en parametro lo toma com primera opcion, sino el 17 + If CompraActual.CveTipoConceptoProveedor = 2 Then Pago.CveConceptoPago = 308 'cuando es acreedor + If CompraActual.CveMoneda <> 1 Then + Select Case Pago.CveConceptoPago + Case 17 : Pago.CveConceptoPago = 312 + Case 308 : Pago.CveConceptoPago = 309 : CveConceptoContableComplementaria = 310 + Case Else + End Select + End If + + Dim Concepto As String = String.Format("{0} F:{1}", CompraActual.ProveedorNombre, CompraActual.SerieFolio) + Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False) + + Dim tFecha As Date = Pago.Fecha + Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) + + If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then + If UltimaFluctuacion.FechaFluctuacion <= tFecha Then + 'FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion + CompraActual.TC = UltimaFluctuacion.TCFluctuacion + End If + End If + + If CompraActual.CveMoneda = 1 And Pago.CveMonedaPago <> 1 Then 'factura pesos, pago en dolares + tImportePago = ((Pago.ImportePago * CompraActual.TC / Pago.TCPago).RoundSQL * Pago.TCPago).RoundSQL + ElseIf CompraActual.CveMoneda <> 1 And Pago.CveMonedaPago <> 1 Then 'factura dolares, pago en dolares + tImporteCompra = (Pago.ImportePago * CompraActual.TC).RoundSQL + tImportePago = (Pago.ImportePago * Pago.TCPago).RoundSQL + ElseIf CompraActual.CveMoneda <> 1 And Pago.CveMonedaPago = 1 Then 'factura dolares, pago en pesos + tImporteCompra = (Pago.ImportePago * CompraActual.TC).RoundSQL + tImportePago = (Pago.ImportePago * Pago.TCPago).RoundSQL + End If + + 'movimiento de pago proveedor + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC) Then + ErrorMovtos = True + End If + + 'movimiento de pago proveedor Complementaria + If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 Then + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (Pago.ImportePago * CompraActual.TC - Pago.ImportePago).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC, ImporteME:=Pago.ImportePago) Then + ErrorMovtos = True + End If + End If + + 'si tiene iva y su proporcion + If Not ErrorMovtos AndAlso CompraActual.IVA <> 0 Then + ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL + Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaIVA + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.IVA).RoundSQL * Pago.TCPago).RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + If CompraActual.IVANoDeducible > 0 Then + + Dim ImporteNOIVA As Decimal = CompraActual.IVANoDeducible * PorcentajePago + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteNOIVA, ImporteNOIVA, 280, CompraActual.SerieFolio, Concepto, Ret.IdCtaContIVANoAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + End If + + End If + + 'si tiene RET IVA y su proporcion + If Not ErrorMovtos AndAlso CompraActual.RetIVA > 0 Then + ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL + Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetIVA + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.RetIVA).RoundSQL * Pago.TCPago).RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + End If + + 'si tiene Ret ISR y su proporcion + If Not ErrorMovtos AndAlso CompraActual.RetISR > 0 Then + ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL + Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetISR + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.RetISR).RoundSQL * Pago.TCPago).RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + End If + + 'si tiene IEPS y su proporcion + If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then + ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL + Dim Ret As New CompraRetenciones + If UsuarioActual.Empresa.TipoContabilidad = 2 Then + If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero + + If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero + + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe + If FuncionalidadFluctuacionImpuestos Then ImporteMovimiento = ((PorcentajePago * CompraActual.IEPS).RoundSQL * Pago.TCPago).RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + + End If + + 'si tiene otros gastos/ingresos + ImporteMovimiento = Pago.OtroGastoIngreso + If Not ErrorMovtos AndAlso ImporteMovimiento <> 0 Then + Dim tOtCveCon As Integer = 211 + Dim tOtTipoMovto As Boolean = False + If ImporteMovimiento < 0 Then + tOtTipoMovto = True : tOtCveCon = 78 + ImporteMovimiento = Math.Abs(ImporteMovimiento) + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tOtTipoMovto, ImporteMovimiento, ImporteMovimiento, tOtCveCon, CompraActual.SerieFolio, Concepto, 0, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + + End If + + If Not ErrorMovtos AndAlso CompraActual.TC <> Pago.TCPago Then + Dim ConceptoContable, IdCtaContable As Integer + Dim TipoMovimiento As Boolean + Dim Diferencia As Decimal = 0 + + If tImporteCompra <> tImportePago Then + If tImporteCompra > tImportePago Then + ConceptoContable = 64 : IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria + TipoMovimiento = True + Else + ConceptoContable = 65 : IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria + TipoMovimiento = False + End If + Diferencia = (tImporteCompra - tImportePago).Abs.RoundSQL + + End If + + If FuncionalidadFluctuacionImpuestos Then + Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, Pago.TCPago, CompraActual.TC) + Diferencia = (Pago.ImportePago * CompraActual.TC) - (Pago.ImportePago * Pago.TCPago) 'Añadimos la diferencia de perdida en la venta + Diferencia -= ((CompraActual.IVA * PorcentajePago) * CompraActual.TC) - ((CompraActual.IVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA + Diferencia += ((CompraActual.RetIVA * PorcentajePago) * CompraActual.TC) - ((CompraActual.RetIVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA + Diferencia += ((CompraActual.RetISR * PorcentajePago) * CompraActual.TC) - ((CompraActual.RetISR * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR + Diferencia -= ((CompraActual.IEPS * PorcentajePago) * CompraActual.TC) - ((CompraActual.IEPS * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS + Diferencia = Diferencia.Abs.RoundSQL + End If + + If Diferencia <> 0 Then + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Diferencia, Diferencia, ConceptoContable, Concepto, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then + ErrorMovtos = True + End If + End If + End If + + Return ErrorMovtos + End Function + + + Public Class CompraPago + Public Fecha As Date + Public Property CveIE As Integer = -1 + Public Property CvePersonal As Integer = -1 + Public Property ImportePago As Decimal = 0 + Public Property CveMonedaPago As Integer = 1 + Public Property TCPago As Decimal = 1 + Public Property CveCompraAmortizacion As Integer = 0 + Public Property OtroGastoIngreso As Decimal = 0 + Public Property CveConceptoPago As Integer = -1 'no definido de inicio + + End Class + + Public Class Compra + Public Property CveCompra As Integer = -1 + Public Property CveProveedor As Integer + Public Property CveTipoConceptoProveedor As Integer + Public Property CveMoneda As Integer + Public Property SerieFolio As String = "" + Public Property ProveedorNombre As String = "" + Public Property EsImportacion As Boolean = False + Public Property TC As Decimal = 1 + Public Property Total As Decimal + Public Property IVA As Decimal + Public Property IVADeducible As Decimal + Public Property IVANoDeducible As Decimal = 0 + Public Property IEPS As Decimal + Public Property RetIVA As Decimal + Public Property RetISR As Decimal + Public Property PorcentajeIVA As Decimal + Public Property CveConceptoRetIVA As Integer + Public Property CveConceptoRetISR As Integer + Public Property CveSubProyecto As Integer + Public Property UsuarioActual As Usuario + + Public Property IdCtaContableProv As Integer + Public Property IdCtaContableProvComplementaria As Integer + Public ReadOnly Property ConceptoPrePolizaIVA As CompraRetenciones + Get + Dim Ret As New CompraRetenciones + If EsImportacion Then + Ret.CveConceptoAcreditable = 288 + Ret.CveConceptoxAcreditar = 287 + Else + Ret.CveConceptoAcreditable = 19 + Ret.CveConceptoxAcreditar = 14 + End If + + If UsuarioActual.Empresa.TipoContabilidad = 2 Then + + Dim IdCtaIVAXAcreditar, IdCtaIVAAcreditable As Integer + Dim dt As DataTable = ClsPaginas.GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA) + If dt.Rows.Count > 0 Then + IdCtaIVAXAcreditar = dt.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero + IdCtaIVAAcreditable = dt.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero + End If + + Ret.IdCtaContableAcreditable = IdCtaIVAAcreditable + Ret.IdCtaContablexAcreditar = IdCtaIVAXAcreditar + End If + + Return Ret + End Get + End Property + + Public ReadOnly Property ConceptoPrePolizaRetIVA As CompraRetenciones + Get + Dim Ret As New CompraRetenciones + Dim Funcionalidad As Integer + If CveConceptoRetIVA = 1 Then + Funcionalidad = 308 + Ret.CveConceptoAcreditable = 22 + Ret.CveConceptoxAcreditar = 15 + ElseIf CveConceptoRetIVA = 2 Then + Funcionalidad = 310 + Ret.CveConceptoAcreditable = 184 + Ret.CveConceptoxAcreditar = 183 + ElseIf CveConceptoRetIVA = 3 Then + Funcionalidad = 312 + Ret.CveConceptoAcreditable = 186 + Ret.CveConceptoxAcreditar = 185 + ElseIf CveConceptoRetIVA = 4 Then + Funcionalidad = 314 + Ret.CveConceptoAcreditable = 249 + Ret.CveConceptoxAcreditar = 248 + ElseIf CveConceptoRetIVA = 5 Then + Funcionalidad = 578 + Ret.CveConceptoAcreditable = 286 + Ret.CveConceptoxAcreditar = 285 + ElseIf CveConceptoRetIVA = 6 Then + Funcionalidad = 578 + Ret.CveConceptoAcreditable = 333 + Ret.CveConceptoxAcreditar = 334 + End If + + If UsuarioActual.Empresa.TipoContabilidad = 2 Then + If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then + Ret.IdCtaContablexAcreditar = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero + Else + Dim ObjConta As New ClsContabilidad + If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + End If + End If + If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + End If + End If + ObjConta.Dispose() + End If + End If + + Return Ret + End Get + End Property + Public ReadOnly Property ConceptoPrePolizaRetISR As CompraRetenciones + Get + Dim Ret As New CompraRetenciones + Dim Funcionalidad As Integer + If CveConceptoRetISR = 1 Then + Funcionalidad = 316 + Ret.CveConceptoAcreditable = 23 + Ret.CveConceptoxAcreditar = 16 + ElseIf CveConceptoRetISR = 2 Then + Funcionalidad = 318 + Ret.CveConceptoAcreditable = 244 + Ret.CveConceptoxAcreditar = 243 + ElseIf CveConceptoRetISR = 3 Then + Funcionalidad = 348 + Ret.CveConceptoAcreditable = 328 + Ret.CveConceptoxAcreditar = 327 + End If + + If UsuarioActual.Empresa.TipoContabilidad = 2 Then + If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then + Ret.IdCtaContableAcreditable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero + Else + Dim ObjConta As New ClsContabilidad + If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + End If + End If + If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + End If + End If + ObjConta.Dispose() + End If + End If + + Return Ret + End Get + + End Property + + End Class + + Public Class CompraRetenciones + Public Property CveConceptoxAcreditar As Integer + Public Property CveConceptoAcreditable As Integer + Public Property IdCtaContablexAcreditar As Integer + Public Property IdCtaContableAcreditable As Integer + Public Property IdCtaContIVANoAcreditable As Integer + + End Class + + + +#End Region + End Class diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index b0d5a6a97..c642bf35c 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -1896,7 +1896,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo End Function - Public Function GetPersonalMasivo(CveTurno As Integer, CveProyecto As Integer, CveSubProyecto As Integer, CveSupervisor As Integer, CveEmpresa As Integer) As Boolean + Public Function GetPersonalMasivo(CveTurno As Integer, CveProyecto As Integer, CveSubProyecto As Integer, CveSupervisor As Integer, CveEmpresa As Integer, Optional CveCliente As Integer = -1) As Boolean Dim Retorno As Boolean = False 'Data = New DataTable @@ -1906,7 +1906,8 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo .Add("@CveTurno", SqlDbType.Int).Value = CveTurno .Add("@CveProyecto", SqlDbType.Int).Value = CveProyecto .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveSupervisor", SqlDbType.Int).Value = CveSupervisor + .Add("@CveSupervisor", SqlDbType.Int).Value = CveSupervisor + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With @@ -2271,6 +2272,33 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo End Try Return Retorno End Function + Public Function UpdatePersonalMasivoData(CveTurno As Integer, CveCliente As Integer, CveSupervisor As Integer, CvePersonal As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + SqlDataAdapter("PA_RH_PersonalUpdateMasivoData") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveTurno", SqlDbType.Int).Value = CveTurno + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveSupervisor", SqlDbType.VarChar).Value = CveSupervisor + .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("El Personal no se guardó debido a que actualmente se encuentra registrado.", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al intentar guardar los cambios en el Personal.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al intentar guardar los cambios en el Personal.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function Public Function UpdatePersonalMasivo(CveTurno As Integer, CveSubProyecto As Integer, CveSupervisor As Integer, SalarioDiario As Double, SDI As Double, SalarioDiarioSS As Double, CvePersonal As Integer, CveEmpresa As Integer) As Boolean diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 13350f597..8058e13d5 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -2636,13 +2636,20 @@ Public Class ClsVentas -#Region "Firmas" - - Public Function GetVentasRelacionadas(CveVenta As Integer, CveEmpresa As Integer) As Boolean +#Region "Relacionadas" + ''' + ''' + ''' + ''' + ''' + ''' 1. Relacion de Padres, 2. Relacion sobre hijos + ''' + Public Function GetVentasRelacionadas(CveVenta As Integer, CveEmpresa As Integer, Optional TipoRelacion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasRelacionadasGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@TipoRelacion", SqlDbType.Int).Value = TipoRelacion .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With Try diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx index 13be2dac8..9afe72256 100644 --- a/Ashx/SIGWeb.ashx +++ b/Ashx/SIGWeb.ashx @@ -753,8 +753,8 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState Dim DtRetorno As DataTable = Nothing Dim ColumnaNombre As String = "NombreComercial" 'Abreviaturas. N. Nombre, NC. NombreComercial,... - If IfNull(context.Request("ColTexto"), "") = "N" Then - ColumnaNombre = "Nombre" + If context.Request("ColTexto") IsNot Nothing AndAlso context.Request("ColTexto").Contiene("N", "CodigoNombre") Then + ColumnaNombre = IIf(context.Request("ColTexto") = "N", "Nombre", context.Request("ColTexto")) End If Dim EsDistribuidor As Integer = IfNull(context.Request("esdistribuidor"), "-1").ToString.ToEntero diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 0a8ec268e..4c511f2c9 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -4303,6 +4303,7 @@ Partial Class Bancos_IE Dim MensajeError = "" Dim IdPolizaNueva = -1 Dim FolioPolizaNueva = -1 + Dim MensajeLog As String = "" Dim Banc As New ClsBancos Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL()) @@ -4427,7 +4428,7 @@ Partial Class Bancos_IE End If End If - + MensajeLog += "GeneraCancelacionEnCero:" & GeneraCancelacionEnCero Dim CvePrePolizaCancelacion As Integer = 0 If Not GeneraCancelacionEnCero Then @@ -4503,37 +4504,60 @@ Partial Class Bancos_IE If CveMotivoCancelacion > 0 AndAlso CveSATMotivoCancelacion > 0 Then - Dim ObjCancelacion As New Timbrado - If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then + Dim DtComplementos As DataTable = Nothing + If CveIE > 0 AndAlso Banc.GetComplementoPagos(-1, CveIE, -1, UsuarioActual.CveEmpresa) Then + DtComplementos = Banc.DtResultados.FiltraParametros(" Estatus IN(1,3) ") + End If - If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, Date.Now, "", 1) Then - CargaComplementosPago() - RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") - ErrorCancelarComplemento = False - Alert("El complemento se cancelo correctamente.") - End If + For Each RowComplemento As DataRow In DtComplementos.Rows - Else - Dim respCancelacion = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) - If respCancelacion.Verificado Then + CveComplementoPagoCancelar = RowComplemento("CveComplementoPago").ToString().ToEntero() + FolioFiscalCancelar = RowComplemento("FolioFiscal").ToString() + '' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC + RFCReceptorCancelar = RowComplemento("RFCReceptor").ToString() + CvePACCancelacion = RowComplemento("CvePAC").ToString().ToEntero() - If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + Dim ObjCancelacion As New Timbrado + If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then + + If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, Date.Now, "", 1) Then CargaComplementosPago() RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") ErrorCancelarComplemento = False Alert("El complemento se cancelo correctamente.") + Else + ErrorCancelarComplemento = True End If Else - Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) + Dim respCancelacion = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) + If respCancelacion.Verificado Then + + If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + CargaComplementosPago() + RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") + ErrorCancelarComplemento = False + Alert("El complemento se cancelo correctamente.") + End If + + Else + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) + ErrorCancelarComplemento = True + End If + End If + Next + + If DtComplementos IsNot Nothing Then + DtComplementos.Dispose() + DtComplementos = Nothing End If + + Else + ErrorCancelarComplemento = True End If - - - Else ErrorCancelarComplemento = False End If diff --git a/Bancos/PrestamoPersonal.aspx.cs b/Bancos/PrestamoPersonal.aspx.cs index 09dbde1c3..3798fed6a 100644 --- a/Bancos/PrestamoPersonal.aspx.cs +++ b/Bancos/PrestamoPersonal.aspx.cs @@ -583,8 +583,6 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas } - - if (CveIE > 0) { //GUARDA COMPROBANTE diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index a3c44fd31..3af2c50b1 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -2175,24 +2175,7 @@ Partial Class Compras_Compras If Cambio Then DdlRetIVAConcepto.Items.Clear() - If RFCProv.Length = 13 Then ' personal moral - If DIOTCveTipoOperacion = 1 Then '03 - Prestación de Servicios Profesionales - DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1")) - End If - - If DIOTCveTipoOperacion = 2 Then ' 06 - Arrendamiento de inmuebles - DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4")) - End If - - If DIOTCveTipoOperacion.Contiene(0, 3) Then ' 85 - Otros - DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1")) - DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4")) - DdlRetIVAConcepto.Items.Insert(0, New ListItem("Fletes P.M.", "3")) - DdlRetIVAConcepto.Items.Add(New ListItem("General", "6")) - End If - - - ElseIf RFCProv.Length = 12 Then + If RFCProv.Length = 13 Then ' personal fisica If DIOTCveTipoOperacion = 1 Then '03 - Prestación de Servicios Profesionales DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1")) End If @@ -2205,10 +2188,26 @@ Partial Class Compras_Compras DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1")) DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4")) DdlRetIVAConcepto.Items.Insert(0, New ListItem("Fletes P.F.", "2")) - DdlRetIVAConcepto.Items.Add(New ListItem("General.", "6")) + DdlRetIVAConcepto.Items.Add(New ListItem("Resico", "5")) + DdlRetIVAConcepto.Items.Add(New ListItem("General", "6")) End If + ElseIf RFCProv.Length = 12 Then ' persona moral + If DIOTCveTipoOperacion = 1 Then '03 - Prestación de Servicios Profesionales + DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1")) + End If + If DIOTCveTipoOperacion = 2 Then ' 06 - Arrendamiento de inmuebles + DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4")) + End If + + If DIOTCveTipoOperacion.Contiene(0, 3) Then ' 85 - Otros + DdlRetIVAConcepto.Items.Insert(0, New ListItem("Honorarios/Serv. Prof.", "1")) + DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4")) + DdlRetIVAConcepto.Items.Insert(0, New ListItem("Fletes P.M.", "3")) + DdlRetIVAConcepto.Items.Add(New ListItem("Resico", "5")) + DdlRetIVAConcepto.Items.Add(New ListItem("General.", "6")) + End If End If @@ -3082,7 +3081,7 @@ Partial Class Compras_Compras 'TIENE AMORTIZACIÓN If GvAnticiposSel.Rows.Count > 0 Then - If Not DdlTipoComprobante.SelectedValue.Contiene("NC") Then + If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then BtnCancelarCompra.Visible = False BtnEliminarCompra.Visible = False End If @@ -5862,8 +5861,6 @@ Partial Class Compras_Compras 'Dim CveIEProvisional = CveIE End If - - If ObjConta.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPrePoliza) Then Dim DTPlatilla As New DataTable @@ -5936,8 +5933,6 @@ Partial Class Compras_Compras Next - - Dim CveClasificacionDT As Integer = -1 Dim CveSubProyectoDT As Integer = -1 Dim CveTipoGastoDT As Integer = -1 @@ -5964,7 +5959,6 @@ Partial Class Compras_Compras If TipoCreditoInteres Then - Dim importeMovimientoIn As Decimal = ImporteIECredito - importeMovimiento Dim importeMNIn As Decimal = importeMovimientoIn * tipoCambioActual * Multiplicador @@ -5977,7 +5971,7 @@ Partial Class Compras_Compras End If End If End If - + importeMovimiento = 0 : importeMN = 0 If TipoCambioCompra > 1 AndAlso DdlMoneda.SelectedValue.ToEntero <> 1 Then Concepto += $" TC{TipoCambioCompra} ${importeMovimiento.FormatoNumero(2)}" If TipoCambioCompra = 1 Or DdlMoneda.SelectedValue.ToEntero = 1 Then @@ -6022,54 +6016,17 @@ Partial Class Compras_Compras IdCtaContable = IdCuentaBancaria End If + If importeMovimiento <> 0 Then + Dim Pago As New CompraPago + Pago.ImportePago = importeMovimiento + Pago.CveIE = CveIE + Pago.CveMonedaPago = 1 + Pago.CveCompraAmortizacion = -1 + 'Pago.CveConceptoPago = CveConceptoPago - 'Case 19 'IVA Acreditable - ' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - ' If importePagoProv = importeProv Then - ' importeMovimiento = TxtIVA.Text.ToDecimal - ' Else - ' importeMovimiento = 0 - ' End If - ' Else - ' importeMovimiento = importeIVAAcreditable - ' End If + ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + End If - ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - - ' PorcentajeImpuesto = PorcentajeIVA - ' IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) - ' If chkImportacion.Checked Then - ' ConceptoContable = 288 - ' End If - - ' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - ' If ObjConta.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero - ' End If - ' End If - - ' 'Agregamos el Opuesto del 19 -> 14 - ' If importeMovimiento <> 0 Then - ' Dim IdCtaIva As Integer = 0 - ' IdCtaIva = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0) - ' Dim ttConceptoContable As Integer = 14 - - ' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ttConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaIva > 0 Then - ' If ObjConta.DtResultados.Rows.Count > 0 Then - ' IdCtaIva = ObjConta.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero - ' End If - ' End If - - ' If chkImportacion.Checked Then - ' ttConceptoContable = 287 - ' End If - - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, ttConceptoContable, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaIva, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then - ' ErrorPrepoliza = True - ' End If - ' End If - - ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" Case 14 'IVA X Acreditar importeMovimiento = CompraActual.IVA importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL @@ -6109,21 +6066,6 @@ Partial Class Compras_Compras importeMN = 0 End If - - - 'Case 287 'IVA X Acreditar - ' importeMovimiento = CompraActual.IVA - ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - ' PorcentajeImpuesto = PorcentajeIVA - ' IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0) - ' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - ' If ObjConta.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero - ' End If - ' End If - - Case 25 'IEPS X Acreditar If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then CveSubProyectoInsertar = CveSubProyecto @@ -6137,40 +6079,14 @@ Partial Class Compras_Compras End If End If - Case 224 'Otros impuestos - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - importeMovimiento = OtrosImpuestos - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - IdCtaContable = If(UsuarioActual.CveEmpresa = 119, 1171, -1) - End If - 'Case 26 'IEPS Acreditable + 'Case 224 'Otros impuestos ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - ' importeMovimiento = ImporteIEPSAcreditable + ' importeMovimiento = OtrosImpuestos ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - ' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjConta.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - ' End If - ' End If - - ' 'Agregamos el Opuesto del 26 -> 25 - ' If importeMovimiento <> 0 Then - ' Dim IdCtaIEPS As Integer = 0 - ' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) Then - ' If ObjConta.DtResultados.Rows.Count > 0 Then - ' IdCtaIEPS = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero - ' End If - ' End If - - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 25, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaIEPS, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then - ' ErrorPrepoliza = True - ' End If - ' End If - ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - + ' IdCtaContable = If(UsuarioActual.CveEmpresa = 119, 1171, -1) ' End If + Case 15 'RetIVA X Acreditar Honorarios/Serv. Prof. If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then If DdlRetIVAConcepto.Items.Count > 0 AndAlso DdlRetIVAConcepto.SelectedValue.ToEntero() > 0 Then @@ -6217,119 +6133,6 @@ Partial Class Compras_Compras End If End If - 'Case 22 'RetIVA Acreditable Honorarios/Serv. Prof. - ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - ' If DdlRetIVAConcepto.Items.Count > 0 AndAlso DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then - ' Dim Funcionalidad As Integer = 0 - ' Dim ConceptoContableContra As Integer = 0 - - ' If DdlRetIVAConcepto.SelectedValue.ToEntero = 1 Then - ' Funcionalidad = 308 - ' ConceptoContable = 22 - ' ConceptoContableContra = 15 - ' ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 2 Then - ' Funcionalidad = 310 - ' ConceptoContable = 184 - ' ConceptoContableContra = 183 - - ' ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 3 Then - ' Funcionalidad = 312 - ' ConceptoContable = 186 - ' ConceptoContableContra = 185 - - ' ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 4 Then - ' Funcionalidad = 314 - ' ConceptoContable = 249 - ' ConceptoContableContra = 248 - - ' ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then - ' Funcionalidad = 578 - ' ConceptoContable = 286 - ' ConceptoContableContra = 285 - ' ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 6 Then - ' Funcionalidad = 578 - ' ConceptoContable = 333 - ' ConceptoContableContra = 334 - ' End If - - ' importeMovimiento = importeRetIVAAcreditable - ' importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL - - ' If UsuarioActual.Empresa.TipoContabilidad = 2 Then - - ' If CtaProveedorRetIVA > 0 Then - ' IdCtaContable = CtaProveedorRetIVA - ' ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero - ' Else - ' If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjConta.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - - ' 'Agregamos el Opuesto del 22 -> 15 - ' If importeMovimiento <> 0 Then - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, ConceptoContableContra, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then - ' ErrorPrepoliza = True - ' End If - ' End If - - ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - ' End If - ' End If - - 'Case 23 'RetISR Acreditable - ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - ' If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then - - ' Dim funcionalidad As Integer = 0 - ' Dim ConceptoContableContra As Integer = 0 - - ' If DdlRetISRConcepto.SelectedValue.ToEntero = 1 Then - ' funcionalidad = 316 - ' ConceptoContable = 23 - ' ConceptoContableContra = 16 - ' ElseIf DdlRetISRConcepto.SelectedValue.ToEntero = 2 Then - ' funcionalidad = 318 - ' ConceptoContable = 244 - ' ConceptoContableContra = 243 - ' ElseIf DdlRetISRConcepto.SelectedValue.ToEntero = 3 Then - ' funcionalidad = 348 - ' ConceptoContable = 328 - ' ConceptoContableContra = 327 - ' End If - - ' importeMovimiento = importeRetISRAcreditable - ' importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL - - ' If UsuarioActual.Empresa.TipoContabilidad = 2 Then - ' If CtaProveedorRetISR > 0 Then - ' IdCtaContable = CtaProveedorRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero - ' Else - ' If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjConta.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - - - ' 'Agregamos el Opuesto del 23 -> 16 - ' If importeMovimiento <> 0 Then - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, ConceptoContableContra, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then - ' ErrorPrepoliza = True - ' End If - ' End If - - ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - ' End If - ' End If Case 16 'Ret ISR X Acreditar If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then @@ -6397,27 +6200,6 @@ Partial Class Compras_Compras importeMovimiento = 0 End If - 'Case 65 'Perdida - - ' CveSubProyectoInsertar = CveSubProyecto - ' If CveSubProyectoInsertar <= 0 Then - ' ErrorPrepoliza = True - ' Alert("Concepto perdida cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia) - ' End If - - ' If TCPago > 0 AndAlso TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then - ' IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria - ' If TCPago < TipoCambioCompra Then - ' importeMovimiento = Math.Abs(TCPago - TipoCambioCompra) * importePagoProv - ' importeMovimiento -= Math.Abs(TCPago - TipoCambioCompra) * importeIVAAcreditable - ' importeMovimiento += Math.Abs(TCPago - TipoCambioCompra) * importeRetIVAAcreditable - ' importeMovimiento += Math.Abs(TCPago - TipoCambioCompra) * importeRetISRAcreditable - ' importeMN = importeMovimiento - ' End If - ' Else - ' importeMovimiento = 0 - ' End If - Case 6 'Compra Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 140, 145, 141, 152, 153, 154, 158, 159, 160, 161, 162, 163) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" @@ -7296,6 +7078,17 @@ Partial Class Compras_Compras End If End If + If importeMovimiento > 0 Then + Dim Pago As New CompraPago + Pago.ImportePago = importeFE + Pago.CveIE = -1 + Pago.CvePersonal = CvePersonal + + ErrorPrepoliza = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + + End If + + Case 21 'Anticipo If ArrAnticipos.Count > 0 Then @@ -7439,12 +7232,15 @@ Partial Class Compras_Compras If Ant.TipoMovto.Contiene("Ant") Then - Dim Pago As New CompraPago - Pago.ImportePago = importeMovimientoNC - Pago.CveIE = Ant.CveIE - Pago.CveMonedaPago = 1 + If importeMovimientoNC <> 0 Then + Dim Pago As New CompraPago + Pago.ImportePago = importeMovimientoNC + Pago.CveIE = Ant.CveIE + Pago.CveMonedaPago = 1 - ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + + End If End If @@ -7682,13 +7478,16 @@ Partial Class Compras_Compras If CveIE > 0 Then - 'inserto los movimientos de la conta para abonar al saldo - Dim Pago As New CompraPago - Pago.ImportePago = ImporteCompra - Pago.CveIE = CveIE - Pago.CveMonedaPago = 1 + If ImporteCompra <> 0 Then + 'inserto los movimientos de la conta para abonar al saldo + Dim Pago As New CompraPago + Pago.ImportePago = ImporteCompra + Pago.CveIE = CveIE + Pago.CveMonedaPago = 1 - ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta) + + End If Else ErrorMovtosIE = True @@ -20787,111 +20586,6 @@ Partial Class Compras_Compras End Sub - - Private Function AplicaPrePolizaPago(CompraActual As Compra, Pago As CompraPago, CvePrePoliza As Integer, ByRef ObjConta As ClsContabilidad) As Boolean - Dim ErrorMovtos As Boolean = False - Dim PorcentajePago As Decimal = Pago.ImportePago / CompraActual.Total - Dim ImporteMovimiento As Decimal = 0 - Dim CveConceptoContableComplementaria As Integer = 201 - - Pago.CveConceptoPago = If(Pago.CveConceptoPago = -1, 17, Pago.CveConceptoPago) 'si viene en parametro lo toma com primera opcion, sino el 17 - If CompraActual.CveTipoConceptoProveedor = 2 Then Pago.CveConceptoPago = 308 'cuando es acreedor - If CompraActual.CveMoneda <> 1 Then - Select Case Pago.CveConceptoPago - Case 17 : Pago.CveConceptoPago = 312 - Case 308 : Pago.CveConceptoPago = 309 : CveConceptoContableComplementaria = 307 - Case Else - End Select - End If - Dim Concepto As String = CompraActual.ProveedorNombre & " F:" & CompraActual.SerieFolio - - 'movimiento de pago proveedor - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, Pago.CveConceptoPago, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC) Then - ErrorMovtos = True - End If - - 'movimiento de pago proveedor Complementaria - If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 Then - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (Pago.ImportePago * CompraActual.TC - Pago.ImportePago).RoundSQL, CveConceptoContableComplementaria, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=CompraActual.TC, ImporteME:=Pago.ImportePago) Then - ErrorMovtos = True - End If - End If - - 'si tiene iva y su proporcion - ImporteMovimiento = (PorcentajePago * CompraActual.IVA).RoundSQL - If Not ErrorMovtos AndAlso ImporteMovimiento <> 0 Then - - Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaIVA - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - End If - - 'si tiene RET IVA y su proporcion - ImporteMovimiento = (PorcentajePago * CompraActual.RetIVA).RoundSQL - If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then - Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetIVA - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - End If - - 'si tiene Ret ISR y su proporcion - ImporteMovimiento = (PorcentajePago * CompraActual.RetISR).RoundSQL - If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then - Dim Ret As CompraRetenciones = CompraActual.ConceptoPrePolizaRetISR - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - End If - - 'si tiene IEPS y su proporcion - ImporteMovimiento = (PorcentajePago * CompraActual.IEPS).RoundSQL - If Not ErrorMovtos AndAlso ImporteMovimiento > 0 Then - Dim Ret As New CompraRetenciones - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If ObjConta.GetRetCuenta(26, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - End If - If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero - End If - End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMovimiento, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMovimiento, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=CvePersonal) Then ErrorMovtos = True - - End If - - If Not ErrorMovtos AndAlso CompraActual.TC <> Pago.TCPago Then - ImporteMovimiento = (Pago.ImportePago * CompraActual.TC) - (Pago.ImportePago * Pago.TCPago) - Dim ConceptoContable, IdCtaContable As Integer - Dim TipoMovimiento As Boolean - If ImporteMovimiento > 0 Then - ConceptoContable = 64 : TipoMovimiento = True - IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria - ElseIf ImporteMovimiento < 0 Then - ConceptoContable = 65 : TipoMovimiento = False - IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria - End If - - ImporteMovimiento = ImporteMovimiento.Abs.RoundSQL() - If ImporteMovimiento <> 0 Then - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, ImporteMovimiento, ConceptoContable, Concepto, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then - ErrorMovtos = True - End If - End If - End If - - Return ErrorMovtos - End Function - End Class Public Class MMensajeDevolucion @@ -20901,167 +20595,3 @@ Public Class MMensajeDevolucion Public Property Total As Decimal End Class -Public Class CompraPago - Public Property CveIE As Integer = -1 - Public Property CvePersonal As Integer = -1 - Public Property ImportePago As Decimal - Public Property CveMonedaPago As Integer = 1 - Public Property TCPago As Decimal = 1 - Public Property CveCompraAmortizacion As Integer - Public Property CveConceptoPago As Integer = -1 'no definido de inicio - -End Class - -Public Class Compra - Public Property CveCompra As Integer = -1 - Public Property CveProveedor As Integer - Public Property CveTipoConceptoProveedor As Integer - Public Property CveMoneda As Integer - Public Property SerieFolio As String = "" - Public Property ProveedorNombre As String = "" - Public Property EsImportacion As Boolean = False - Public Property TC As Decimal = 1 - Public Property Total As Decimal - Public Property IVA As Decimal - Public Property IEPS As Decimal - Public Property RetIVA As Decimal - Public Property RetISR As Decimal - Public Property PorcentajeIVA As Decimal - Public Property CveConceptoRetIVA As Integer - Public Property CveConceptoRetISR As Integer - Public Property CveSubProyecto As Integer - Public Property UsuarioActual As Usuario - - Public Property IdCtaContableProv As Integer - Public Property IdCtaContableProvComplementaria As Integer - Public ReadOnly Property ConceptoPrePolizaIVA As CompraRetenciones - Get - Dim Ret As New CompraRetenciones - If EsImportacion Then - Ret.CveConceptoAcreditable = 288 - Ret.CveConceptoxAcreditar = 287 - Else - Ret.CveConceptoAcreditable = 19 - Ret.CveConceptoxAcreditar = 14 - End If - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - - Dim IdCtaIVAXAcreditar, IdCtaIVAAcreditable As Integer - Dim dt As DataTable = ClsPaginas.GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA) - If dt.Rows.Count > 0 Then - IdCtaIVAXAcreditar = dt.Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = dt.Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If - - Ret.IdCtaContableAcreditable = IdCtaIVAAcreditable - Ret.IdCtaContablexAcreditar = IdCtaIVAXAcreditar - End If - - Return Ret - End Get - End Property - - Public ReadOnly Property ConceptoPrePolizaRetIVA As CompraRetenciones - Get - Dim Ret As New CompraRetenciones - Dim Funcionalidad As Integer - If CveConceptoRetIVA = 1 Then - Funcionalidad = 308 - Ret.CveConceptoAcreditable = 22 - Ret.CveConceptoxAcreditar = 15 - ElseIf CveConceptoRetIVA = 2 Then - Funcionalidad = 310 - Ret.CveConceptoAcreditable = 184 - Ret.CveConceptoxAcreditar = 183 - ElseIf CveConceptoRetIVA = 3 Then - Funcionalidad = 312 - Ret.CveConceptoAcreditable = 186 - Ret.CveConceptoxAcreditar = 185 - ElseIf CveConceptoRetIVA = 4 Then - Funcionalidad = 314 - Ret.CveConceptoAcreditable = 249 - Ret.CveConceptoxAcreditar = 248 - ElseIf CveConceptoRetIVA = 5 Then - Funcionalidad = 578 - Ret.CveConceptoAcreditable = 286 - Ret.CveConceptoxAcreditar = 285 - ElseIf CveConceptoRetIVA = 6 Then - Funcionalidad = 578 - Ret.CveConceptoAcreditable = 333 - Ret.CveConceptoxAcreditar = 334 - End If - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then - Ret.IdCtaContablexAcreditar = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero - Else - Dim ObjConta As New ClsContabilidad - If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - ObjConta.Dispose() - End If - End If - - Return Ret - End Get - End Property - Public ReadOnly Property ConceptoPrePolizaRetISR As CompraRetenciones - Get - Dim Ret As New CompraRetenciones - Dim Funcionalidad As Integer - If CveConceptoRetISR = 1 Then - Funcionalidad = 316 - Ret.CveConceptoAcreditable = 23 - Ret.CveConceptoxAcreditar = 16 - ElseIf CveConceptoRetISR = 2 Then - Funcionalidad = 318 - Ret.CveConceptoAcreditable = 244 - Ret.CveConceptoxAcreditar = 243 - ElseIf CveConceptoRetISR = 3 Then - Funcionalidad = 348 - Ret.CveConceptoAcreditable = 328 - Ret.CveConceptoxAcreditar = 327 - End If - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then - Ret.IdCtaContableAcreditable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero - Else - Dim ObjConta As New ClsContabilidad - If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - End If - End If - If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - End If - End If - ObjConta.Dispose() - End If - End If - - Return Ret - End Get - - End Property - -End Class - -Public Class CompraRetenciones - Public Property CveConceptoxAcreditar As Integer - Public Property CveConceptoAcreditable As Integer - Public Property IdCtaContablexAcreditar As Integer - Public Property IdCtaContableAcreditable As Integer -End Class - diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx index 165b2899a..772a28732 100644 --- a/Compras/ReembolsosComprobaciones.aspx +++ b/Compras/ReembolsosComprobaciones.aspx @@ -294,7 +294,7 @@ + DataKeyNames="CveCompra,FechaCompra,CveProveedor,Proveedor,SerieFolio,SubTotal,IVA,RetIVA,RetISR,IEPS,Total,TipoCambio,IdCtaContProveedores,IdCtaContAcreedor,CvePrePoliza,IdPoliza,CveRetIVAConcepto,CveRetISRConcepto,IVAPorcentaje,IVADeducible,IVANoDeducible,CveTipoConcepto,CveSubProyecto,IVAPorPagar"> @@ -337,9 +337,9 @@ - Monto Compra (Saldo Orig.) + Total -   +   diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index adea81f2d..43a31ced1 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -1,4 +1,6 @@ - +Option Explicit On +Option Strict On + Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms @@ -25,6 +27,24 @@ Partial Class Compras_ReembolsosComprobaciones ViewState("CveMoneda") = value End Set End Property + Private Property CveMonedaPago As Integer + Get + Return ViewState("CveMonedaPago").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveMonedaPago") = value + End Set + End Property + + Private Property TipoCambioPago As Decimal + Get + Return ViewState("TipoCambioPago").ToString.ToDecimal + End Get + Set(value As Decimal) + ViewState("TipoCambioPago") = value + End Set + End Property + Private Property CvePrePolizaComprobacion As Integer Get @@ -92,6 +112,7 @@ Partial Class Compras_ReembolsosComprobaciones TxtAboneA.Enabled = False CveCuentaBancaria = -1 ViewState("CveMoneda") = 1 + CveMonedaPago = 1 Folio = "" 'Cargar Filtros @@ -224,12 +245,13 @@ Partial Class Compras_ReembolsosComprobaciones HdnCheque.Value = tCveIE.ToString LtChequeImporte.Text = ObjIE.Importe.FormatoNumero + CveMonedaPago = ObjIE.CveMoneda + TipoCambioPago = ObjIE.TipoCambio Dim IndexCheque = If(UsuarioActual.TienePermisoProceso(113), DDlCheques.SelectedIndex - 1, DDlCheques.SelectedIndex) TxtChequeSaldo.Text = DtCheques.Rows(DDlCheques.SelectedIndex - 1)("Saldo").ToString.FormatoNumero - Else Alert("El Documento solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia) End If @@ -323,7 +345,7 @@ Partial Class Compras_ReembolsosComprobaciones Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue) If dr IsNot Nothing Then - CveMoneda = dr("CveMoneda").ToString.ToEntero + CveMonedaPago = dr("CveMoneda").ToString.ToEntero IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero End If @@ -540,7 +562,7 @@ Partial Class Compras_ReembolsosComprobaciones Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue) If dr IsNot Nothing Then - CveMoneda = dr("CveMoneda").ToString.ToEntero + CveMonedaPago = dr("CveMoneda").ToString.ToEntero IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero End If @@ -609,29 +631,18 @@ Partial Class Compras_ReembolsosComprobaciones End If End If - - If CveIERegistrado > 0 Or CveIEExcedente > 0 Or ChkReembolsarSinBancos.Checked Then 'inserto los movimientos de la conta para abonar al saldo If ((TxtImporte.Text.ToDecimal > 0 Or ChkReembolsarSinBancos.Checked) And CvePrePolizaIERegistrado > 0) Or ((TxtImporteVinculado.Text.ToDecimal > 0 And HdnCheque.Value.ToEntero > 0) Or ChkReembolsarSinBancos.Checked) Then Dim SaldoCheque = If(HdnCheque.Value.ToEntero > 0, TxtChequeSaldo.Text.ToDecimal, TxtImporte.Text.ToDecimal) - Dim ImportePagar = 0.0 - Dim ImporteOriginal = 0.0 - Dim ImporteMovto = 0.0 + Dim PorcentajePago As Decimal = 1 Dim FechaMovimiento As Date = TxtFechaDocumento.Text.ToDate - Dim ConceptoMovimiento As String = "" - Dim Referencia As String = "" Dim IdCtaProveedor As Integer = 0 - Dim IdCtaIVAxAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 - Dim IdCtaRetIVA As Integer = 0 - Dim IdCtaRetISR As Integer = 0 Dim IdCtaOtrosProductos As Integer = 0 Dim CvePrePolizaUnificar As Integer = 0 - Dim SeUnifico = False If UsuarioActual.Empresa.TipoContabilidad = 2 Then @@ -650,34 +661,6 @@ Partial Class Compras_ReembolsosComprobaciones End If End If - 'Obtenemos la cuenta del IVAxAcreditar - If ObjMov.GetRetCuenta(14, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaIVAxAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero - End If - End If - - 'Obtenemos la cuenta del IVAAcreditable - If ObjMov.GetRetCuenta(19, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero - End If - End If - - 'Obtenemos la cuenta del RetIVA - If ObjMov.GetRetCuenta(15, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaRetIVA = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - - 'Obtenemos la cuenta del RetISR - If ObjMov.GetRetCuenta(16, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaRetISR = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - End If - End If - 'Obtenemos la cuenta del IdCtaOtrosProductos If ObjMov.GetRetCuenta(132, UsuarioActual.CveEmpresa) Then If ObjMov.DtResultados.Rows.Count > 0 Then @@ -690,31 +673,41 @@ Partial Class Compras_ReembolsosComprobaciones For Each gvr As GridViewRow In GvCxP.Rows If gvr.FCCheckBox("Chk").Checked Then - ConceptoMovimiento = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}" - Referencia = gvr.DataKey("SerieFolio").ToString - IdCtaProveedor = gvr.DataKey("IdCtaContProveedores").ToEntero + Dim ImporteMovto As Decimal + Dim ConceptoMovimiento As String = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}" + Dim Referencia As String = gvr.DataKey("SerieFolio").ToString + Dim ImportePagar, ImporteOriginal As Decimal - - ImportePagar = gvr.FCTextBox("TxtAbonar").Text.ToDecimal - ImporteOriginal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal - - Dim CveConceptoContablePago As Integer = 17 - If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContablePago = 308 'cuando es acreedor - If CveMoneda <> 1 Then - Select Case CveConceptoContablePago - Case 17 - CveConceptoContablePago = 312 - Case 308 - CveConceptoContablePago = 309 - Case Else - End Select - End If If gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then IdCtaProveedor = gvr.DataKey("IdCtaContAcreedor").ToEntero Else IdCtaProveedor = gvr.DataKey("IdCtaContProveedores").ToEntero End If + Dim CompraActual As New Compra + CompraActual.CveCompra = gvr.DataKey("CveCompra").ToEntero + CompraActual.CveTipoConceptoProveedor = gvr.DataKey("CveTipoConcepto").ToEntero + CompraActual.CveProveedor = gvr.DataKey("CveProveedor").ToEntero + CompraActual.CveMoneda = gvr.DataKey("CveMoneda").ToEntero + CompraActual.SerieFolio = gvr.DataKey("SerieFolio").ToString + CompraActual.ProveedorNombre = gvr.DataKey("Proveedor") + CompraActual.TC = gvr.DataKey("TipoCambio").ToDecimal + CompraActual.Total = gvr.DataKey("Total").ToDecimal + CompraActual.IVA = gvr.DataKey("IVA").ToDecimal + CompraActual.IVADeducible = gvr.DataKey("IVADeducible").ToDecimal + CompraActual.IEPS = gvr.DataKey("IEPS").ToDecimal + CompraActual.RetIVA = gvr.DataKey("RetIVA").ToDecimal + CompraActual.RetISR = gvr.DataKey("RetISR").ToDecimal + CompraActual.CveConceptoRetISR = gvr.DataKey("CveRetISRConcepto").ToEntero + CompraActual.CveConceptoRetIVA = gvr.DataKey("CveRetIVAConcepto").ToEntero + CompraActual.PorcentajeIVA = gvr.DataKey("IVAPorcentaje").ToDecimal + CompraActual.UsuarioActual = UsuarioActual + CompraActual.CveSubProyecto = gvr.DataKey("CveSubProyecto").ToEntero + CompraActual.IdCtaContableProv = IdCtaProveedor + + ImportePagar = gvr.FCTextBox("TxtAbonar").Text.ToDecimal + ImporteOriginal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal + If SaldoCheque > 0 Then 'ImporteMovto = If(ImportePagar > SaldoCheque, SaldoCheque, ImportePagar) @@ -725,7 +718,6 @@ Partial Class Compras_ReembolsosComprobaciones 'SE USARA PARA PODER ELIMINAR UNA COMPROBACION CvePrePolizaPagoOriginal = ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - 'registramos el nuevo IE If CveCajaChica > 0 Then CveIEPago = 0 @@ -735,229 +727,43 @@ Partial Class Compras_ReembolsosComprobaciones CveIEPago = CveIERegistrado End If - - Dim ComisionTmp As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal + Dim Pago As New CompraPago + Pago.Fecha = TxtFechaDocumento.Text.ToDate + Pago.ImportePago = ImporteMovto + Pago.CveIE = CveIEPago + Pago.CveMonedaPago = CveMonedaPago + Pago.TCPago = TipoCambioPago 'Otros Ingresos - If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso ComisionTmp <> 0 Then - - Dim tOtCveCon As Integer = 211 - Dim tOtTipoMovto As Boolean = False - If ComisionTmp < 0 Then - tOtTipoMovto = True : tOtCveCon = 78 - ComisionTmp = Math.Abs(ComisionTmp) - End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio) Then - MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" - End If - If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 0 Then - - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, Not tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio, Contabilizable:=False) Then - MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" - End If - End If + If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then + Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal End If - If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal) Else PorcentajePago = 1 - If MsgError = "" AndAlso Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then - Dim ImporteMovtoTmp As Decimal = ImporteMovto - 'If ComisionTmp < 0 Then - ' ImporteMovtoTmp = ImporteMovto + ComisionTmp - 'End If - 'Si es caja chica metemos el concepto 30, si es funcionario metemos 29 - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovtoTmp, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovtoTmp), ImporteMX:=ImporteMovtoTmp * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then + ImporteMovto += Pago.OtroGastoIngreso ' si ajuste, sedebe de aplicar en su contraparte + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then MsgError = "Detalle" End If - End If - 'Pago Proveedores - If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then - MsgError = "Detalle" - End If - - If MsgError = "" AndAlso gvr.DataKey("IVA").ToDecimal > 0 Then - Dim PorcentajeIVA As Decimal = gvr.DataKey("IVAPorcentaje").ToDecimal - Dim IdCtaContIVAXAcreditar As Integer = 0 - Dim IdCtaContIVAAcreditable As Integer = 0 - Dim IdCtaContIVANoAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then - IdCtaContIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaContIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - IdCtaContIVANoAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero - End If - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVA").ToDecimal, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - - 'Agrego el IVA - If gvr.DataKey("IVADeducible").ToDecimal > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("IVADeducible").ToDecimal, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If - End If - Else - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - 'Agrego el IVA - If gvr.DataKey("IVADeducible").ToDecimal > 0 Then - Dim ImporteIVA As Decimal = gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteIVA, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteIVA), ImporteMX:=(ImporteIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If + If AplicaPrePolizaPago(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then + MsgError = "Detalle" End If - If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then - - Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago - - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If - - End If - - If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then - Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0 - Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero - Case 1 - ConceptoContableRetIVAXAcreditar = 15 - ConceptoContableRetIVAAcreditable = 22 - CveFunc = 307 - CveFuncAcreditable = 308 - Case 2 - ConceptoContableRetIVAXAcreditar = 183 - ConceptoContableRetIVAAcreditable = 184 - CveFunc = 309 - CveFuncAcreditable = 310 - Case 3 - ConceptoContableRetIVAXAcreditar = 185 - ConceptoContableRetIVAAcreditable = 186 - CveFunc = 311 - CveFuncAcreditable = 312 - Case 4 - ConceptoContableRetIVAXAcreditar = 248 - ConceptoContableRetIVAAcreditable = 249 - CveFunc = 313 - CveFuncAcreditable = 314 - Case 5 - ConceptoContableRetIVAXAcreditar = 285 - ConceptoContableRetIVAAcreditable = 286 - CveFunc = 578 - CveFuncAcreditable = 578 - End Select - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If IdCtaRetIVA > 0 Then - IdCtaContableRetIVAXAcreditar = IdCtaRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then - IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero - Else - If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - If IdCtaRetIVA > 0 Then - IdCtaContableRetIVAAcreditable = IdCtaRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then - IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero - Else - If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetIVA").ToDecimal, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetIVA").ToDecimal, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If - Else - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If - - Dim AcreditaISR As Boolean = False - If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True - - If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then - Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0 - Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero - Case 1 - ConceptoContableRetISRXAcreditar = 16 - ConceptoContableRetISRAcreditable = 23 - - Case 2 - ConceptoContableRetISRXAcreditar = 243 - ConceptoContableRetISRAcreditable = 244 - CveFunc = 309 - CveFuncAcreditable = 310 - - Case 3 - ConceptoContableRetISRXAcreditar = 327 - ConceptoContableRetISRAcreditable = 328 - CveFunc = 311 - - End Select - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If End If Dim SaldoExcedente As Decimal = gvr.FCTextBox("TxtSaldoExcedente").Text.ToDecimal If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(506) = "1" And CbPermitirExcedente.Checked = True And SaldoExcedente > 0 Then If DDlPermitirExcedente.SelectedValue = "1" Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=(SaldoExcedente) * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then - MsgError = "Detalle Reembolso Personal" - End If + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 132, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaOtrosProductos, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then MsgError = "Detalle Reembolso Personal" End If ElseIf DDlPermitirExcedente.SelectedValue = "2" Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then - MsgError = "Detalle Reembolso Personal Excedente" - End If + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 29, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaPersonal, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then MsgError = "Detalle Reembolso Personal Excedente" End If @@ -967,12 +773,6 @@ Partial Class Compras_ReembolsosComprobaciones 'Unificamos el cheque y la caja chica con los pagos y facturas If MsgError = "" AndAlso Not IdPoliza > 0 AndAlso Not gvr.DataKey("IdPoliza").ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then If MsgError = "" Then - 'CvePrePolizaUnificar = CvePrePolizaPago - ''codigo temoral, RMF. falta criterio de unificacion, en una póliza nueva de diario - 'If UsuarioActual.CveEmpresa = 119 Then - ' CvePrePolizaUnificar = ObjMov.AddPrePolizas("Compras/ComprobacionesU", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=TxtFolio.Text.Trim.ToEntero) - ' 'CvePrePolizaUnificar = -1 ' unificar en una de diario - 'End If If Not ObjMov.PrePolizaUnificacion(CvePrePolizaPago, gvr.DataKey("CvePrePoliza").ToEntero) Then MsgError = "No se pudo unificar la prepoliza" @@ -1000,177 +800,25 @@ Partial Class Compras_ReembolsosComprobaciones End If End If - If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal).RoundSQL Else PorcentajePago = 1 + Dim Pago As New CompraPago + Pago.ImportePago = ImporteMovto + Pago.CveIE = CveIEExcedente + Pago.CveMonedaPago = CveMoneda - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=(ImporteMovto * tipoCambio)) Then + + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then + MsgError = "no se pudo insertar el detalle de la poliza" + End If + + If Not AplicaPrePolizaPago(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then MsgError = "Detalle" - Exit For - Else - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, 30, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaBancaria) Then - MsgError = "no se pudo insertar el detalle de la poliza" + End If + + 'Otros Ingresos + If ChkAjusteOI.Checked Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then + MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If - - 'Otros Ingresos - If ChkAjusteOI.Checked Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then - MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" - End If - End If - - '*********IVA. siempre se registra aunque sea cero PREGUNTAR POR EL CONCEPTO DE IVA EN Conta_Conceptos - If MsgError = "" AndAlso gvr.DataKey("IVA").ToDecimal > 0 Then - Dim PorcentajeIVA As Decimal = gvr.DataKey("IVAPorcentaje").ToDecimal - Dim IdCtaContIVAXAcreditar As Integer = 0 - Dim IdCtaContIVAAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then - IdCtaContIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaContIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If - - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - If gvr.FCTextBox("TxtAbonar").Text.ToDecimal = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVA").ToDecimal, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("IVA").ToDecimal, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If - Else - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - - 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago, Referencia, 19, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAAcreditable > 0, IdCtaContIVAAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - - End If - - If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then - - Dim IdCtaContIVANoAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows.Count > 0 Then - IdCtaContIVANoAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero - End If - - Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago - - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" - End If - End If - - - End If - - If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then - Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0 - Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero - Case 1 - ConceptoContableRetIVAXAcreditar = 15 - ConceptoContableRetIVAAcreditable = 22 - CveFunc = 307 - CveFuncAcreditable = 308 - - Case 2 - ConceptoContableRetIVAXAcreditar = 183 - ConceptoContableRetIVAAcreditable = 184 - CveFunc = 309 - CveFuncAcreditable = 310 - - Case 3 - ConceptoContableRetIVAXAcreditar = 185 - ConceptoContableRetIVAAcreditable = 186 - CveFunc = 311 - CveFuncAcreditable = 312 - - Case 4 - ConceptoContableRetIVAXAcreditar = 248 - ConceptoContableRetIVAAcreditable = 249 - CveFunc = 313 - CveFuncAcreditable = 314 - - End Select - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If IdCtaRetIVA > 0 Then - IdCtaContableRetIVAXAcreditar = IdCtaRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then - IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero - Else - If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - If IdCtaRetIVA > 0 Then - IdCtaContableRetIVAAcreditable = IdCtaRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then - IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero - Else - If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If - - Dim AcreditaISR As Boolean = False - If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True - - If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then - Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0 - Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero - Case 1 - ConceptoContableRetISRXAcreditar = 16 - ConceptoContableRetISRAcreditable = 23 - - Case 2 - ConceptoContableRetISRXAcreditar = 243 - ConceptoContableRetISRAcreditable = 244 - CveFunc = 309 - CveFuncAcreditable = 310 - - Case 3 - ConceptoContableRetISRXAcreditar = 327 - ConceptoContableRetISRAcreditable = 328 - CveFunc = 311 - - End Select - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - - 'Agrego el RetIVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then - MsgError = "Detalle" - End If - End If - - End If If MsgError = "" AndAlso ImportePagar = ImporteOriginal Then @@ -1229,23 +877,15 @@ Partial Class Compras_ReembolsosComprobaciones AutoConta = False End If - 'Conta ContPAQ AUTOMATICA If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError.Trim = "" Then If CvePrePolizaIERegistrado > 0 Then If IdCtaPersonal > 0 Or DdlCajaChica.Visible Then If IdCtaProveedor > 0 Then - If IdCtaIVAxAcreditar > 0 Then - If IdCtaIVAAcreditable > 0 Then - If ObjMov.ContabilizarPrePoliza(CvePrePolizaIERegistrado, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - Else - MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico" - End If - Else - MsgError = "No tiene cuenta contable IVA Acreditable" - End If + + If ObjMov.ContabilizarPrePoliza(CvePrePolizaIERegistrado, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then Else - MsgError = "No tiene cuenta contable IVA x Acreditar" + MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico" End If Else MsgError = "No tiene cuenta contable de proveedor" @@ -1258,26 +898,12 @@ Partial Class Compras_ReembolsosComprobaciones If ChkChequeExcedente.Checked Then If IdCuentaBancaria > 0 Then If IdCtaProveedor > 0 Then - If IdCtaIVAxAcreditar > 0 Then - If IdCtaIVAAcreditable > 0 Then - If IdCtaRetIVA > 0 Then - If IdCtaRetISR > 0 Then - If ObjMov.ContabilizarPrePoliza(CvePrePolizaExcedente, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - Else - MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico" - End If - Else - MsgError = "No tiene cuenta contable Ret ISR" - End If - Else - MsgError = "No tiene cuenta contable Ret IVA" - End If - Else - MsgError = "No tiene cuenta contable IVA Acreditable" - End If + + If ObjMov.ContabilizarPrePoliza(CvePrePolizaExcedente, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then Else - MsgError = "No tiene cuenta contable IVA x Acreditar" + MsgError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico" End If + Else MsgError = "No tiene cuenta contable de proveedor" End If @@ -1533,7 +1159,7 @@ Partial Class Compras_ReembolsosComprobaciones If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(7).ForeColor = Drawing.Color.Red If e.Row.DBCampo("DiasVencidos").ToDouble > 0 AndAlso CType(sender, GridView).ID = "GvCxP" Then e.Row.Cells(5).ForeColor = Drawing.Color.Red - If e.Row.DBCampo("Original").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoOriginal"), Literal).Text = "" + If e.Row.DBCampo("Total").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoTotal"), Literal).Text = "" If e.Row.DBCampo("Abonado").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlAbonado"), Literal).Text = "" If e.Row.DBCampo("Saldo").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldo"), Literal).Text = "" @@ -1543,7 +1169,7 @@ Partial Class Compras_ReembolsosComprobaciones e.Row.FCTextBox("TxtSaldoExcedente").Attributes.Add("onblur", String.Format("FnSumaExcedente({0},{1},{2});", e.Row.FCTextBox("TxtSaldoExcedente").ClientID, e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"))) e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2);", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"))) - e.Row.FCRangeValidator("RVComision").MinimumValue = 0.00 + e.Row.FCRangeValidator("RVComision").MinimumValue = "0" e.Row.FCRangeValidator("RVComision").MaximumValue = e.Row.DBCampo("Saldo") End If End Sub diff --git a/Contabilidad/RegPrePolizaS.aspx b/Contabilidad/RegPrePolizaS.aspx index 18169a79c..23aab310d 100644 --- a/Contabilidad/RegPrePolizaS.aspx +++ b/Contabilidad/RegPrePolizaS.aspx @@ -562,7 +562,7 @@ - diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index c01afa5e1..5ee75e444 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -1000,8 +1000,11 @@ Partial Class ContabilidadC_RegPrePolizaS 'Registra movimieno bancario If gvr.DataKey("CveConceptoContable").ToEntero = 30 AndAlso (gvr.DataKey("ContadoImporte").ToDecimal <> 0 OrElse TipoGrid = 1) Then + Dim tFolio As String = gvr.DataKey("ContadoNumeroFolio").ToString + If tFolio.ToEntero = 0 Then tFolio = SiguienteFolioBancos(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero) - CveIE = ObjIE.AddBancos_IE(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero, TxtFechaDocumento.Text, gvr.DataKey("ContadoNumeroFolio"), + + CveIE = ObjIE.AddBancos_IE(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero, TxtFechaDocumento.Text, tFolio, gvr.DataKey("ContadoBeneficiario"), gvr.DataKey("ContadoImporte").ToDecimal, CveMoneda, 0, gvr.DataKey("ContadoObservaciones"), "", False, False, 0, CvePrePolizaInsertada, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveIE < 0 Then @@ -1490,6 +1493,8 @@ Partial Class ContabilidadC_RegPrePolizaS End If If AplicaBancos AndAlso Not AplicaComplementaria Then + TxtCargoE.AutoPostBack = True + TxtAbonoE.AutoPostBack = True CargaModalConceptoTipoTransaccion("Egs") 'DivModalConceptoAncho.Attributes.Add("style", "width:1000px") DvMoldalConceptoSeccion1.Attributes.Add("class", "col-md-6") @@ -1500,6 +1505,8 @@ Partial Class ContabilidadC_RegPrePolizaS DvMoldalConceptoSeccion1.Attributes.Add("class", "col-md-12") RegistraScript("$('#DivModalConceptoAncho').attr('style','width:450px');") DvMoldalConceptoSeccion2.Visible = False + TxtCargoE.AutoPostBack = False + TxtAbonoE.AutoPostBack = False End If If AplicaTC Then @@ -2932,11 +2939,12 @@ Partial Class ContabilidadC_RegPrePolizaS End If - If gvr.DataKey("CveConceptoContable").ToEntero = 30 Then + Dim tFolio As String = gvr.DataKey("ContadoNumeroFolio").ToString + If tFolio.ToEntero = 0 Then tFolio = SiguienteFolioBancos(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero) - CveIE = ObjIE.AddBancos_IE(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero, TxtFechaDocumento.Text, gvr.DataKey("ContadoNumeroFolio").ToString, + CveIE = ObjIE.AddBancos_IE(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero, TxtFechaDocumento.Text, tFolio, gvr.DataKey("ContadoBeneficiario").ToString, Importe, CveMoneda, 0, gvr.DataKey("ContadoObservaciones").ToString, "", False, False, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) FolioIE = gvr.DataKey("ContadoNumeroFolio").ToString @@ -2947,9 +2955,6 @@ Partial Class ContabilidadC_RegPrePolizaS End If - - - If gvr.DataKey("CveConceptoContable").ToEntero <> 30 Then If gvr.DataKey("CveConceptoContable").ToEntero = 41 Then @@ -2960,15 +2965,12 @@ Partial Class ContabilidadC_RegPrePolizaS End If - If idCuentaContabilizacion = 1 AndAlso (IdCtaContable = 0) Then idCuentaContabilizacion = 0 End If If Importe <> 0 Then Dim tCveCuenta As Integer = gvr.DataKey("CveCuenta").ToEntero - - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, gvr.DataKey("Referencia"), gvr.DataKey("CveConceptoContable").ToEntero, gvr.DataKey("Concepto"), TxtFechaDocumento.Text.ToDate, IdCtaContable, -1, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveIE:=CveIE, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveCompra:=gvr.DataKey("CveCompra").ToEntero, @@ -2976,7 +2978,6 @@ Partial Class ContabilidadC_RegPrePolizaS ImporteMX:=Importe, ImporteME:=ImporteME, TipoCambio:=TipoCambio, CveTipoGasto:=gvr.DataKey("CveTipoGasto").ToEntero, CveCliente:=gvr.DataKey("CveCliente").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCuenta:=tCveCuenta) Then - Else MsgError = "No se pudo insertar el detalle de la póliza2" Exit For @@ -3008,11 +3009,8 @@ Partial Class ContabilidadC_RegPrePolizaS If MsgError = "" Then - Alert(If(MensajeAlert.ToString = "", $"Se registro con exito. {If(FolioPoliza > 0, " Folio " & FolioPoliza & ".", "")}", $"Se registro con exito. {If(FolioPoliza > 0, " Folio " & FolioPoliza & ".", "")}
" & MensajeAlert.ToString), TipoMensaje.MsgInformacion, $"window.location.href=""./RegPrePolizaS.aspx?CvePrePoliza={CvePrePoliza}""") - - ObjIE.Commit() If Conta IsNot Nothing Then Conta.Commit() @@ -3045,6 +3043,11 @@ Partial Class ContabilidadC_RegPrePolizaS GvPrePoliza.DataSource = DtMovimientos GvPrePoliza.DataBind() + TxtTotalCargos.Text = DtMovimientos.SUMD("Cargo").ToString.FormatoNumero + TxtTotalAbonos.Text = DtMovimientos.SUMD("Abono").ToString.FormatoNumero + UpTotalCargo.Update() + UpTotalAbono.Update() + UpPrePoliza.Update() End Sub @@ -3069,20 +3072,15 @@ Partial Class ContabilidadC_RegPrePolizaS DdlModalConceptoCuenta.DataBind() DdlModalConceptoCuenta.Items.Insert(0, New ListItem("Seleccione", "-1")) - - End Sub #End Region - - Private Sub BtnDescontabilizar_Click(sender As Object, e As EventArgs) Handles BtnDescontabilizar.Click Dim ObjConta As New ClsContabilidad - If ObjConta.ContabilizaDesContabilizaPrePoliza(CvePrePoliza, False, UsuarioActual.CveEmpresa) Then Alert("Descontabilizado Correctamente.", TipoMensaje.MsgInformacion) @@ -3118,5 +3116,13 @@ Partial Class ContabilidadC_RegPrePolizaS Venta.Dispose() End Sub + + Private Sub TxtCargoE_TextChanged(sender As Object, e As EventArgs) Handles TxtCargoE.TextChanged + If TxtCargoE.Text.ToDecimal <> 0 Then CargaModalConceptoTipoTransaccion("Ing") + End Sub + + Private Sub TxtAbonoE_TextChanged(sender As Object, e As EventArgs) Handles TxtAbonoE.TextChanged + If TxtAbonoE.Text.ToDecimal <> 0 Then CargaModalConceptoTipoTransaccion("Egs") + End Sub End Class diff --git a/Empresas/140/Formatos/Factura.rdlc b/Empresas/140/Formatos/Factura.rdlc index 38de1d8fd..c2627df75 100644 --- a/Empresas/140/Formatos/Factura.rdlc +++ b/Empresas/140/Formatos/Factura.rdlc @@ -2879,7 +2879,7 @@ - pagos:@bdhbaterias.com + pagos@bdhbaterias.com diff --git a/GPS/Asistencia.rdlc b/GPS/Asistencia.rdlc new file mode 100644 index 000000000..e20d350f1 --- /dev/null +++ b/GPS/Asistencia.rdlc @@ -0,0 +1,905 @@ + + + 0 + + + + System.Data.DataSet + /* Local Connection */ + + 74f8a171-24f1-4404-809e-ec2e098f1907 + + + + + + DataSet3 + /* Local Query */ + + + + Codigo + System.String + + + Nombre + System.String + + + AsistenciasInasistencias + System.String + + + PorcentajePago + System.Decimal + + + HorasDobles + System.Decimal + + + HorasTriples + System.Decimal + + + MotivoHoraExtra + System.String + + + + DataSet3 + C:\Users\jesus\Documents\Visual Studio 2015\WebSites\WebSite2\App_Code\DataSet3.xsd + DataTable1 + + + + + + + + + + + + + + + 1.43285cm + + + 5.73362cm + + + 2.51764cm + + + 1.99729cm + + + 2.5cm + + + 2.5cm + + + 2.1825cm + + + + + 0.6cm + + + + + true + true + + + + + Código + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Personal + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Asistencias + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + % de Pago + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Horas Dobles + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Horas Triples + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Firma + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Fields!Codigo.Value + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Nombre.Value + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!AsistenciasInasistencias.Value + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PorcentajePago.Value + + + + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =IIf(Fields!HorasDobles.Value>0,Fields!HorasDobles.Value.ToString(),"") + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =IIf(Fields!HorasTriples.Value>0,Fields!HorasTriples.Value.ToString(),"") + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + + Gray + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + DataSet1 + 2.11349cm + 0.31432cm + 1.2cm + 18.8639cm + + + + + + true + true + + + + + Lista de asistencia del día + + + + =Parameters!Fecha.Value + + + + + + + Textbox15 + 0.57891cm + 0.31432cm + 0.9175cm + 18.8639cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + 1.65554in +