This commit is contained in:
2024-07-04 10:17:59 -07:00
2 changed files with 145 additions and 82 deletions

View File

@@ -5918,57 +5918,63 @@
}
function chkAnt(t, txt, importe, TotalSaldoCompra, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, TCCompra, txtComision) {
var Total = ToDouble($get('TxtTotal').value);
debugger;
var txtvalue = ToDouble(txt.value);
var ImportePago, ImporteCompra;
var TCC = TCCompra / TCAnticipo;
var importevalue = ToDouble(importe);
function chkAnt(t, txt, importe, TotalSaldoCompra, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, TCCompra, txtComision) {
var Total = ToDouble($get('TxtTotal').value);
debugger;
var txtvalue = ToDouble(txt.value);
var ImportePago, ImporteCompra;
if (CveMonedaAnticipo != CveMonedaOriginal) {
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
importevalue = ToDouble(importevalue / TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
txtvalue = ToDouble(txtvalue * TCAnticipo);
importevalue = ToDouble(importevalue * TCAnticipo);
}
var TCC = TCCompra / TCAnticipo;
var importevalue = ToDouble(importe);
if (CveMonedaAnticipo != CveMonedaOriginal) {
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
importevalue = ToDouble(importevalue / TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
txtvalue = ToDouble(txtvalue * TCAnticipo);
importevalue = ToDouble(importevalue * TCAnticipo);
}
else { TCC = 1; }
var DifSaldo = (TotalSaldoCompra - FnSumaValoresAnt());//.toFixed(2); // le agrego lo del valor actual para validarlo
if (t.checked)
{
if (DifSaldo > importevalue) {
txt.value = toFixed(ToDouble(importevalue * TCC), 2);
} else {
txt.value = toFixed(ToDouble(DifSaldo * TCC), 2);
}
if (txtComision !== undefined && txtComision !== null) {
let difFinal = (DifSaldo - importevalue) * TCC;
if (difFinal > 0 && difFinal < 1) {
txtComision.value = toFixed(roundToTwo(difFinal), 2);
}
}
} else {
txt.value = "";
}
$("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(), 2));
$("#LblAplicadoCompraAnt").text(FormatoNumero(FnSumaValoresAnt(), 2));
$("#LblAplicadoCompraAntComision").text(FormatoNumero(FnSumaValoresAntComisiones(), 2));
$("#LblSaldoFactura").text(FormatoNumero(TotalSaldoCompra - FnSumaValoresAnt(), 2));
}
else { TCC = 1; }
var DifSaldo = (TotalSaldoCompra - FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal));//.toFixed(2); // le agrego lo del valor actual para validarlo
if (t.checked) {
let saldoVal = importevalue;
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
saldoVal = ToDouble(importevalue / TCC)
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
saldoVal = ToDouble(importevalue * TCC)
}
if (DifSaldo > saldoVal) {
txt.value = toFixed(ToDouble(saldoVal * TCC), 2);
} else {
txt.value = toFixed(ToDouble(DifSaldo * TCC), 2);
}
if (txtComision !== undefined && txtComision !== null) {
let difFinal = (DifSaldo - importevalue) * TCC;
if (difFinal > 0 && difFinal < 1) {
txtComision.value = toFixed(roundToTwo(difFinal), 2);
}
}
} else {
txt.value = "";
}
$("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2));
$("#LblAplicadoCompraAnt").text(FormatoNumero(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2));
$("#LblAplicadoCompraAntComision").text(FormatoNumero(FnSumaValoresAntComisiones(CveMonedaAnticipo, CveMonedaOriginal), 2));
$("#LblSaldoFactura").text(FormatoNumero(TotalSaldoCompra - FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2));
}
function roundToTwo(num) {
return Math.round(num * 100) / 100;
@@ -5976,6 +5982,7 @@
function FnCambiaAnt(chk, txt, saldo, TotalSaldo, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, txtComision) {
var Total = ToDouble($get('TxtTotal').value);
let txtComisionImporte = 0;
debugger;
@@ -6003,11 +6010,42 @@
txtvalue = ToDouble(txtvalue * TCAnticipo);
}
var SaldoCompra = toFixed(TotalSaldo - FnSumaValoresAnt() + ToDouble(txtvalue),2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2));
if (SaldoCompra < 0) txt.value = SaldoCompra - txtvalue;
//minimo entre saldocompra y el saldoanticipo
if (SaldoCompra < saldo) saldo = SaldoCompra;
let amortizado = ToDouble(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal)) - ToDouble(txtvalue) ;
let SaldoCompra = toFixed(TotalSaldo - amortizado, 2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2));
if (SaldoCompra < 0) {//minimo entre saldocompra y el saldoanticipo
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
txt.value = SaldoCompra - ToDouble(txtvalue * TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
txt.value = SaldoCompra - ToDouble(txtvalue / TCAnticipo);
} else {
txt.value = SaldoCompra - txtvalue;
}
}
let saldoVal = saldo;
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
saldoVal = ToDouble(saldo / TCAnticipo)
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
saldoVal = ToDouble(saldo * TCAnticipo)
}
if (saldoVal > SaldoCompra ) {
saldo = SaldoCompra;
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
saldoVal = ToDouble(saldo / TCAnticipo);
saldo = ToDouble(saldo * TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
saldoVal = ToDouble(saldo * TCAnticipo)
saldo = ToDouble(saldo / TCAnticipo);
}
}
if (ToDouble(txtvalue) > 0) {
chk.checked = true;
@@ -6015,15 +6053,16 @@
chk.checked = false;
}
if (ToDouble(txtvalue) > saldo) {
txt.value = saldo;
if (ToDouble(txtvalue) > saldoVal) {
txt.value = FormatoNumero(saldo, 2);
alert("El Importe no debe de exceder a el saldo");
}
}
$("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(), 2));
$("#LblAplicadoCompraAnt").text(FormatoNumero(FnSumaValoresAnt(), 2));
$("#LblAplicadoCompraAntComision").text(FormatoNumero(FnSumaValoresAntComisiones(), 2));
$("#LblSaldoFactura").text(FormatoNumero(TotalSaldo - FnSumaValoresAnt(), 2));
$("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2));
$("#LblAplicadoCompraAnt").text(FormatoNumero(FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2));
$("#LblAplicadoCompraAntComision").text(FormatoNumero(FnSumaValoresAntComisiones(CveMonedaAnticipo, CveMonedaOriginal), 2));
$("#LblSaldoFactura").text(FormatoNumero(TotalSaldo - FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal), 2));
}
//funcion para truncar en lugar de redondear
@@ -6032,37 +6071,49 @@
return num.toString().match(re)[0];
}
function FnSumaValoresAnt() {
var totalPoints = 0;
var t = '';
function FnSumaValoresAnt(CveMonedaAnticipo, CveMonedaOriginal) {
var totalPoints = 0;
$('input[name*=TxtAnticipo]').each(function () {
totalPoints += ToDouble($(this).val());
// totalPoints += ToDouble($(this).val());
let txtvalue = ToDouble($(this).val());
//let asdasdasd = $(this).data('tcanticipo');
let TCAnticipo = ToDouble($(this).data('tcanticipo'));
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
txtvalue = ToDouble(txtvalue * TCAnticipo);
}
totalPoints += txtvalue;
});
//$('span[id*=LbTotal]').each(function () {
// totalPoints += ToDouble($(this).val());
//});
let respuesta = Math.round(totalPoints * 100) / 100;
return respuesta
return totalPoints
}
function FnSumaValoresAntComisiones() {
var totalPoints = 0;
var t = '';
function FnSumaValoresAntComisiones(CveMonedaAnticipo, CveMonedaOriginal) {
var totalPoints = 0;
$('input[name*=TxtComision]').each(function () {
totalPoints += ToDouble($(this).val());
//totalPoints += ToDouble($(this).val());
let txtvalue = ToDouble($(this).val());
let TCAnticipo = ToDouble($(this).data('tcanticipo'));
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
txtvalue = ToDouble(txtvalue * TCAnticipo);
}
totalPoints += txtvalue;
});
let respuesta = Math.round(totalPoints * 100) / 100;
return respuesta
return totalPoints
}
function FnCambiaFacturaNC(saldo, txt, total, txtaplicado, chk) {
var SumaImporte = 0, Importe = 0;

View File

@@ -8362,8 +8362,19 @@ Partial Class Compras_Compras
Pago.TCPago = TipoCambioAnt
Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
If ChkPagarConPesos.Checked Then Pago.TCCambioMoneda = 1 / TipoCambioAnt
If ChkPagarConDolares.Checked Then Pago.TCCambioMoneda = TipoCambioAnt
Dim tTCFecha As Double = If(Not gvr.DataKey("TCCompra").ToDouble > 1, GlobalTipoCambio(gvr.DataKey("Fecha").ToDate), gvr.DataKey("TCCompra").ToDouble)
If ChkPagarConPesos.Checked Then
Pago.TCCambioMoneda = 1 / TipoCambioAnt
If CveMoneda = 2 Then
'Pago.TCCambioMoneda = tTCFecha.ToDecimal
Pago.TCCambioMoneda = 1 / tTCFecha.ToDecimal
End If
End If
If ChkPagarConDolares.Checked Then
Pago.TCCambioMoneda = TipoCambioAnt
End If
Select Case gvr.DataKey("TipoDocto")
Case "NC", "DEV", "RNC"
@@ -8415,10 +8426,10 @@ Partial Class Compras_Compras
If ErrorMovtosCxP = 0 AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePolizaNueva, UsuarioActual) Then
ErrorMovtosCxP = 1
'If ObjConta.ValorPolizaDescuadre > 0 Then
' GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
' ErrorPrepolizaDescuadre = True
'End If
If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
End If
End If
Select Case ErrorMovtosCxP
@@ -9780,8 +9791,9 @@ Partial Class Compras_Compras
Dim tTCFecha As Double = If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble)
e.Row.FCTextBox("TxtAnticipo").Attributes.Add("data-tcanticipo", tTCFecha.ToString)
Dim TCAnt As Decimal = If(DdlMoneda.SelectedValue = "1", 1, If(CveCompra > 0, LblTC.Text.ToDecimal, TxtTC.Text.ToDecimal))
Dim TCAnt As Decimal = If(DdlMoneda.SelectedValue = "1", 1, If(CveCompra > 0, LblTC.Text.Replace("TC:", "").ToDecimal, TxtTC.Text.ToDecimal))
If UsuarioActual.Empresa.CveEmpresa.Contiene(13, 83) Then