- 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> <label>Total</label>
</FooterTemplate> </FooterTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-Width="80px" HeaderText="Devolución"> <asp:TemplateField ItemStyle-Width="90px" HeaderText="Devolución">
<ItemTemplate> <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> </ItemTemplate>
<FooterTemplate> <FooterTemplate>
<asp:TextBox ID="TxtTotal" Width="50" runat="server" Mask="999,999.99" data-Devolucion="devtotal" disabled></asp:TextBox> <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 ViewState("FechaMovtoDev") = value
End Set End Set
End Property 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 End If
Dim TotalRealDevolucion As Decimal = 0 Dim TotalRealDevolucion As Decimal = 0
Dim EstatusCredito As Integer = 0 Dim EstatusCredito As Integer = 0
Dim CveSubProyecto As Integer = 0 Dim CveSubProyecto As Integer = 0
'Credito Multiple 'Credito Multiple
@@ -6873,7 +6882,6 @@ Partial Class Compras_Compras
ErrorMovInv = True ErrorMovInv = True
Exit For Exit For
End If End If
' Dim DifTC As Decimal = tipoCambioActual - Gvr.DataKey("TipoCambio").ToDecimal ' Dim DifTC As Decimal = tipoCambioActual - Gvr.DataKey("TipoCambio").ToDecimal
'diferenciaTransito = DifTC * (Gvr.DataKey("IVA").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal) 'diferenciaTransito = DifTC * (Gvr.DataKey("IVA").ToDecimal / Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDecimal)
'diferenciaTransito += DifTC * (Gvr.DataKey("IEPSPS").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 ImporteTransito += importeMNTemp
CveCompraAmortizacion = Gvr.DataKey("CveCompra").ToEntero CveCompraAmortizacion = Gvr.DataKey("CveCompra").ToEntero
'se registra por cada compra relacionada 'se registra por cada compra relacionada
End If End If
Next Next
@@ -6927,14 +6934,27 @@ Partial Class Compras_Compras
DiferenciaDevolucion = -DiferenciaDevolucion DiferenciaDevolucion = -DiferenciaDevolucion
End If 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 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 Dim DiferenciaSaldo As Decimal = DevolucionImporteOriginal ''If(DdlMoneda.SelectedValue.ToEntero <> 1, (importeMovimiento * TxtTC.Text.ToDecimal), importeMovimiento) - DevolucionImporteOriginal
tCveCompraAmortizacion = tCveCompra
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then If DiferenciaSaldo <> 0 Then
tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc 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
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 ErrorPrepoliza = True
End If End If
End If End If
@@ -13992,7 +14012,6 @@ Partial Class Compras_Compras
Try Try
Dim subtotaldevolucion As Decimal = 0 Dim subtotaldevolucion As Decimal = 0
Dim realizadevolucion As Boolean = False Dim realizadevolucion As Boolean = False
'Calculo los subtotales para comparar con la NC 'Calculo los subtotales para comparar con la NC
Dim cantidad As Decimal = 0D Dim cantidad As Decimal = 0D
@@ -14015,14 +14034,13 @@ Partial Class Compras_Compras
If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then
VinculaDevolucion() 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") 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) Alert("La fecha de la devolución se cambiará a una fecha posterior al ingreso.", TipoMensaje.ToastAdventencia)
UpParametros.Update() UpParametros.Update()
End If End If
Else 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 End If
Else Else
Alert("No se ha seleccionado nada para la devolución. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) 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 PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("")
Dim PS As String = PSRow("PSCodigo").ToString Dim PS As String = PSRow("PSCodigo").ToString
Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total
DevolucionImporteOriginal = tDif
AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString, 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) PSRow("CveClasificacion").ToString.ToEntero, PSRow("Clasificacion").ToString, CvePSRNC, PS, 1, CveSubProyectoDev.ToString, SubProyecto, "", "-1", "", tDif, tDif, IVAPorcentajeCompra, 0, 0, 0, 0, 0)