Alertas
Visión general
Las alertas son la forma en que Etendo Classic puede informar a los usuarios sobre prácticamente cualquier evento que ocurra en el sistema (si se crea una regla de alerta adecuada). Puede ser definida por el Administrador del sistema (y exportada a un módulo) o por un Administrador de Cliente/Organización.
Estas notificaciones se muestran en la barra superior, justo al lado del menú de Aplicación.
Regla de alerta
La definición de la Regla de alerta se realiza en la ventana Alertas (General Setup > Application >Alert).
Basadas en datos
El Administrador puede definir una consulta para comprobar un escenario concreto, por ejemplo: productos sin precio definido, productos por debajo del stock, clientes con el crédito excedido, etc.
El flujo de las alertas basadas en datos es el siguiente:
- El Administrador crea reglas de alerta, que incluyen una cláusula SQL que define el evento que se va a monitorizar, y los receptores de las alertas.
- Un proceso en segundo plano comprueba permanentemente si la condición definida en cada una de las reglas de alerta activas devuelve algún registro; en ese caso, se creará una nueva instancia de alerta para cada uno de los registros devueltos.
- Cuando un usuario inicia sesión en la aplicación, existe otro proceso que comprueba constantemente si hay instancias de alerta para este usuario y las muestra.
Info
Para más información, consulte cómo crear una alerta.
Definición
- SQL: Ejemplo de la regla "Productos sin precio definido"
SELECT m_product_id AS referencekey_id,
p.name AS record_id,
'0' AS ad_role_id,
NULL AS ad_user_id,
p.name ||' is not in any Purchase price list' AS description,
'Y' AS isActive,
ad_org_id,
ad_client_id,
now() AS created,
'0' AS createdBy,
now() AS updated,
'0' AS updatedBy
FROM m_product p
WHERE p.ispurchased='Y'
AND NOT EXISTS (SELECT 1
FROM m_productprice pp,
m_pricelist_version pv,
m_pricelist pl
WHERE p.m_product_id = pp.m_product_id
AND pv.m_pricelist_version_id = pv.m_pricelist_version_id
AND pv.m_pricelist_id = pl.m_pricelist_id
AND issopricelist='N')
UNION
SELECT m_product_id AS referencekey_id,
p.name AS record_id,
'0' AS ad_role_id,
NULL AS ad_user_id,
p.name ||' is not in any Sales price list' AS description,
'Y' AS isActive,
ad_org_id,
ad_client_id,
now() AS created,
'0' AS createdBy,
now() AS updated,
'0' AS updatedBy
FROM m_product p
WHERE p.ispurchased='N'
AND NOT EXISTS (SELECT 1
FROM m_productprice pp,
m_pricelist_version pv,
m_pricelist pl
WHERE p.m_product_id = pp.m_product_id
AND pv.m_pricelist_version_id = pv.m_pricelist_version_id
AND pv.m_pricelist_id = pl.m_pricelist_id
AND issopricelist='Y')
-
La consulta SQL debe tener las siguientes columnas:
- referencekey_id
- record_id
- ad_role_id
- ad_user_id
- description
- isactive
- ad_org_id
- ad_client_id
- created
- createdby
- updated
- updatedby
-
Solapa: desde la ventana de gestión de alertas puede navegar directamente a un registro. Desde la solapa se puede definir a qué solapa se navegará.
-
Cláusula de filtro: esta es una cláusula SQL WHERE no obligatoria que se utilizará para filtrar las alertas que se mostrarán al usuario.
Rendimiento
Los comandos SQL definidos en las reglas de alerta se ejecutarán periódicamente en su sistema. Por lo tanto, es muy importante definirlos de forma eficiente en términos de rendimiento.
Si no lo son, ralentizarán su sistema de forma notable.
Receptor de Alerta
La solapa Receptor de Alerta gestiona la administración de los receptores de alertas. Puede definir el Rol que será notificado, o un usuario específico. También puede definir si el/los usuario(s) deben ser notificados por correo electrónico.
Este trabajo es una obra derivada de Alertas de Wiki de Openbravo, utilizada bajo CC BY-SA 2.5 ES. Esta obra está licenciada bajo CC BY-SA 2.5 por Etendo.
