Saltearse al contenido

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\') &gt;= 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 != '' &amp;&amp; !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 &quot;Límite de crédito&quot; 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) &gt;= 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-->