Hace algún tiempo atrás, hice una publicación sobre cómo realizar cálculos en una forma tabular con la ayuda de javascript.

Recientemente recibí una consulta en la que se me solicitaba ayuda para realizar con un procedimiento similar, la comparación de dos fechas en una forma tabular para verificar que la segunda fecha no sea menor que la primera de ellas, así que aquí les dejo el procedimiento para realizar esta verificación.

En el ejemplo que acá comparto, los valores de las fechas de la forma tabular corresponden a las columnas f05_ y f06_ de la misma, así que estos valores se deben cambiar a los correspondientes a sus columnas de fechas que se van a comparar. Las indicaciones están definidas para ejecutar con el Diseñador de Páginas de la versión 5 de APEX.

En primer lugar, lo que debemos hacer es incluir la función Javascript que hará la validación en la región de la forma tabular:

  1. Buscar en el Editor de Propiedades la la región de la forma tabular, la sección Cabecera y Pie de Página
  2. En el atributo Texto de Cabecera, se incluye el siguiente código:
<script type="text/javascript">
function fechaMenor(pThis)
{
var vRow = pThis.id.substr(pThis.id.indexOf('_')+1);
var f1 =  apex.item( 'f05_'+vRow ).getValue();
var vFecI = new Date(f1.substring(6), f1.substring(3,5), f1.substring(0,2));
var f2 = apex.item( 'f06_'+vRow ).getValue();
var vFecF = new Date(f2.substring(6), f2.substring(3,5), f2.substring(0,2));
if (vFecF < vFecI)
{ alert('La fecha final no puede ser menor a la fecha inicial.') }

}
</script>

El paso siguiente es implementar en la columna o columnas correspondientes el uso de la función de validación:

  1. En la región de la forma tabular, en Columnas, buscar la columna de la fecha donde se va a ejecutar la validación
  2. En el Editor de Propiedades, buscar la sección Avanzada
  3. En Atributos Personalizados, incluir la siguiente sentencia:
onChange="fechaMenor(this)";

Finalmente, lo único que queda es hacer clic en el botón Guardar

 

Share This