diff --git a/Bancos/PopIECompras.aspx b/Bancos/PopIECompras.aspx index 68b5d172c..8f4cf2a6a 100644 --- a/Bancos/PopIECompras.aspx +++ b/Bancos/PopIECompras.aspx @@ -443,7 +443,7 @@
- diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 01a53afc1..9e161e4eb 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -33,7 +33,7 @@ Partial Class Bancos_PopIECompras 'Configuración Private Property CveIE As Integer Get - Return ViewState("CveIE").ToString.ToEntero + Return IfNull(ViewState("CveIE"), "0").ToString.ToEntero End Get Set(value As Integer) ViewState("CveIE") = value @@ -315,6 +315,12 @@ Partial Class Bancos_PopIECompras End Get End Property + Private ReadOnly Property NombreCliente As String + Get + Return ViewState("NombreCliente").ToString + End Get + End Property + Private Property NotificarA As String Get If ViewState("NotificarA") Is Nothing Then @@ -814,6 +820,7 @@ Partial Class Bancos_PopIECompras ViewState("IdCtaContRetISRCliente") = dtc.Rows(0)("IdCtaContRetISR") ViewState("IdCtaContComplementariaCliente") = dtc.Rows(0)("IdCtaContComplementaria") ViewState("IdCtaContMonedaExtranjeraCliente") = dtc.Rows(0)("IdCtaContMonedaExtranjera") + ViewState("NombreCliente") = dtc.Rows(0)("Nombre") If ObjMovtos.GetCxCClienteDetalle(CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, -1) Then @@ -1499,6 +1506,8 @@ Partial Class Bancos_PopIECompras If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then MsgError = "No se pudo insertar la póliza" + Else + Exit For End If End If Next @@ -1520,6 +1529,8 @@ Partial Class Bancos_PopIECompras Pago.TipoPago = "DD" If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then MsgError = "No se pudo insertar la póliza" + Else + Exit For End If End If Next @@ -1541,7 +1552,10 @@ Partial Class Bancos_PopIECompras Pago.TipoPago = "DD" If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then MsgError = "No se pudo insertar la póliza" + Else + Exit For End If + End If Next @@ -1561,17 +1575,20 @@ Partial Class Bancos_PopIECompras End If If MsgError = "" Then - Dim VentaActual As New Venta With {.CveVenta = rw.DataKey("CveVenta").ToEntero, .CveCliente = rw.DataKey("CveCliente").ToEntero, .IVA = rw.DataKey("IVA").ToDecimal, .IEPS = rw.DataKey("IEPS").ToDecimal, .RetIVA = rw.DataKey("RetIVA").ToDecimal, .RetISR = rw.DataKey("RetISR").ToDecimal, .Total = rw.DataKey("Total").ToDecimal, .PorcentajeIVA = rw.DataKey("PorcentajeIVA").ToDecimal} + Dim VentaActual As New Venta With {.CveVenta = rw.DataKey("CveVenta").ToEntero, .ClienteNombre = NombreCliente, .SerieFolio = rw.DataKey("SerieFolio"), .CveCliente = rw.DataKey("CveCliente").ToEntero, .IVA = rw.DataKey("IVA").ToDecimal, .IEPS = rw.DataKey("IEPS").ToDecimal, .RetIVA = rw.DataKey("RetIVA").ToDecimal, .RetISR = rw.DataKey("RetISR").ToDecimal, .Total = rw.DataKey("Total").ToDecimal, .PorcentajeIVA = rw.DataKey("PorcentajeIVA").ToDecimal, .CveSubProyecto = rw.DataKey("CveSubProyecto").ToEntero, .CveMoneda = rw.DataKey("CveMoneda").ToEntero} Dim PagoVenta As New VentaPago PagoVenta.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero PagoVenta.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal + PagoVenta.ImportePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal PagoVenta.TCPago = rw.DataKey("TipoCambio").ToDecimal PagoVenta.CveCompraRelacionada = CompraActual.CveCompra - PagoVenta.TipoPago = "XX" + PagoVenta.TipoPago = "Venta" If AplicaPrePolizaPagoVenta(VentaActual, PagoVenta, CvePrePoliza, ObjMov) Then MsgError = "No se pudo insertar la póliza" End If + Else + Exit For End If End If Next @@ -1579,28 +1596,44 @@ Partial Class Bancos_PopIECompras Case Else ImportePagado = 0 End Select + Dim ObjConta As ClsContPAQi = Nothing If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then If ObjMov.ValorPolizaDescuadre > 0 Then MsgError = ObjMov.MensajePolizaDescuadre GuardaLogAD($"Bancos/PopIECompras | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + Else + If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaContabilidad Then + ObjConta = New ClsContPAQi(UsuarioActual.Empresa) + ObjConta.IniciaTransacSQL() + End If + If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjConta) Then + IdPoliza = ObjMov.ContaIdPoliza + Else + Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) + MsgError = "Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico" + End If + End If End If End If If MsgError = "" Then - ObjIE.Commit() + + ObjIE.Commit() + If ObjConta IsNot Nothing Then ObjConta.Commit() Dim StrMsg As New StringBuilder StrMsg.Append("El Documento se guardó correctamente.
") If TipoTransaccion = "Egs" AndAlso CveIE > 0 Then GeneraChequePDF(CveIE, UsuarioActual.Empresa) - If IdPoliza > 0 Then - StrMsg.AppendFormat("
Ver Póliza", IdPoliza) - End If + If IdPoliza > 0 Then StrMsg.AppendFormat("
Ver Póliza", IdPoliza) + If RBLContado.SelectedValue.ToEntero = 6 And ChkEmitirComplementoPago.Checked Then GeneraTimbre(CvePrePoliza) Else Alert(StrMsg.ToString, TipoMensaje.MsgInformacion, "self.parent.tb_remove();self.parent.location.reload();") EnviarCorreoNotificacion(CveIE, NotificarA, "", UsuarioActual, False) Else - ObjIE.RollBack() + ObjIE.RollBack() + If ObjConta IsNot Nothing Then ObjConta.RollBack() Alert(MsgError, TipoMensaje.MsgError) End If