Diferencia entre revisiones de «Alarmas y procesos»

De WikiDgp21
Saltar a: navegación, buscar
(Crear una nueva alarma)
(Crear una nueva alarma)
Línea 27: Línea 27:
  
 
== Crear una nueva alarma ==
 
== Crear una nueva alarma ==
Como en toda la aplicación, el primer paso para crear una alarma nueva será pulsar el botón [[Imagen:boto_006.png|21px]]''nuevo'' y a continuación rellenamos los campos. Dejaremos la sentencia SQL para el final, dado que es el mas complicado y extenso.  
+
Como en toda la aplicación, el primer paso para crear una alarma nueva será pulsar el botón [[Imagen:boto_006.png|21px]] ''nuevo'' y a continuación rellenamos los campos. Una vez hayamos acabado la creación, añadiremos los destinatarios con el botón ''Destinatarios''.
  
   select E'Este pedido ya deberia haber sido servido.  
+
Por ejemplo, queremos crear una alarma que compruebe los pedidos no servidos cuya fecha de entrega pasó hace un día o mas. La sentencia SQL que deberíamos introducir sería parecida a ésta.
  Ejercicio: '||ejer|| '  Número de pedido: '||num|| E'
+
 
  Cliente: ' || cliente || ' - ' ||nombre|| E'
+
   select E'Este pedido ya debería haber sido servido. \r\n 
  Producto: '||cod_art||' - '||desc1|| E'
+
    Ejercicio: '||ejer|| '  Número de pedido: '||num|| E'\r\n 
  Fecha de envio: '||fechaent from vistped where (fechaent < now()- ('1 day'::interval)) and servido
+
    Cliente: ' || cliente || ' - ' ||nombre|| E'\r\n 
  != 'S' and tipped = 'C' order by cliente
+
    Producto: '||cod_art||' - '||desc1|| E'\r\n 
 +
    Fecha de envio: '||fechaent from vistped where (fechaent < now()- ('1 day'::interval))
 +
    and servido != 'S' and tipped = 'C' order by cliente
 +
 
 +
Esta sentencia creará un mensaje con el texto ''<nowiki>Este pedido ya debería haber sido servido. \r\n 
 +
  Ejercicio: '||ejer|| '  Número de pedido: '||num|| E'\r\n 
 +
  Cliente: ' || cliente || ' - ' ||nombre|| E'\r\n 
 +
  Producto: '||cod_art||' - '||desc1|| E'\r\n 
 +
  Fecha de envio: '||fechaent</nowiki>

Revisión del 11:19 7 jul 2009

Alarmas y procesos - dgen050

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 Boto 006.png nuevo y a continuación rellenamos los campos. Una vez hayamos acabado la creación, añadiremos los destinatarios con el botón Destinatarios.

Por ejemplo, queremos crear una alarma que compruebe los pedidos no servidos cuya fecha de entrega pasó hace un día o mas. La sentencia SQL que deberíamos introducir sería parecida a ésta.

 select E'Este pedido ya debería haber sido servido. \r\n  
    Ejercicio: '||ejer|| '  Número de pedido: '||num|| E'\r\n  
    Cliente: ' || cliente || ' - ' ||nombre|| E'\r\n  
    Producto: '||cod_art||' - '||desc1|| E'\r\n  
    Fecha de envio: '||fechaent from vistped where (fechaent < now()- ('1 day'::interval))
    and servido != 'S' and tipped = 'C' order by cliente

Esta sentencia creará un mensaje con el texto Este pedido ya debería haber sido servido. \r\n Ejercicio: '||ejer|| ' Número de pedido: '||num|| E'\r\n Cliente: ' || cliente || ' - ' ||nombre|| E'\r\n Producto: '||cod_art||' - '||desc1|| E'\r\n Fecha de envio: '||fechaent