DEV AUXILIARES/POST CONDICION
Descripción
Los auxiliares de tipo POST_CONDICION permiten crear sentencias SQL que validan todas las condiciones necesarias antes de:
- Editar un registro.
- Eliminar un registro.
- Grabar un registro.
- Insertar un registro.
- Reabrir un comprobante.
Si estas condiciones retornan VERDADERO (el valor 1) entonces la operación pretendida se realizará, de lo contrario no se realizará y el auxiliar retornará un mensaje (si es que se ha definido).
Modo de operación
El sistema automáticamente verifica que existan auxiliares definidos para la tabla y operación solicitadas.
No se requiere ninguna participación del usuario.
Etiquetas
Las etiquetas en uso son:
<COMANDO>
Permite definir el comando que selecciona los registros que necesitamos.
El comando puede ser cualquier SQL válido, sin limitaciones en su complejidad o tamaño.
Cierra con </COMANDO>.
<MENSAJE>
Permite ingresar un mensaje que se le presentará al usuario si el resultado no es VERDADERO.
Cierra con </MENSAJE>.
<TAG EDICION>
El auxiliar se ejecuta en la edición.
<TAG ELIMINADO>
El auxiliar se ejecuta al eliminar.
<TAG GRABADO>
El auxiliar se ejecuta en el grabado.
<TAG INSERCION>
El auxiliar se ejecuta en la inserción.
<TAG REAPERTURA>
El auxiliar se ejecuta al reabrir un comprobante.
Ejemplo
Este auxiliar corresponde a la cabecera de asientos ASCAB y valida que los débitos sean iguales a los créditos. Si lo son, el comprobante se puede grabar, de lo contrario el auxiliar retornará un mensaje de error y no permitirá que se grabe el comprobante hasta que se haya resuelto esa situación.
<TAG GRABADO> <COMANDO> SELECT CASE WHEN FBN(FDEBITOS) <> FBN(FCREDITOS) THEN CAST(0 AS BIT) ELSE CAST(1 AS BIT) END </COMANDO> <MENSAJE> Los débitos deben ser iguales a los créditos. </MENSAJE>
La etiqueta <TAG GRABADO>
Indica que el auxiliar se debe verificar antes de grabar.
La etiqueta <COMANDO>
Define el comando SQL de verificación. En este caso accede a campos internos de la clase usando el comando FBN pero podría ser cualquier sentencia SQL válida.
La etiqueta <MENSAJE>
Define el mensaje de advertencia que se le dará al usuario cada vez que la condición no resulte verdadera.