diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index 40122ad0c..ddb128135 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -604,7 +604,7 @@
Fecha de Cirugia:
-
+
|
@@ -9795,44 +9795,55 @@
function CalculaDescPS() {
if ($get("TxtPorPS").value != "") {
- var PorcentajeDescuento = parseFloat($get("TxtPorPS").value);
+ let PorcentajeDescuento = parseFloat($get("TxtPorPS").value);
if (PorcentajeDescuento < 0 || PorcentajeDescuento > 99) {
alert("No se puede aplicar ese porcentaje de descuento");
$get("TxtPorPS").value = "0";
+ recalcularUtilidad(0);
return;
}
- var ivaPor = parseFloat($get("HdnIVADescPS").value) ;
+ let ivaPor = parseFloat($get("HdnIVADescPS").value) ;
- var subTotal = parseFloat($get("LblSubtotalDescPS").innerText.replace(",", "").replace(",", ""));
+ let subTotal = parseFloat($get("LblSubtotalDescPS").innerText.replace(",", "").replace(",", ""));
$get("LblDescPS").innerText = formato_numero(((subTotal * PorcentajeDescuento) / 100), 2, '.', ',');
- var descuento = parseFloat($get("LblDescPS").innerText.replace(",", "").replace(",", ""));
+ let descuento = parseFloat($get("LblDescPS").innerText.replace(",", "").replace(",", ""));
$get("LblIVADescPS").innerText = formato_numero(((subTotal - descuento) * ivaPor), 2, '.', ',');
- var importeIVA =parseFloat($get("LblIVADescPS").innerText.replace(",", "").replace(",", ""));
+ let importeIVA =parseFloat($get("LblIVADescPS").innerText.replace(",", "").replace(",", ""));
- var Total = (subTotal - descuento) + importeIVA;
+ let Total = (subTotal - descuento) + importeIVA;
$get("LblTotalFinalDescPS").innerText = formato_numero(Total, 2, '.', ',');
$get("HdnDescPS").value = descuento;
- var totalCompra = parseFloat($get("HdnTotalCompra").value);
- if (totalCompra > 0) {
- var totalRedondeado = parseFloat($get("LblTotalFinalDescPS").innerText.replace(",", "").replace(",", ""));
- var utilidad = ((totalRedondeado - totalCompra) / totalRedondeado) * 100;
+ recalcularUtilidad(descuento)
+ } else {
+ let subTotal = parseFloat($get("LblSubtotalDescPS").innerText.replace(",", "").replace(",", ""));
+ $get("LblIVADescPS").innerText = formato_numero((subTotal * ivaPor), 2, '.', ',');
+ let importeIVA =parseFloat($get("LblIVADescPS").innerText.replace(",", "").replace(",", ""));
+ let Total = (subTotal) + importeIVA;
- $get("LblUtilidadPorcentaje").innerText = formato_numero(utilidad, 2, '.', ',');
- }
- }
- else {
- $get("LblTotalFinalDescPS").innerText = "0.00";
+ $get("LblTotalFinalDescPS").innerText = formato_numero(Total, 2, '.', ',');
$get("LblDescPS").innerText = "0.00";
- $get("LblIVADescPS").innerText = "0.00";
$get("LblUtilidadPorcentaje").innerText = "0.00";
$get("HdnDescPS").innerText = "0.00";
+
+ recalcularUtilidad(0);
+ }
+ }
+
+ function recalcularUtilidad(descuento){
+ let totalCompra = parseFloat($get("HdnTotalCompra").value);
+ if (totalCompra > 0) {
+ let subTotal = parseFloat($get("LblSubtotalDescPS").innerText.replace(",", "").replace(",", ""));
+ let subTotal2 = subTotal - descuento;
+ let utilidad = ((subTotal2 - totalCompra) / subTotal2) * 100;
+
+ $get("LblUtilidadPorcentaje").innerText = formato_numero(utilidad, 2, '.', ',');
}
}
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 4a634eae8..79b0aff37 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -24047,13 +24047,13 @@ Partial Class Ventas
Using ObjPS As New ClsProductosServicios
Dim PrecioCompra = ObjPS.GetUltimoPrecioCompra(UsuarioActual.CveEmpresa, GvRow.DataKey("CvePS").ToEntero())
If PrecioCompra > 0 Then
- Dim TotalCompra = (PrecioCompra * GvRow.DataKey("Cantidad").ToDouble() * (1 + GvRow.DataKey("IVA").ToDecimal()))
- HdnTotalCompra.Value = TotalCompra.ToString()
+ Dim SubTotalCompra = (PrecioCompra * GvRow.DataKey("Cantidad").ToDouble())
+ HdnTotalCompra.Value = SubTotalCompra.ToString()
LblPrecioCompra.Text = $"PU Compra: {(PrecioCompra).FormatoNumero(2)}"
- Dim TotalRedondeado = GvRow.DataKey("Total").ToDecimal() + GvRow.DataKey("ImporteIVA").ToDecimal()
+ Dim SubTotal = GvRow.DataKey("Total").ToDecimal()
- Dim PorUtilidad = ((TotalRedondeado - TotalCompra) / TotalRedondeado) * 100D
+ Dim PorUtilidad = ((SubTotal - SubTotalCompra) / SubTotal) * 100D
LblUtilidadPorcentaje.Text = PorUtilidad.FormatoNumero(2)
End If
End Using