- corrección devolución

This commit is contained in:
2025-07-15 16:36:45 -07:00
parent 8bcccf0562
commit 20a7d9d6da

View File

@@ -10956,13 +10956,13 @@ Partial Class Clientes
tCveMoneda = GlobalDTBancosCuentasGral(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("CveMoneda", $"CveCuenta={DdlCuenta.SelectedValue}").ToEntero
CvePrePoliza = ObjMov.AddPrePolizas("Clientes/IE/DEV ", 1, tImporteDev, tImporteDev, tCveMoneda, TxtFechaDocumento.Text.ToDate, PagueseA, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=2)
If tCveMoneda > 1 Then tTipoCambio = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToDecimal
'valida prepoliza
If CvePrePoliza > 0 Then
tFolio = ObjIE.GetNextFolio(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero).ToString
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, tFolio, PagueseA, tImporteDev, tCveMoneda,
tTipoCambio, tObs, "", False, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero)
tTipoCambio, tObs, "", False, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero, Modulo:="Clientes/IE/DEV ")
If CveIE > 0 Then
Dim ImporteAplicar As Decimal = 0.0D
@@ -10990,7 +10990,7 @@ Partial Class Clientes
'BANCOS COMPLEMENTARIAs
If tCveMoneda > 1 Then
ImporteAplicarMN = ((ImporteAplicar * If(tCveMoneda = 1, 1, tTipoCambio)) - ImporteAplicar).RoundSQL()
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ImporteAplicarMN, 204, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=-1, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ImporteAplicarMN, 204, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=-1, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, TipoCambio:=tTipoCambio) Then
MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución"
End If
End If
@@ -11015,29 +11015,39 @@ Partial Class Clientes
For Each gvr As GridViewRow In GVAnticipos.Rows
If gvr.FCCheckBox("chkDevolver").Checked Then
Dim PorcentajePagoDevDin As Decimal = (gvr.DataKey("Saldo").ToDecimal / gvr.DataKey("Total").ToDecimal).RoundSQL(6)
Dim tCveConcepto As Integer
Dim tConceptosTipoSaldo As ConceptosTipoSaldo = Nothing
ImporteAplicar = gvr.DataKey("Saldo").ToDecimal
ImporteAplicarMN = ImporteAplicar
Dim CveVentaAmortizacion As Integer = -1
If gvr.DataKey("Tipo") = "IxC" Then
tCveConcepto = 92 : tTipoMovto = False
tTipoMovto = False
tConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(18, tCveMoneda, True, -1)
ElseIf gvr.DataKey("Tipo").Contiene("Dev", "NC") Then
CveVentaAmortizacion = gvr.DataKey("CveVenta").ToEntero
tCveConcepto = 91 : ImporteAplicar = ImporteAplicar : tTipoMovto = False
tConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(6, tCveMoneda, True, -1)
ImporteAplicar = ImporteAplicar : tTipoMovto = False
ElseIf gvr.DataKey("Tipo").Contiene("Ant") Then
tCveConcepto = 11 : ImporteAplicar = ImporteAplicar : tTipoMovto = False
tConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(12, tCveMoneda, True, -1)
ImporteAplicar = ImporteAplicar : tTipoMovto = False
End If
If tCveMoneda > 1 Then ImporteAplicarME = ImporteAplicar
ImporteAplicarMN = (ImporteAplicar * If(tCveMoneda = 1, 1, tTipoCambio)).RoundSQL()
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, ImporteAplicar, ImporteAplicarMN, tCveConcepto, ReferenciaAplicar, ConceptoAplicar, CveIE:=gvr.DataKey("CveIE").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, CveVentaAmortizacion:=CveVentaAmortizacion) Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, ImporteAplicar, ImporteAplicarMN, tConceptosTipoSaldo.CveConcepto, ReferenciaAplicar, ConceptoAplicar, CveIE:=gvr.DataKey("CveIE").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, CveVentaAmortizacion:=CveVentaAmortizacion, TipoCambio:=tTipoCambio) Then
MsgError = "Ocurrió un error al registrar el asiento de pago de devolución"
Exit For
End If
If tCveMoneda > 1 Then
ImporteAplicarMN = (ImporteAplicar * If(tCveMoneda = 1, 1, tTipoCambio - 1)).RoundSQL()
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, ImporteAplicar, ImporteAplicarMN, tConceptosTipoSaldo.CveConceptoComplementario, ReferenciaAplicar, ConceptoAplicar, CveIE:=gvr.DataKey("CveIE").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, CveVentaAmortizacion:=CveVentaAmortizacion, TipoCambio:=tTipoCambio) Then
MsgError = "Ocurrió un error al registrar el asiento de pago de devolución"
Exit For
End If
End If
'IMPUESTOS
If gvr.DataKey("IVA").ToDecimal > 0 Then
tImporte = -(gvr.DataKey("IVA").ToDecimal * PorcentajePagoDevDin).RoundSQL
tImporte = -(gvr.DataKey("IVA").ToDecimal * PorcentajePagoDevDin * tTipoCambio).RoundSQL
If gvr.DataKey("Tipo").Contiene("Dev", "NC") AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 13, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, PorcentajeImpuesto:=gvr.DataKey("PorcentajeIVA").ToDecimal) Then
MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
Exit For
@@ -11049,7 +11059,7 @@ Partial Class Clientes
End If
If gvr.DataKey("IEPS").ToDecimal > 0 Then
tImporte = (gvr.DataKey("IEPS").ToDecimal * PorcentajePagoDevDin).RoundSQL
tImporte = (gvr.DataKey("IEPS").ToDecimal * PorcentajePagoDevDin * tTipoCambio).RoundSQL
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, tImporte, tImporte, 39, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then
MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
Exit For
@@ -11057,7 +11067,7 @@ Partial Class Clientes
End If
If gvr.DataKey("RetIVA").ToDecimal > 0 Then
tImporte = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePagoDevDin).RoundSQL
tImporte = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePagoDevDin * tTipoCambio).RoundSQL
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 62, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then
MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
Exit For
@@ -11065,13 +11075,12 @@ Partial Class Clientes
End If
If gvr.DataKey("RetISR").ToDecimal > 0 Then
tImporte = (gvr.DataKey("RetISR").ToDecimal * PorcentajePagoDevDin).RoundSQL
tImporte = (gvr.DataKey("RetISR").ToDecimal * PorcentajePagoDevDin * tTipoCambio).RoundSQL
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 63, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then
MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
Exit For
End If
End If
End If
Next
@@ -11131,8 +11140,6 @@ Partial Class Clientes
#End Region
End Class