From 2eaa7e5bec6e8770b6ad68e32a4cf372da1fda9d Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Sat, 23 Nov 2019 14:03:04 -0700 Subject: [PATCH 1/5] Ahora el PopIECompras agrega prepolizadetalle con concepto 280 si viene con con iva no deducible dentro de la configuracion de prepoliza con concepto 19 --- Bancos/PopIECompras.aspx.vb | 204 +++++++++++++++-------- Compras/ReembolsosComprobaciones.aspx.vb | 18 +- 2 files changed, 149 insertions(+), 73 deletions(-) diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 77d0c3498..51c8261a1 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -1424,12 +1424,14 @@ Partial Class Bancos_PopIECompras End If 'inserto las compras que voy a pagar - If ObjMov.GetPlantillaConceptos(2, CvePlantillaPoliza) Then + If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then For Each Row As DataRow In ObjMov.DtResultados.Rows Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) Dim ImporteMovimiento As Decimal = 0 Dim ImporteMX As Decimal = 0 + Dim ImporteMovimientoNoDeducible As Decimal = 0 + Dim ImporteMXNoDeducible As Decimal = 0 Dim IdCtaContable As Integer = 0 Dim CveCuenta As Integer = 0 Dim ConceptoMovimiento = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, NombreProveedor, TxtObservaciones.Text, TxtFolio.Text.Trim) @@ -2275,6 +2277,7 @@ Partial Class Bancos_PopIECompras ImporteMovimiento = 0 ImporteMX = 0 End If + Else If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then ImporteMovimiento = MovimientoPagar.IVADeducible * PorcentajePago @@ -2296,80 +2299,65 @@ Partial Class Bancos_PopIECompras If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" End If - PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA - Dim IdCtaIVAXAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 + If MovimientoPagar.IVANoDeducible.ToString.ToDecimal > 0 Then + If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then + 'funcionalidad que toma el 100% del pago para acreditamiento de iva + Dim TotalImporte As Decimal - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If - - IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) - - If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero - CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero - End If - End If - Case 280 'Iva Acreditable No Deducible - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - 'funcionalidad que toma el 100% del pago para acreditamiento de iva - Dim TotalImporte As Decimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - TotalImporte = ImportePagado.ToString.ToDecimal - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - TotalImporte = ImportePagado.ToString.ToDecimal - End If - - If TotalImporte = CompraSaldo Then If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVANoDeducible - ImporteMX = ImporteMovimiento + TotalImporte = ImportePagado.ToString.ToDecimal ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ImporteMX = ImporteMovimiento * tipoCambioCompra + TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + TotalImporte = ImportePagado.ToString.ToDecimal End If - ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ImporteMX = Math.Round(ImporteMX, 2) + + If TotalImporte = CompraSaldo Then + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible + ImporteMXNoDeducible = ImporteMovimientoNoDeducible + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) + ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) + ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) + ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + End If + ImporteMovimientoNoDeducible = Math.Round(ImporteMovimientoNoDeducible, 2) + ImporteMXNoDeducible = Math.Round(ImporteMX, 2) + TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}" + Else + ImporteMovimientoNoDeducible = 0 + ImporteMXNoDeducible = 0 + End If + + Else + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible * PorcentajePago + ImporteMXNoDeducible = ImporteMovimientoNoDeducible + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + End If + ImporteMovimientoNoDeducible = Math.Round(ImporteMovimientoNoDeducible, 2) + ImporteMXNoDeducible = Math.Round(ImporteMXNoDeducible, 2) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - Else - ImporteMovimiento = 0 - ImporteMX = 0 + If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}" End If - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVANoDeducible * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ImporteMX = Math.Round(ImporteMX, 2) - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" End If PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA @@ -2389,6 +2377,89 @@ Partial Class Bancos_PopIECompras CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero End If End If + + If MovimientoPagar.IVANoDeducible > 0 Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then + MsgError = "No se pudo insertar la póliza" + End If + End If + + 'Case 280 'Iva Acreditable No Deducible + ' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then + ' 'funcionalidad que toma el 100% del pago para acreditamiento de iva + ' Dim TotalImporte As Decimal + + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' TotalImporte = ImportePagado.ToString.ToDecimal + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' TotalImporte = ImportePagado.ToString.ToDecimal + ' End If + + ' If TotalImporte = CompraSaldo Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.IVANoDeducible + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + ' Else + ' ImporteMovimiento = 0 + ' ImporteMX = 0 + ' End If + ' Else + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.IVANoDeducible * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + ' End If + + ' PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA + ' Dim IdCtaIVAXAcreditar As Integer = 0 + ' Dim IdCtaIVAAcreditable As Integer = 0 + + ' If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then + ' IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero + ' IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero + ' End If + + ' IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) + + ' If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero + ' End If + ' End If Case 25 'IEPS por Acreditar If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then ImporteMovimiento = MovimientoPagar.IEPS * PorcentajePago @@ -3066,6 +3137,7 @@ Partial Class Bancos_PopIECompras If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then MsgError = "No se pudo insertar la póliza" End If + End If Next diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index d8e8d0278..13a2a7759 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -687,23 +687,27 @@ Partial Class Compras_ReembolsosComprobaciones End If 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("IVA").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("IVA").ToDecimal), ImporteMX:=(gvr.DataKey("IVA").ToDecimal) * tipoCambio, CveCuenta:=CveCuentaIVAAcreditable, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" + 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, CveCuenta:=CveCuentaIVAAcreditable, 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, CveCuenta:=CveCuentaIVAxAcreditar, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVADeducible").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, CveCuenta:=CveCuentaIVAxAcreditar, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then MsgError = "Detalle" End If - Dim ImporteNOIVA As Decimal = gvr.DataKey("IVA").ToDecimal * PorcentajePago 'Agrego el IVA - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("IVA").ToDecimal * PorcentajePago, 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("IVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVA").ToDecimal * PorcentajePago) * tipoCambio, CveCuenta:=CveCuentaIVAAcreditable, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then - MsgError = "Detalle" + If gvr.DataKey("IVADeducible").ToDecimal > 0 Then + Dim ImporteIVA As Decimal = gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago + If 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, CveCuenta:=CveCuentaIVAAcreditable, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then + MsgError = "Detalle" + End If End If End If - If gvr.DataKey("NoDeducible") Then + If gvr.DataKey("IVANoDeducible").ToDecimal > 0 Then Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago From 125c7bf7fa5a4d664b2f9bbdd562c79f671cfedf Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 25 Nov 2019 13:20:56 -0700 Subject: [PATCH 2/5] - serie en Folios - col impuestos locales, en saldos iniciales --- App_Code/ClsGralFolios.vb | 3 ++- General/SaldosIniciales.aspx.vb | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/App_Code/ClsGralFolios.vb b/App_Code/ClsGralFolios.vb index 9812c0d5d..d6f093763 100644 --- a/App_Code/ClsGralFolios.vb +++ b/App_Code/ClsGralFolios.vb @@ -145,13 +145,14 @@ Public Class ClsGralFolios End Function - Public Function AddFolios(CveSubProyecto As Integer, TipoDocto As String, FInicial As Integer, FActual As Integer, FFinal As Integer, CBB As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean + Public Function AddFolios(CveSubProyecto As Integer, TipoDocto As String, Serie As String, FInicial As Integer, FActual As Integer, FFinal As Integer, CBB As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Gral_FoliosAdd") With SqlAdapter.SelectCommand.Parameters .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@FInicial", SqlDbType.Int).Value = FInicial .Add("@FActual", SqlDbType.Int).Value = FActual .Add("@FFinal", SqlDbType.Int).Value = FFinal diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 7db555706..c3b3c7a00 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -1323,6 +1323,7 @@ Partial Class General_SaldosIniciales Dim CveVendedor As Integer = 0 Dim IEPS As Decimal = Row("IEPS").ToString.ToDecimal Dim CveClienteSucursal As Integer = Row("CveClienteSucursal").ToString.ToEntero + Dim ImpuestosLocales As Decimal = Row("ImpuestoLocal").ToString.ToDecimal GuardaLog(Sucursal + "-" + Row("Sucursal").ToString) 'Temporalmente SE BORRARA @@ -1357,9 +1358,10 @@ Partial Class General_SaldosIniciales If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then FechaVencimiento = Fecha - End If - - 'Venta + End If + + + 'Venta If CveCliente > 0 Then @@ -1368,7 +1370,7 @@ Partial Class General_SaldosIniciales If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero, CveClienteSucursal, SubTotal, 0, 0, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDouble, 0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, -1, 0, CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero, CveSubProyectoEjecucion:=Sucursal.ToEntero, - CveSubProyectoCobranza:=Sucursal.ToEntero, IEPS:=IEPS, + CveSubProyectoCobranza:=Sucursal.ToEntero, IEPS:=IEPS, ImpuestoLocal:=ImpuestosLocales, ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente) Then ErrorVentas = True Exit For From 7aacf563b8363c7a0c5948142f3773f91d259ed2 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 25 Nov 2019 17:03:27 -0700 Subject: [PATCH 3/5] Error al actualizar PS en refacturacion --- Ventas/Ventas.aspx.vb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index f343c5fdd..c6ab85b0f 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -4193,7 +4193,6 @@ Partial Class Ventas tdVigencia.Visible = DdlTipoComprobante.SelectedValue.Contiene("Cot") tdFechaVigencia.Visible = DdlTipoComprobante.SelectedValue.Contiene("Cot") - If DbRowVenta("TipoDocto").ToString = "Rem" Then 'CANTIDAD FACTURADA If TmpDT.SUM("CantidadFacturadaRem") > 0 Then @@ -4228,8 +4227,6 @@ Partial Class Ventas End If End If - End If - 'Si es Empresa de Acumuladores If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then 'Si ya se surtió y recibió @@ -4242,7 +4239,6 @@ Partial Class Ventas End If - If DbRowVenta("TipoDocto").ToString.Contiene("Cot", "Pd2") Then 'CANTIDAD FACTURADA If TmpDT.SUM("CantidadFacturadaCot") > 0 Then @@ -14348,6 +14344,7 @@ Partial Class Ventas TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String)) TmpDT.Columns.Add("CveTamaño", GetType(Integer)) + TmpDT.Columns.Add("CveConcepto", GetType(Integer)) End Sub Private Sub CreaDTmpC() @@ -15458,7 +15455,7 @@ Partial Class Ventas Dim ContadorMovtosDetalles = 0 'Creamos el movimiento - Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, ConceptoEntrada, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, CveMovimientoRelacionado:=CveMovimientoRelacionado) + Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, ConceptoEntrada, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, CveMovimientoRelacionado:=CveMovimientoRelacionado, Modulo:="Ventas/Ventas.aspx") If CveMovimientoInventario > 0 Then From f84396a57be305bcea0d828b76b31bea92674a8c Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 25 Nov 2019 18:37:37 -0700 Subject: [PATCH 4/5] Folios. Campo Serie --- App_Code/ClsGralFolios.vb | 3 ++- Bancos/PopIECompras.aspx.vb | 4 +++- Planeacion/CatFolios.aspx | 9 +++++++-- Planeacion/CatFolios.aspx.vb | 5 +++-- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/App_Code/ClsGralFolios.vb b/App_Code/ClsGralFolios.vb index d6f093763..023e79994 100644 --- a/App_Code/ClsGralFolios.vb +++ b/App_Code/ClsGralFolios.vb @@ -179,13 +179,14 @@ Public Class ClsGralFolios Return Retorno End Function - Public Function UpdateFolios(CveSubProyecto As Integer, TipoDocto As String, FInicial As Integer, FActual As Integer, FFinal As Integer, CBB As String, Estado As Boolean, CveUsuario As Integer, CveFolio As Integer) As Boolean + Public Function UpdateFolios(CveSubProyecto As Integer, TipoDocto As String, Serie As String, FInicial As Integer, FActual As Integer, FFinal As Integer, CBB As String, Estado As Boolean, CveUsuario As Integer, CveFolio As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Gral_FoliosUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto + .Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@FInicial", SqlDbType.Int).Value = FInicial .Add("@FActual", SqlDbType.Int).Value = FActual .Add("@FFinal", SqlDbType.Int).Value = FFinal diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 51c8261a1..1ce79752d 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -2363,10 +2363,12 @@ Partial Class Bancos_PopIECompras PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA Dim IdCtaIVAXAcreditar As Integer = 0 Dim IdCtaIVAAcreditable As Integer = 0 + Dim IdCtaContableNoIVA As Integer = 0 If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero + IdCtaContableNoIVA = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero End If IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) @@ -2379,7 +2381,7 @@ Partial Class Bancos_PopIECompras End If If MovimientoPagar.IVANoDeducible > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then MsgError = "No se pudo insertar la póliza" End If End If diff --git a/Planeacion/CatFolios.aspx b/Planeacion/CatFolios.aspx index fe83fcb43..3d8fff4b8 100644 --- a/Planeacion/CatFolios.aspx +++ b/Planeacion/CatFolios.aspx @@ -104,7 +104,7 @@
- + <%-- --%> @@ -182,7 +182,12 @@
- + +
+ + + +
<%--
diff --git a/Planeacion/CatFolios.aspx.vb b/Planeacion/CatFolios.aspx.vb index 1c8f92399..80852d1e0 100644 --- a/Planeacion/CatFolios.aspx.vb +++ b/Planeacion/CatFolios.aspx.vb @@ -124,6 +124,7 @@ Partial Class CatFolios HdnModalidad.Value = "U" DdlSubProyecto.SelectedValueExist(GvRow.DataKey("CveSubProyecto")) DdlTipoDocto.SelectedValueExist(GvRow.DataKey("TipoDocto")) + TxtSerie.Text = (GvRow.DataKey("Serie")) ChkEstatus.Checked = If(GvRow.DataKey("Estado").ToString = "Activo", True, False) TxtFolioInicial.Text = (GvRow.DataKey("FInicial")) TxtFolioFinal.Text = (GvRow.DataKey("FFinal")) @@ -168,12 +169,12 @@ Partial Class CatFolios If HdnModalidad.Value = "I" Then - If Not ObjFolios.AddFolios(DdlSubProyecto.SelectedValue.ToEntero, DdlTipoDocto.SelectedValue, TxtFolioInicial.Text.Trim.ToEntero, TxtFolioInicial.Text.Trim.ToEntero, + If Not ObjFolios.AddFolios(DdlSubProyecto.SelectedValue.ToEntero, DdlTipoDocto.SelectedValue, TxtSerie.Text, TxtFolioInicial.Text.Trim.ToEntero, TxtFolioInicial.Text.Trim.ToEntero, TxtFolioFinal.Text.Trim.Trim.ToEntero, Session("FileUpload").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then TieneError = True End If Else - If Not ObjFolios.UpdateFolios(DdlSubProyecto.SelectedValue.ToEntero, DdlTipoDocto.SelectedValue, TxtFolioInicial.Text.Trim.ToEntero, TxtFolioActual.Text.Trim.ToEntero, TxtFolioFinal.Text.Trim.ToEntero, + If Not ObjFolios.UpdateFolios(DdlSubProyecto.SelectedValue.ToEntero, DdlTipoDocto.SelectedValue, TxtSerie.Text, TxtFolioInicial.Text.Trim.ToEntero, TxtFolioActual.Text.Trim.ToEntero, TxtFolioFinal.Text.Trim.ToEntero, "", If(ChkEstatus.Checked, True, False), UsuarioActual.CveUsuario, CveFolio) Then TieneError = True End If From 4941099a3ee768ea1f1f8d2a6f8bfb9582d44286 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 25 Nov 2019 20:34:21 -0700 Subject: [PATCH 5/5] Modulo en inventarios --- App_Code/ClsInventarios.vb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 2f992b6d2..a7ab7fdf6 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -958,7 +958,7 @@ Public Class ClsInventarios Optional CveMovimientoRelacionado As Integer = -1, Optional TipoCambio As Double = -1, Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, Optional MovimientoFijo As Boolean = False, Optional CveContrato As Integer = -1, Optional CveProveedor As Integer = -1, Optional Remision As String = "", Optional CveClienteSucursal As Integer = -1, Optional DepartamentoEntrega As String = "", Optional PedidoContrato As String = "", Optional GastoIndirecto As Double = -1, Optional CveChofer As Integer = -1, Optional Placa As String = "", Optional FechaEntrega As String = "", Optional EspecifUnidad As String = "", Optional ResponsableCarga As String = "", Optional ResponsableRecibio As String = "", Optional Identificacion As String = "", Optional Domicilio As String = "", - Optional Telefono As String = "", Optional Ciudad As String = "", Optional Licencia As String = "") As Integer + Optional Telefono As String = "", Optional Ciudad As String = "", Optional Licencia As String = "", Optional Modulo As String = "") As Integer Dim Retorno As Integer = -1 @@ -1010,7 +1010,8 @@ Public Class ClsInventarios .Add("@Domicilio", SqlDbType.VarChar).Value = Domicilio .Add("@Telefono", SqlDbType.VarChar).Value = Telefono .Add("@Ciudad", SqlDbType.VarChar).Value = Ciudad - .Add("@Licencia", SqlDbType.VarChar).Value = Licencia + .Add("@Licencia", SqlDbType.VarChar).Value = Licencia + .Add("@Modulo", SqlDbType.VarChar).Value = Modulo End With Try