Buenos dias! Amigos tengo diaaas tratando de depurar un Sistema que e hecho, les explico hice un especie de "relacion de caja" que me permite ver las ventas por rubro (efectivo credito debito, etc) de una tienda, esos valores los comparo con las ventas totales arrojados por la Maquina fiscal y el Sistema de venta (Valery), ahora nose si he hecho mal un paso o de verdad el sistema no funciona, porque casi siempre me arroja un NEGATIVO en las adiciones, y cuando yo lo hago manualmente me cuadra, entonces debo de suponer que el que llena el formulario se esta saltando unos campos y cuando el jquery lee el input recoge NaN y la formula de resta no funciona o queda negativa.
Les muestro el codigo:
Código HTML:
Ver original <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="http://indicadores.kepen.com.ve/Estilos/estilos.css" /> <link rel="stylesheet" type="text/css" href="http://indicadores.kepen.com.ve/Estilos/dynDateTime/calendar-blue2.css" /> <script src="http://indicadores.kepen.com.ve/Scripts/jquery171.js" type="text/javascript"></script> <script src="http://indicadores.kepen.com.ve/Scripts/dynDateTime/jquery.dynDateTime.js" type="text/javascript"></script> <script src="http://indicadores.kepen.com.ve/Scripts/dynDateTime/calendar-es.js" type="text/javascript"></script> <script type="text/javascript" src="http://indicadores.kepen.com.ve/Scripts/validCampoFranz.js"></script> <script type="text/javascript"> $.fn.sumVal = function() {
var sum = 0;
this.each(function() {
if ( $(this).is(':input') ) {
var val = $(this).val();
} else {
var val = $(this).text();
}
if($.isNumeric(val)){
val=val;
}else{
val=0;
}
sum += parseFloat( ('0' + val).replace(/[^0-9-\.]/g, ''), 10 );
});
return sum;
};
$(document).ready(function() {
jQuery("#fecha1").dynDateTime();
//Detalles X
$('#mefectx').validCampoFranz('.0123456789');
$('#mtdcx').validCampoFranz('.0123456789');
$('#mtpx').validCampoFranz('.0123456789');
$('#mtdbx').validCampoFranz('.0123456789');
$('#mtex').validCampoFranz('.0123456789');
$('#tcajax').validCampoFranz('.0123456789');
//Detalles Z
$('#reporz').validCampoFranz('0123456789');
$('#montorvz').validCampoFranz('.0123456789');
$('#montoriz').validCampoFranz('.0123456789');
$('#mefectz').validCampoFranz('.0123456789');
$('#mtdcz').validCampoFranz('.0123456789');
$('#mtpz').validCampoFranz('.0123456789');
$('#mtdbz').validCampoFranz('.0123456789');
$('#mtez').validCampoFranz('.0123456789');
$('#tcajaz').validCampoFranz('.0123456789');
//Devoluciones
$('#mdevz').validCampoFranz('.0123456789');
$('#mdeviz').validCampoFranz('.0123456789');
//totales
$('#tcaja').validCampoFranz('.0123456789');
$('#tvale').validCampoFranz('.0123456789');
$( "#fecha1" ).bind( "blur", function() {
if ($(this).val()!=null){
var fecha = $('#fecha1').val().split("/");
$.ajax({
url: 'ventas.php',
data: "dia="+fecha[0]+"&mes="+fecha[1]+"&ano="+fecha[2],
dataType: 'json',
success: function(data)
{
var Facturas = data[0];
var Devoluciones = data[1];
var Facturado = data[2];
$('#tvale').val(Facturado);
}
});
}
else{
alert('El campo Fecha debe tener una Fecha Válida');
}
});
$('#corte_caja').delegate('input[type=text]', 'blur', function () {
var montosx = $('.sumar_montox').sumVal();
$('#tcajax').val(montosx);
var montosz = $('.sumar_montoz').sumVal();
$('#tcajaz').val(montosz);
$('#tcaja').val(parseFloat(montosz)+parseFloat(montosx));
$('#montoZ').val(parseFloat($('#montorvz').val())+parseFloat($('#montoriz').val()));
var dmf = 0, dc = 0;
dmf = ((parseFloat($('#montorvz').val() || 0)+parseFloat($('#montoriz').val() || 0)) - (parseFloat($('#mdevz').val() || 0)+parseFloat($('#mdeviz').val() || 0)) - parseFloat($('#tvale').val() || 0));
dc = (parseFloat($('#tcaja').val()) - parseFloat($('#tvale').val()));
$('#dmq').val(dmf.toFixed(2));
$('#dc').val(dc.toFixed(2));
if (Math.abs(dmf)>5){
$('#alertdmq').val('1');}
else{
$('#alertdmq').val('0');
}
if (Math.abs(dc)>5){
$('#alertdc').val('1');}
else{
$('#alertdc').val('0');
}
});
});
<h1>Cierre de Caja Diario.
</h1> <li>En los montos debe utilizar solo 2 d
écimales y separarlos con el punto "."
</li> <li>En el Monto del Reporte Z (VENTA) colocar el Monto sin IVA del Reporte Z
</li> <li>En el Monto del Reporte Z (IVA) colocar el IVA del Reporte Z
</li> <form id="corte_caja" name="corte_caja" method="post" action="http://indicadores.kepen.com.ve/proc.php"> <div class="form_settings"> <p><span>Fecha:
</span><input type="text" name="fecha1" id="fecha1" readonly /></p>
<h2>Detalles Corte (X):
</h2> <p><span>Efectivo X:
</span><input type="text" class="sumar_montox" name="mefectx" id="mefectx" maxlength="10" placeholder="0"/></p> <p><span>Tarjeta de Cr
édito X:
</span><input type="text" class="sumar_montox" name="mtdcx" id="mtdcx" maxlength="10" placeholder="0"/></p> <p><span>Tarjeta Privada X:
</span><input type="text" class="sumar_montox" name="mtpx" id="mtpx" maxlength="10" placeholder="0"/></p> <p><span>Tarjeta de D
édito X:
</span><input type="text" class="sumar_montox" name="mtdbx" id="mtdbx" maxlength="10" placeholder="0"/></p> <p><span>Tarjeta Electron X:
</span><input type="text" class="sumar_montox" name="mtex" id="mtex" maxlength="10" placeholder="0"/></p> <!--<p><span>Total Devoluciones X (NETO): </span><input type="text" name="mdevx" id="mdevx" maxlength="10" placeholder="0"/></p>
<p><span>Total Devoluciones X (IVA): </span><input type="text" name="mdevix" id="mdevix" maxlength="10" placeholder="0"/></p>-->
<p><span>Total Venta X:
</span><input type="text" name="tcajax" id="tcajax" maxlength="10" readonly placeholder="0"/></p>
<h2>Detalles Cierre (Z):
</h2> <p><span>N
úmero de Reporte Z:
</span><input type="text" name="reporz" id="reporz" maxlength="10"/></p> <p><span>Monto del Reporte Z (VENTA):
</span><input placeholder="0" type="text" name="montorvz" id="montorvz" maxlength="10"/></p> <p><span>Monto del Reporte Z (IVA):
</span><input placeholder="0" type="text" name="montoriz" id="montoriz" maxlength="10"/></p> <p><span>Efectivo Z:
</span><input type="text" class="sumar_montoz" name="mefectz" id="mefectz" maxlength="10" placeholder="0"/></p> <p><span>Tarjeta de Cr
édito Z:
</span><input type="text" class="sumar_montoz" name="mtdcz" id="mtdcz" maxlength="10" placeholder="0"/></p> <p><span>Tarjeta Privada Z:
</span><input type="text" class="sumar_montoz" name="mtpz" id="mtpz" maxlength="10" placeholder="0"/></p> <p><span>Tarjeta de D
édito Z:
</span><input type="text" class="sumar_montoz" name="mtdbz" id="mtdbz" maxlength="10" placeholder="0"/></p> <p><span>Tarjeta Electron Z:
</span><input type="text" class="sumar_montoz" name="mtez" id="mtez" maxlength="10" placeholder="0"/></p> <p><span>Total Devoluciones Z (NETO):
</span><input type="text" name="mdevz" id="mdevz" maxlength="10" placeholder="0"/></p> <p><span>Total Devoluciones Z (IVA):
</span><input type="text" name="mdeviz" id="mdeviz" maxlength="10" placeholder="0"/></p> <p><span>Total Venta Z:
</span><input type="text" name="tcajaz" id="tcajaz" maxlength="10" readonly placeholder="0"/></p>
<p><span>Total Venta dia:
</span><input type="text" name="tcaja" id="tcaja" maxlength="10" readonly placeholder="0"/></p> <p><span>Total de Ventas (Valery):
</span><input type="text" name="tvale" id="tvale" omaxlength="10" value="7839.99" readonly placeholder="0"/></p> <table class="tablas" border="1" cellpadding="0" cellspacing="0" align="center"> <td colspan="2"><p align="center" class="tabtitulo">Diferencias
</p></td> <td><p align="center" class="tabcamp">Maquina Fiscal
</p></td> <td><p align="center" class="tabcamp">Caja
</p></td> <td><input type="text" name="dmq" id="dmq" maxlength="10" readonly/></td> <td><input type="text" name="dc" id="dc" maxlength="10" readonly/></td> <input type="hidden" name="franq" id="franq" value="<?php echo $tienda; ?>"/>
<input type="hidden" name="montoZ" id="montoZ" value="0"/> <input type="hidden" name="alertdmq" id="alertdmq" value="0"/> <input type="hidden" name="alertdc" id="alertdc" value="0"/> <input class="submit" type="submit" name="Corte_Caja" value="Registrar"/> <input class="submit" name="borrar" type="reset" value="Limpiar Datos"/> <p>Copyright
© Kepen
</p>