- E189 - Devoluciones, con descuento previo de RNC.

This commit is contained in:
2025-02-22 17:20:58 -07:00
parent 1e4852891d
commit d4f25efbfd
2 changed files with 34 additions and 15 deletions

View File

@@ -1541,9 +1541,9 @@
<label>Total</label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="80px" HeaderText="Devolución">
<asp:TemplateField ItemStyle-Width="90px" HeaderText="Devolución">
<ItemTemplate>
<asp:TextBox ID="TxtCantidad" Width="50" Mask="999,999.99" min="0" data-max='<%# Eval("Cantidad")%>' data-pu='<%# Eval("PU")%>' type="number" step="any" data-Devolucion="devrow" runat="server"></asp:TextBox>
<asp:TextBox ID="TxtCantidad" Width="70" Mask="999,999.99" min="0" data-max='<%# Eval("Cantidad")%>' data-pu='<%# Eval("PU")%>' type="number" step="any" data-Devolucion="devrow" runat="server"></asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="TxtTotal" Width="50" runat="server" Mask="999,999.99" data-Devolucion="devtotal" disabled></asp:TextBox>

View File

@@ -1271,7 +1271,17 @@ Partial Class Compras_Compras
ViewState("FechaMovtoDev") = value
End Set
End Property
Private Property DevolucionImporteOriginal As Decimal
Get
If ViewState("DevolucionImporteOriginal") Is Nothing Then
ViewState("DevolucionImporteOriginal") = 0
End If
Return ViewState("DevolucionImporteOriginal").ToString.ToDecimal
End Get
Set(value As Decimal)
ViewState("DevolucionImporteOriginal") = value
End Set
End Property
@@ -4432,7 +4442,6 @@ Partial Class Compras_Compras
End If
Dim TotalRealDevolucion As Decimal = 0
Dim EstatusCredito As Integer = 0
Dim CveSubProyecto As Integer = 0
'Credito Multiple
@@ -6873,7 +6882,6 @@ Partial Class Compras_Compras
ErrorMovInv = True
Exit For
End If
' Dim DifTC As Decimal = tipoCambioActual - Gvr.DataKey("TipoCambio").ToDecimal
'diferenciaTransito = DifTC * (Gvr.DataKey("IVA").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
'diferenciaTransito += DifTC * (Gvr.DataKey("IEPSPS").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
@@ -6881,7 +6889,6 @@ Partial Class Compras_Compras
ImporteTransito += importeMNTemp
CveCompraAmortizacion = Gvr.DataKey("CveCompra").ToEntero
'se registra por cada compra relacionada
End If
Next
@@ -6927,14 +6934,27 @@ Partial Class Compras_Compras
DiferenciaDevolucion = -DiferenciaDevolucion
End If
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then ' las devoluciones, que tengan descuento por rnc, debe de descontar del saldo de la factura aplicada
tConceptoDiferencia = 272
tCveCompraAmortizacion = tCveCompra
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc
Dim DiferenciaSaldo As Decimal = DevolucionImporteOriginal ''If(DdlMoneda.SelectedValue.ToEntero <> 1, (importeMovimiento * TxtTC.Text.ToDecimal), importeMovimiento) - DevolucionImporteOriginal
If DiferenciaSaldo <> 0 Then
DiferenciaDevolucion += DiferenciaSaldo ' si hay diferencia se manda al costo
Dim DiferenciaBonif As Decimal = DiferenciaSaldo * (PorcentajeIVA) 'se saca el iva de la dif
DiferenciaSaldo = -DiferenciaSaldo * (1 + PorcentajeIVA) 'se invierte su aplicación
tCveCompraAmortizacion = tCveCompra
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaSaldo, DiferenciaSaldo, 272, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
ErrorPrepoliza = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaBonif, DiferenciaBonif, 259, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
ErrorPrepoliza = True
End If
End If
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, tConceptoDiferencia, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
If DiferenciaDevolucion <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, tConceptoDiferencia, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then
ErrorPrepoliza = True
End If
End If
@@ -13992,7 +14012,6 @@ Partial Class Compras_Compras
Try
Dim subtotaldevolucion As Decimal = 0
Dim realizadevolucion As Boolean = False
'Calculo los subtotales para comparar con la NC
Dim cantidad As Decimal = 0D
@@ -14015,14 +14034,13 @@ Partial Class Compras_Compras
If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then
VinculaDevolucion()
If EsGrupoDiaz AndAlso FechaMovtoDev <> MinFecha AndAlso (FechaMovtoDev >= TxtFecha.Text.ToDate) Then
If FechaMovtoDev <> MinFecha AndAlso (FechaMovtoDev >= TxtFecha.Text.ToDate) Then
TxtFecha.Text = FechaMovtoDev.AddDays(1).ToString("dd/MM/yyyy")
Alert("La fecha de la devolución se cambiará a una fecha posterior al ingreso.", TipoMensaje.ToastAdventencia)
UpParametros.Update()
End If
Else
Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia)
Alert("El Total de la NC debe ser igual al total de la devolución", TipoMensaje.MsgAdvertencia)
End If
Else
Alert("No se ha seleccionado nada para la devolución. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
@@ -14106,6 +14124,7 @@ Partial Class Compras_Compras
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("")
Dim PS As String = PSRow("PSCodigo").ToString
Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total
DevolucionImporteOriginal = tDif
AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString,
PSRow("CveClasificacion").ToString.ToEntero, PSRow("Clasificacion").ToString, CvePSRNC, PS, 1, CveSubProyectoDev.ToString, SubProyecto, "", "-1", "", tDif, tDif, IVAPorcentajeCompra, 0, 0, 0, 0, 0)