diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 21ec72cc0..8ab5a4c43 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3062,7 +3062,7 @@ Namespace Modelos Optional ValorMultiplicador As Integer = 1, ByRef Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing, Optional ByRef DtRemisionesRelacionadas As DataTable = Nothing, Optional SeCancelaRemisionProceso As Boolean = False, Optional CancelarRemisiones As Boolean = False, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional CveEstatusRefacturacion As Integer = 0, Optional ByRef ObjInventario As ClsInventarios = Nothing, Optional FechaCancelacion As DateTime = MinFecha, Optional ObjClientes As ClsClientes = Nothing, - Optional AplicaCancelacionConPagos As Boolean = False) As Boolean + Optional AplicaCancelacionConPagos As Boolean = False, Optional GeneraIxCconPago As Boolean = False) As Boolean Dim ErrorPrepoliza As Boolean = False Try @@ -3088,7 +3088,21 @@ Namespace Modelos 'SI ES PAGO DE BANCOS, CANCELAR EL IE If DrPago("TipoPago").ToString() = "B" Then - ErrorPrepoliza = ObjBancos.CancelarBancos_IE(UsuarioActual.CveUsuario, DrPago("CveIE").ToString().ToEntero(), False, -1, -1, Now) <= 0 + If GeneraIxCconPago Then + 'RESTAR SALDOS APLICADOS + Dim ImporteIxC As Decimal = DrPago("Importe").ToString().ToDecimal() + Dim ImportePago As Decimal = ImporteIxC * -1 + + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, ImportePago, ImportePago, 2, DrPago("Folio").ToString(), DrPago("Folio").ToString(), CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=DrPago("CveIE").ToString().ToEntero(), ImporteME:=If(ObjFactura.TipoCambio = 1, 0, ImportePago), Contabilizable:=True, CveSubProyecto:=ObjFactura.CveSubProyecto) Then + ErrorPrepoliza = True + End If + + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, ImporteIxC, ImporteIxC, 66, DrPago("Folio").ToString(), DrPago("Folio").ToString(), CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=DrPago("CveIE").ToString().ToEntero(), ImporteME:=If(ObjFactura.TipoCambio = 1, 0, ImporteIxC), Contabilizable:=True, CveSubProyecto:=ObjFactura.CveSubProyecto) Then + ErrorPrepoliza = True + End If + Else + ErrorPrepoliza = ObjBancos.CancelarBancos_IE(UsuarioActual.CveUsuario, DrPago("CveIE").ToString().ToEntero(), False, -1, -1, Now) <= 0 + End If Else 'RESTAR SALDOS APLICADOS Dim Importe As Decimal = DrPago("Importe").ToString().ToDecimal() * -1 @@ -6159,7 +6173,7 @@ Namespace Modelos If Not ErrorCancelar Then ErrorCancelar = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, -1, ObjBancos, ObjVentas, ObjEventos, DtRemisionesRelacionadas:=DtRemisionesRelacionadas, SeCancelaRemisionProceso:=SeCancelaRemisionProceso, CancelarRemisiones:=CancelarRemisiones, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusRefacturacion:=CveEstatusRefacturacion, ObjInventario:=ObjInventario, FechaCancelacion:=CancelacionFecha, - ObjClientes:=ObjClientes, AplicaCancelacionConPagos:=AplicaCancelacionConPagos) + ObjClientes:=ObjClientes, AplicaCancelacionConPagos:=AplicaCancelacionConPagos, GeneraIxCconPago:=GeneraIxCconPago) MensajeError = "Ocurrió un error al generar la prepoliza de cancelación." End If diff --git a/Compras/RepRembolsoComprobaciones.aspx.vb b/Compras/RepRembolsoComprobaciones.aspx.vb index 9d8e27c6f..3d3a7b27c 100644 --- a/Compras/RepRembolsoComprobaciones.aspx.vb +++ b/Compras/RepRembolsoComprobaciones.aspx.vb @@ -433,6 +433,7 @@ Partial Class Compras_RepRembolsoComprobaciones Using ObjMov As New ClsMovimientos If ObjMov.UpdateReembolsoComprobante(CveComprobacion, Adjunto) Then Alert("Documento cargado") + TxtComprobante.Text = "[]" End If End Using End If diff --git a/Ventas/PVCobranza.aspx.vb b/Ventas/PVCobranza.aspx.vb index dc5681eff..9e5893aeb 100644 --- a/Ventas/PVCobranza.aspx.vb +++ b/Ventas/PVCobranza.aspx.vb @@ -505,7 +505,7 @@ Partial Class Ventas_PVCobranza If tCveCorte <= 0 AndAlso DbRowVenta("CveCorte").ToString.ToEntero > 0 Then tCveCorte = DbRowVenta("CveCorte").ToString.ToEntero - Dim CvePrePoliza As Integer + Dim CvePrePoliza As Integer = -1 Dim Fecha As Date = DbRowVenta("Fecha").ToString.ToDate 'NowADS() Dim MsgError As String = "" @@ -572,10 +572,14 @@ Partial Class Ventas_PVCobranza If MsgError = "" Then If SaldoPendiente > 0 Then - CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 11, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3) + + If respFactura IsNot Nothing Then + CvePrePoliza = respFactura.Factura.CvePrePoliza + Else + CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 11, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3) + End If If CvePrePoliza > 0 Then - If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteCredito.Text.ToDecimal > 0 Then MsgError = RegistraIE(12, DdlCuentaTarjetaCredito.SelectedValue.ToEntero, TxtImporteCredito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte, CveSubProyecto:=VentaActual.CveSubProyecto) SaldoPendiente -= TxtImporteCredito.Text.ToDecimal diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index c45bbdaf2..ff89e081b 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -26230,8 +26230,8 @@ Partial Class Ventas Exit Sub End If - If UsuarioActual.CveRol = 1 Then - DivGeneraIxC.Visible = False + If UsuarioActual.CveRol = 1 AndAlso UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then + DivGeneraIxC.Visible = True End If If SaldoAlmacen <> 0 Then @@ -26647,9 +26647,13 @@ Partial Class Ventas AplicaCancelacionConPagos = True End If + Dim GenerarIxC As Boolean = False + If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso AplicaCancelacionConPagos AndAlso ObjFacturaCancelacion.TipoDocto.Contiene("Ing") Then + GenerarIxC = ChkGeneraIxC.Checked + End If - resp = ObjFacturaCancelacion.CancelarFactura(If(ChkDevAlm.Checked, 1, 0), ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion, AplicaCancelacionConPagos:=AplicaCancelacionConPagos) + resp = ObjFacturaCancelacion.CancelarFactura(If(ChkDevAlm.Checked, 1, 0), ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion, AplicaCancelacionConPagos:=AplicaCancelacionConPagos, GeneraIxCconPago:=GenerarIxC) strMensaje.Append(resp.Mensaje) Dim DtBonificaciones As DataTable = Nothing