Alarmas y procesos
Una alarma es un proceso que se activa periódicamente para realizar algunas comprobaciones y avisar a quienes convenga.
Campos
Doid
Código identificador de la alarma.
Descripción
Nombre o pequeña descripción de la alarma.
Descripción ampliada
Descripción ampliada para indicar con mayor precisión que comprobará la alarma.
Última ejecución
Fecha y hora en la que se ha realizado la ultima ejecución de la alarma.
Hora de ejecución
Hora en la que se deberá ejecutar la alarma por primera vez.
Periodicidad
Frecuencia en la que se repetirá la alarma expresada en horas.
Tipo de alarma
Indica el tipo de la alarma a ejecutar con un carácter.
Destinatarios
Este botón abre una nueva ventana en la que se pueden añadir nuevos o borrar antiguos destinatarios, de entre todos los usuarios de la aplicación, a la alarma seleccionada.
Sentencia SQL
En este campo va la sentencia SQL que hará las comprobaciones para saber si tiene que enviar mensajes y su contenido. Para saber mas sobre como escribir este campo consultar la sección Crear una nueva alarma.
Tipos de alarma
- Alarma (A): Este tipo de alarmas avisan a los destinatarios cuando encuentran algún resultado y envían un mensaje a cada uno de ellos por cada anomalía encontrada. Por ejemplo, si una alarma busca los pedidos pendientes de servir, en las notificaciones tendrán la información de cada pedido que cumpla las condiciones.
- Proceso(P): Este tipo de alarmas solo avisan en caso de que haya habido algún fallo en la sentencia a comprobar. Es decir, si simplemente hiciera unas comprobaciones rutinarias de la base de datos, en caso de no poder ejecutarse correctamente se enviaría un mensaje a los destinatarios informándoles.
Crear una nueva alarma
Como en toda la aplicación, el primer paso para crear una alarma nueva será pulsar el botón nuevo y a continuación rellenamos los campos. Dejaremos la sentencia SQL para el final, dado que es el mas complicado y extenso.
select E'Este pedido ya deberia haber sido servido. Ejercicio: '||ejer|| ' Número de pedido: '||num|| E' Cliente: ' || cliente || ' - ' ||nombre|| E' Producto: '||cod_art||' - '||desc1|| E' Fecha de envio: '||fechaent from vistped where (fechaent < now()- ('1 day'::interval)) and servido != 'S' and tipped = 'C' order by cliente