--FIX descuentos generales

This commit is contained in:
JPerez
2025-06-20 17:42:55 -07:00
parent 3db699bd8e
commit 8f75a14427

View File

@@ -3603,6 +3603,41 @@ Partial Class PV
End If End If
'VALIDA DESCUENTOS GENERALES
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem") Then
Dim ValidoDescuentos As Boolean = True
Dim DtTamanios As DataTable = GlobalDTAcumTamaños(UsuarioActual.CveEmpresa).FiltraParametros($" CvePSCargo > 0")
For Each Row As DataRow In TmpDT.Rows
Dim CvePS As Integer = Row("CvePS").ToString().ToEntero()
Dim Cantidad As Decimal = Row("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = Row("PU").ToString().ToDecimal()
Dim Descuento As Decimal = Row("Descuento").ToString().ToDecimal()
Dim EsGarantia As Boolean = ObjFactura.EsGarantia OrElse Row("Obs").ToString().Contains("Descuento por garantía")
Dim EsCargo As Boolean = DtTamanios IsNot Nothing AndAlso DtTamanios.FiltraParametros($"CvePSCargo = {CvePS}").Rows.Count = 1
If Not EsGarantia AndAlso Not EsCargo Then
Dim porcentaje = ((Descuento) / (Cantidad * PU).RoundSQL(2)) * 100D
If porcentaje > 41 Then
Alert($"El producto '{Row("CodigoPS")}' no puede tener un descuento mayor al 40%", TipoMensaje.MsgAdvertencia)
ValidoDescuentos = False
Exit For
End If
End If
Next
If Not ValidoDescuentos Then
Exit Sub
End If
End If
If ObjFactura.CveCliente > 0 Then If ObjFactura.CveCliente > 0 Then
If TmpDT.Rows.Count > 0 Then If TmpDT.Rows.Count > 0 Then