--No validar efectivo en sobrante faltante

This commit is contained in:
2025-04-24 10:16:32 -07:00
parent 82bc7b36d8
commit f945b5b486
2 changed files with 96 additions and 58 deletions

View File

@@ -1581,20 +1581,24 @@
HdnSobranteFaltante.value = "0";
//HdnCambioFaltante.value = "1";
let cambio = total - totalVenta;
if (cambio > 1) {
if (cambio > 1 || totalEfectivo > 0) {
$get("TxtFaltante").value = "";
$get("ChkSobFaltante").checked = false;
$get("TxtCambio").value = FormatoNumero(cambio);
} else {
if (cambio == 'NaN') {
$get("TxtFaltante").value = "0.00";
} else {
$get("TxtFaltante").value = FormatoNumero(cambio);
//SOLO ACTIVAR SI NO HAY EFECTIVO
if (totalEfectivo == 0) {
if (cambio == 'NaN') {
$get("TxtFaltante").value = "0.00";
} else {
$get("TxtFaltante").value = FormatoNumero(cambio);
}
$get("ChkSobFaltante").checked = true;
$get("TxtCambio").value = "";
}
$get("ChkSobFaltante").checked = true;
$get("TxtCambio").value = "";
}
} else {
@@ -1628,13 +1632,27 @@
sobFaltantePermitido = 10;
}
if (ToDouble($get("TxtFaltante").value) > sobFaltantePermitido) {
alert("El sobrante/faltante no debe ser mayor a " + sobFaltantePermitido);
let totalEfectivo = $get("TxtImporteEfectivo") ? ToDouble($get("TxtImporteEfectivo").value) : 0;
if (totalEfectivo > 0) {
sobFaltantePermitido = 0;
}
if (sobFaltantePermitido > 0) {
if (ToDouble($get("TxtFaltante").value) > sobFaltantePermitido) {
alert("El sobrante/faltante no debe ser mayor a " + sobFaltantePermitido);
$get("TxtFaltante").value = "";
$get("ChkSobFaltante").checked = false;
} else {
$get("ChkSobFaltante").checked = true;
}
} else {
alert("El sobrante/faltante no esta permitido");
$get("TxtFaltante").value = "";
$get("ChkSobFaltante").checked = false;
} else {
$get("ChkSobFaltante").checked = true;
}
}
function CargaSobranteFaltante() {
@@ -1645,17 +1663,32 @@
if (<%= If(UsuarioActual.Empresa.CveEmpresa = 189, 1, 0)%> == 1) {
sobFaltantePermitido = 10;
}
if (ToDouble($get("TxtCambio").value) > sobFaltantePermitido) {
alert("El sobrante/faltante no debe ser mayor a " + sobFaltantePermitido)
$get("ChkSobFaltante").checked = false;
} else {
if ($get("TxtCambio").value == 'NaN') {
$get("TxtFaltante").value = "0.00";
} else {
$get("TxtFaltante").value = $get("TxtCambio").value;
}
let totalEfectivo = $get("TxtImporteEfectivo") ? ToDouble($get("TxtImporteEfectivo").value) : 0;
if (totalEfectivo > 0) {
sobFaltantePermitido = 0;
}
if (sobFaltantePermitido > 0) {
if (ToDouble($get("TxtCambio").value) > sobFaltantePermitido) {
alert("El sobrante/faltante no debe ser mayor a " + sobFaltantePermitido)
$get("ChkSobFaltante").checked = false;
} else {
if ($get("TxtCambio").value == 'NaN') {
$get("TxtFaltante").value = "0.00";
} else {
$get("TxtFaltante").value = $get("TxtCambio").value;
}
}
} else {
alert("El sobrante/faltante no esta permitido");
$get("TxtFaltante").value = "";
$get("ChkSobFaltante").checked = false;
}
}
else {
$get("TxtFaltante").value = "";

View File

@@ -1704,12 +1704,9 @@ Partial Class Ventas_PVCobranza
If ChkSobFaltante.Checked AndAlso SobranteFaltante <> 0 Then
'SOBRANTE
If SobranteFaltante > 0 Then
'SI ES EL SOBRANTE EN EFECTIVO SUMAR EL SOBRANTE/FALTANTE
'EL SOBRANTE/FALTANTE NO PUEDE SER EN EFECTIVO
If Metodo = 13 Then
ImporteIE += SobranteFaltante
Pago.OtroGastoIngreso = SobranteFaltante.ToString().ToDecimal()
'LIMPIAR SOBRANTE/FALTANTE
SobranteFaltante = 0
Retorno = "Error en aplicación de sobrante/faltante"
Else
'AJUSTAR DONDE EL IMPORTE A BANCOS SEA MAYOR EN EL DE LA VENTA
If ImporteBancos.RoundSQL(2) >= ImporteAbonoVenta.RoundSQL(2) Then
@@ -1722,52 +1719,60 @@ Partial Class Ventas_PVCobranza
'FALTANTE
If SobranteFaltante < 0 Then
'METER LO QUE FALTA COMO GASTO
If (ImporteBancos.RoundSQL(2) + Math.Abs(SobranteFaltante)) = ImporteAbonoVenta.RoundSQL(2) Then
Pago.OtroGastoIngreso = SobranteFaltante.ToString().ToDecimal()
'EL SOBRANTE/FALTANTE NO PUEDE SER EN EFECTIVO
If Metodo = 13 Then
Retorno = "Error en aplicación de sobrante/faltante"
Else 'METER LO QUE FALTA COMO GASTO
If (ImporteBancos.RoundSQL(2) + Math.Abs(SobranteFaltante)) = ImporteAbonoVenta.RoundSQL(2) Then
Pago.OtroGastoIngreso = SobranteFaltante.ToString().ToDecimal()
'SUMAR AL PAGO
If ImporteBancos < ImporteAbonoVenta Then
ImporteBancos += Math.Abs(SobranteFaltante)
'SUMAR AL PAGO
If ImporteBancos < ImporteAbonoVenta Then
ImporteBancos += Math.Abs(SobranteFaltante)
End If
'LIMPIAR SOBRANTE/FALTANTE
SobranteFaltante = 0
End If
'LIMPIAR SOBRANTE/FALTANTE
SobranteFaltante = 0
End If
End If
End If
CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImporteIE, 1, 1, Obs, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveAutorizacion:=CveAutorizacion, CveSubProyecto:=CveSubProyecto)
If CveIEPago > 0 Then
Dim tImportePago As Decimal = If(ImporteBancos > ImporteAbonoVenta, ImporteAbonoVenta, ImporteBancos) 'toma el importe menor para la factura
If String.IsNullOrEmpty(Retorno) Then
CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImporteIE, 1, 1, Obs, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveAutorizacion:=CveAutorizacion, CveSubProyecto:=CveSubProyecto)
If CveIEPago > 0 Then
Dim tImportePago As Decimal = If(ImporteBancos > ImporteAbonoVenta, ImporteAbonoVenta, ImporteBancos) 'toma el importe menor para la factura
If ImporteIE > 0 Then
If ImporteIE > 0 Then
Pago.ImportePagoVenta = tImportePago
Pago.ImportePago = ImporteIE
Pago.CveIE = CveIEPago
Pago.CveMonedaPago = VentaActual.CveMoneda
Pago.Fecha = NowADS()
Pago.Referencia = VentaActual.SerieFolio
If Pago.CveMonedaPago > 1 Then Pago.TCPago = GlobalTipoCambio(Now).ToDecimal
Pago.ImportePagoVenta = tImportePago
Pago.ImportePago = ImporteIE
Pago.CveIE = CveIEPago
Pago.CveMonedaPago = VentaActual.CveMoneda
Pago.Fecha = NowADS()
Pago.Referencia = VentaActual.SerieFolio
If Pago.CveMonedaPago > 1 Then Pago.TCPago = GlobalTipoCambio(Now).ToDecimal
ErrorConta = AplicaPrePolizaPagoVenta(VentaActual, Pago, CvePrePoliza, ObjConta)
End If
ErrorConta = AplicaPrePolizaPagoVenta(VentaActual, Pago, CvePrePoliza, ObjConta)
End If
If ErrorConta Then
Retorno = "Error en aplicación de pago"
End If
Dim MetodoPago As Integer = If(Metodo = 13, 1, If(Metodo = 12, 4, If(Metodo = 11, 5, If(Metodo = 3, 2, 3))))
If Not ErrorConta AndAlso Not ObjVentas.AddVta_VentaPago(VentaActual.CveVenta, MetodoPago, ImporteBancos) Then
Retorno = "Error en aplicación de pago.."
If ErrorConta Then
Retorno = "Error en aplicación de pago"
End If
Dim MetodoPago As Integer = If(Metodo = 13, 1, If(Metodo = 12, 4, If(Metodo = 11, 5, If(Metodo = 3, 2, 3))))
If Not ErrorConta AndAlso Not ObjVentas.AddVta_VentaPago(VentaActual.CveVenta, MetodoPago, ImporteBancos) Then
Retorno = "Error en aplicación de pago.."
ErrorConta = True
End If
HdnCveIE.Value = CveIEPago.ToString
Else
Retorno = "Pago en Bancos no registrado"
ErrorConta = True
End If
HdnCveIE.Value = CveIEPago.ToString
Else
Retorno = "Pago en Bancos no registrado"
ErrorConta = True
End If
Else
Retorno = "No se ha especificado la cuenta"
End If