Snippets
Validar 2 Fechas
La función aFecha convierte un string del formato dd/mm/aaaa a fecha y permite compararlo con otro ejemplo:
<field id="vencimiento_movimiento"> <label modpos="nobr">Fecha Emisión</label> <tipo>date</tipo> <valor>today</valor> <jseval actxml="false">aFecha(\'vencimiento_movimiento\') >= aFecha(\'fecha_ultima\')</jseval> </field> <field id="fecha_ultima" local="true" deshabilitado="true" sincelda="true"> <label modpos="nobr">Ultima</label> <parametro id="numerador_fecha.xml" retorna="fecha_ultima"/> </field>Validar campo de e-mail
<field id="email_cuenta"> <label colspan="5">Correo electrónico</label> <size>40</size> <jsfunction event="onblur"> <![CDATA[ var RE=/^[^\s@]+@[^\s@]+\.[^\s@]+$/; if(this.value != '' && !RE.test(this.value)) { alert('E-mail No Válido'); email_cuenta.focus(); } ]]> </jsfunction> </field>Validar Límite de crédito
<field id="limite_credito"> <label modpos="nobr">Límite de crédito</label> <tipo>numeric</tipo> <size>15</size> <jsfunction event="onchange"> <![CDATA[ var $limite_credito = limite_credito.value; if(isNaN(parseFloat($limite_credito)) || ($limite_credito < 0) ) { alert('El campo "Límite de crédito" sólo acepta valores numéricos positivos.'); limite_credito.value = null; limite_credito.focus(); } ]]> </jsfunction> </field>Validar baja de cuenta
<field id="baja_cuenta"> <label modpos="nobr">Fecha de baja</label> <tipo>date</tipo> <help> dd/mm/yyyy</help> <jsfunction event="onchange"> <![CDATA[ var $alta_cuenta = alta_cuenta.value; var $baja_cuenta = baja_cuenta.value; if(aFecha($baja_cuenta) < aFecha($alta_cuenta)) { alert('La fecha de baja no puede ser menor que la fecha de alta.'); baja_cuenta.value = null; baja_cuenta.focus(); } ]]> </jsfunction> </field>Validar fecha de nacimiento
<field id="fecha_nacimiento"> <label modpos="nobr">Fecha de nacimiento</label> <tipo>date</tipo> <help> dd/mm/yyyy</help> <jsfunction event="onchange"> <![CDATA[ var $fecha_actual = new Date(); $dia_actual = $fecha_actual.getDate(); $mes_actual = $fecha_actual.getMonth() + 1; $mes_actual = $mes_actual < 10 ? '0' + $mes_actual : $mes_actual; $anio_actual = $fecha_actual.getFullYear(); var $fecha_actual = $dia_actual + '/' + $mes_actual + '/' + $anio_actual; var $fecha_nacimiento = fecha_nacimiento.value; if(aFecha($fecha_nacimiento) >= aFecha($fecha_actual)) { alert('Ha ingresado una fecha de nacimiento no válida.'); fecha_nacimiento.value = null; fecha_nacimiento.focus(); } ]]> </jsfunction> </field>Validar CUIT
<field id="cuit_cuenta"> <label modpos="nobr">Nro. de CUIT</label> <help>XX-XXXXXXXX-X</help> <jsfunction event="onchange"> <![CDATA[ var RE=/^(20|23|27|30|33)-[0-9]{8}-[0-9]$/; if(this.value != '' && !RE.test(this.value)) { alert('Ha ingresado un número de CUIT no válido. Formato XX-XXXXXXXX-X'); cuit_cuenta.value = null; cuit_cuenta.focus(); } ]]> </jsfunction> <size>15</size> </field>Ejemplo para forzar el numerador al imprimir
histrix/database/insumas/xml/contabilidad/qry/libro_diario_new_qry.xml:
<?xml version="1.0" encoding="UTF-8"?> <histrix tipo="consulta" _PDFlineColor="255,255,255" PDFfontSize="9" PDForientation="L" sinFecha="true" pageNumber="numerator"> <title>Movimientos</title>
Campo con el valor de inicio del numerador <field id="numerator"> </field>Ejemplo para captar el valor del usuario en un xml
Ejemplo:
<?xml version="1.0" encoding="UTF-8"?> <histrix tipo="consulta" _PDFlineColor="255,255,255" PDFfontSize="9" PDForientation="L" sinFecha="true" pageNumber="numerator"> <form> <table> <field id="user_id"> <expression>[__user__]</expression> </field> <field id="user"> <valor eval="true">$_SESSION['idUser']</valor> </field> <!--Etcétera-->