-- mejoras para generación de RNC, redondeo

-- E189, que puedan registrar la cantidad mayor a la de la OC
This commit is contained in:
2025-01-29 12:23:36 -07:00
parent 150a1a8991
commit 36e52b4d75

View File

@@ -13,6 +13,7 @@ Imports MoreLinq
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports ClsPaginas Imports ClsPaginas
Imports Microsoft.Reporting.WebForms Imports Microsoft.Reporting.WebForms
Imports Stimulsoft.Report
Partial Class Compras_Compras Partial Class Compras_Compras
Inherits ClsPaginas Inherits ClsPaginas
@@ -1743,7 +1744,7 @@ Partial Class Compras_Compras
CompraSaldar.Fecha = TxtFecha.Text.ToDate CompraSaldar.Fecha = TxtFecha.Text.ToDate
CompraSaldar.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim CompraSaldar.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim
CompraSaldar.ProveedorNombre = HplProveedor.Text CompraSaldar.ProveedorNombre = HplProveedor.Text
CompraSaldar.TC = TipoCambio CompraSaldar.TC = TipoCambioOriginal
CompraSaldar.Total = TxtTotal.Text.ToDecimal CompraSaldar.Total = TxtTotal.Text.ToDecimal
CompraSaldar.IVA = TxtIVA.Text.ToDecimal CompraSaldar.IVA = TxtIVA.Text.ToDecimal
CompraSaldar.IVADeducible = TxtIVA.Text.ToDecimal CompraSaldar.IVADeducible = TxtIVA.Text.ToDecimal
@@ -15327,8 +15328,14 @@ Partial Class Compras_Compras
Protected Sub GvOC1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvOC1.RowDataBound Protected Sub GvOC1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvOC1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
Dim JSCambiaScript As String = $"CalculaTotalOCEdit('{e.Row.DBCampo("PS").Replace("'", "").Replace(vbLf, " ").Replace(vbCrLf, " ")}', {e.Row.DBCampo("Cantidad").ToDouble},{e.Row.DBCampo("PU").ToDouble}, {e.Row.FCTextBox("TxtCantidad").ClientID}, {e.Row.FCTextBox("TxtPU").ClientID}, {e.Row.FCTextBox("TxtTotalOC1").ClientID}, {e.Row.DBCampo("IEPSPS").ToDouble},{e.Row.FCHiddenField("HdnOC1IEPSImporte").ClientID}, {e.Row.DBCampo("IVA").ToDouble},{e.Row.FCHiddenField("HdnOC1IVA").ClientID},{e.Row.DBCampo("RetIVA").ToDouble},{e.Row.FCHiddenField("HdnOC1RetIVA").ClientID},{e.Row.DBCampo("RetISR").ToDouble},{e.Row.FCHiddenField("HdnOC1RetISR").ClientID},{e.Row.DBCampo("IEPSPS").ToDouble},{e.Row.FCHiddenField("HdnOC1IEPSIVA").ClientID},{e.Row.DBCampo("Descuento")},{e.Row.FCHiddenField("HdnOC1Descuento").ClientID},{e.Row.DBCampo("IVAPorcentaje").ToDouble},{e.Row.DBCampo("RetIVAPorcentaje").ToString.ToDouble},{e.Row.DBCampo("RetISRPorcentaje").ToDouble},{e.Row.DBCampo("IEPSPSPorcentaje").ToDouble},{e.Row.DBCampo("IEPSPSIVAPorcentaje").ToDouble});" Dim JSCambiaScript As String = $"CalculaTotalOCEdit('{e.Row.DBCampo("PS").Replace("'", "").Replace(vbLf, " ").Replace(vbCrLf, " ")}', {e.Row.DBCampo("Cantidad).ToDouble},{e.Row.DBCampo("PU").ToDouble}, {e.Row.FCTextBox("TxtCantidad").ClientID}, {e.Row.FCTextBox("TxtPU").ClientID}, {e.Row.FCTextBox("TxtTotalOC1").ClientID}, {e.Row.DBCampo("IEPSPS").ToDouble},{e.Row.FCHiddenField("HdnOC1IEPSImporte").ClientID}, {e.Row.DBCampo("IVA").ToDouble},{e.Row.FCHiddenField("HdnOC1IVA").ClientID},{e.Row.DBCampo("RetIVA").ToDouble},{e.Row.FCHiddenField("HdnOC1RetIVA").ClientID},{e.Row.DBCampo("RetISR").ToDouble},{e.Row.FCHiddenField("HdnOC1RetISR").ClientID},{e.Row.DBCampo("IEPSPS").ToDouble},{e.Row.FCHiddenField("HdnOC1IEPSIVA").ClientID},{e.Row.DBCampo("Descuento")},{e.Row.FCHiddenField("HdnOC1Descuento").ClientID},{e.Row.DBCampo("IVAPorcentaje").ToDouble},{e.Row.DBCampo("RetIVAPorcentaje").ToString.ToDouble},{e.Row.DBCampo("RetISRPorcentaje").ToDouble},{e.Row.DBCampo("IEPSPSPorcentaje").ToDouble},{e.Row.DBCampo("IEPSPSIVAPorcentaje").ToDouble});"
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"LimitaCantidadOC({e.Row.DBCampo("CantidadPendienteVincular")}, this);{JSCambiaScript}") e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"LimitaCantidadOC({e.Row.DBCampo("CantidadPendienteVincular")}, this);{JSCambiaScript}")
If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso PermisoVinculacionImporteDiferente Then ' código temporal, excluir que valide cantidad GDIAZ
e.Row.FCTextBox("TxtCantidad").Attributes.Remove("onkeyup")
End If
e.Row.FCTextBox("TxtPU").Attributes.Add("onkeyup", JSCambiaScript) e.Row.FCTextBox("TxtPU").Attributes.Add("onkeyup", JSCambiaScript)
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onblur", $"ValidaImporteCero('{e.Row.DBCampo("PS").Replace("'", "")}',{e.Row.FCTextBox("TxtCantidad").ClientID}, {e.Row.FCTextBox("TxtPU").ClientID});") e.Row.FCTextBox("TxtCantidad").Attributes.Add("onblur", $"ValidaImporteCero('{e.Row.DBCampo("PS").Replace("'", "")}',{e.Row.FCTextBox("TxtCantidad").ClientID}, {e.Row.FCTextBox("TxtPU").ClientID});")
@@ -15344,6 +15351,7 @@ Partial Class Compras_Compras
' e.Row.FCRangeValidator("RValPU").MinimumValue = "0.00" ' e.Row.FCRangeValidator("RValPU").MinimumValue = "0.00"
'End If 'End If
e.Row.FCRangeValidator("RValPU").MaximumValue = ((e.Row.DBCampo("Total").ToDecimal + tdif) / e.Row.DBCampo("Cantidad").ToDecimal).ToString("F6") e.Row.FCRangeValidator("RValPU").MaximumValue = ((e.Row.DBCampo("Total").ToDecimal + tdif) / e.Row.DBCampo("Cantidad").ToDecimal).ToString("F6")
End If End If
If e.Row.DataKey("FolioREQ").ToString.Trim.Length > 0 Then If e.Row.DataKey("FolioREQ").ToString.Trim.Length > 0 Then
@@ -22080,7 +22088,7 @@ Partial Class Compras_Compras
Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2) Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2)
Dim TotalRNC As Decimal = If(RedondearSaldado, (ImporteRNC + IVARNC).RoundSQL(2), (ImporteRNC + IVARNC)) Dim TotalRNC As Decimal = If(RedondearSaldado, (ImporteRNC + IVARNC).RoundSQL(2), (ImporteRNC + IVARNC))
CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA) CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal)
If CompraRNC.AddCompra(sqltransaccion) Then If CompraRNC.AddCompra(sqltransaccion) Then
Dim tImporteRNC = TotalRNC ' le agrego el importe del iva Dim tImporteRNC = TotalRNC ' le agrego el importe del iva
Dim Pago As New CompraPago Dim Pago As New CompraPago
@@ -23333,7 +23341,7 @@ Public Class ClsCompraManagerCompras
End Function End Function
Public Function ConfiguraRegistroRapido(CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, PS As String, CveSubProyecto As Integer, SubProyecto As String, Public Function ConfiguraRegistroRapido(CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, PS As String, CveSubProyecto As Integer, SubProyecto As String,
SubTotal As Decimal, IVA As Decimal, Total As Decimal, PorcentajeIVA As Decimal) As Boolean SubTotal As Decimal, IVA As Decimal, Total As Decimal, PorcentajeIVA As Decimal, Optional TipoCambio As Decimal = 1) As Boolean
Dim respuesta As Boolean = True Dim respuesta As Boolean = True
Me.CveSubProyecto = CveSubProyecto Me.CveSubProyecto = CveSubProyecto
@@ -23348,6 +23356,7 @@ Public Class ClsCompraManagerCompras
Me.IVA = IVA Me.IVA = IVA
Me.Total = Total Me.Total = Total
Me.PorcentajeIVA = PorcentajeIVA Me.PorcentajeIVA = PorcentajeIVA
Me.TipoCambio = TipoCambio
Dim dRowSubProyecto As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto).FiltroPrimero("") Dim dRowSubProyecto As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto).FiltroPrimero("")
@@ -24295,7 +24304,7 @@ Public Class ClsCompraManagerCompras
'HACEMOS CALCULOS 'HACEMOS CALCULOS
LocalSubTotalIVA = TmpDT.SUMD("IVA") LocalSubTotalIVA = TmpDT.SUMD("IVA")
LocalSubTotalIEPSIVA = TmpDT.SUMD("IEPSPSIVA") LocalSubTotalIEPSIVA = TmpDT.SUMD("IEPSPSIVA")
LocalSubTotal = (TmpDT.SUMD("Total") + TmpDT.SUMD("Descuento")).RoundSQL(8) LocalSubTotal = (TmpDT.SUMD("Total") + TmpDT.SUMD("Descuento")).RoundSQL(2)
LocalRetIVA = TmpDT.SUMD("RetIVA") LocalRetIVA = TmpDT.SUMD("RetIVA")
LocalRetISR = TmpDT.SUMD("RetISR") LocalRetISR = TmpDT.SUMD("RetISR")
LocalIEPSPS = TmpDT.SUMD("IEPSPS") LocalIEPSPS = TmpDT.SUMD("IEPSPS")