Alerta de órdenes de envío retrasadas - Controlador de eventos del flujo de trabajo

Cuando una orden se envía tarde y un usuario móvil se ha suscrito a las alertas de órdenes de envío retrasadas de un cliente concreto, este controlador de eventos envía una notificación acerca de este envío al usuario.

Cuando el controlador de eventos esté activado, se creará un nuevo activador de eventos para la alerta con el objetivo de controlar la planificación de las notificaciones de correo electrónico para esta alerta. De forma predeterminada, las notificaciones sobre el envío de órdenes se envían cuando el controlador se activa y en las 24 horas siguientes. (Puede cambiar los valores predeterminados asociados con la programación del evento en el formulario Activadores de eventos restableciendo la condición, el intervalo de condición y activando los valores de restablecimiento de intervalo en el formulario.

Una vez que el controlador de eventos se ha activado y se ha creado el activador de eventos OrderShippingAlert, el sistema utiliza una tabla TrackRows para guardar una lista de los envíos que necesitan que se envíe una notificación (en función de si existen suscriptores a la alerta de envío de órdenes retrasadas) y actualiza la lista cada vez que se envía una orden retrasada.

El activador de eventos ejecuta el método LateOrderShippingAlertsSp a la hora especificada cada día. Realiza las siguientes tareas:

  • Comprueba los suscriptores de publicación de la alerta de envío de órdenes retrasadas, en función del número de cliente. Encontrará a los suscriptores de publicación en el formulario Suscriptores Publicación, usando Nombre de publicación = 'OrderShippingAlert' y la tecla Valor = número de cliente.
  • Si existen suscriptores de la publicación, el método obtiene las direcciones de correo electrónico de los suscriptores, utilizando la dirección definida en el formulario Usuarios.
  • Para cada suscriptor de la publicación, el método busca cualquier registro de envíos de órdenes atrasados para ese cliente que se haya creado desde la última vez que se ejecutó el método IDO. Introduce aquellos en una variable que se convertirá en el cuerpo del mensaje de un correo electrónico.
  • El método da salida a estos valores:
    • Una lista de suscriptores almacenados en una variable.
    • Un cuerpo de mensaje para el correo electrónico de la alerta de envío de órdenes retrasadas.

    Un cuerpo de mensaje de correo electrónico debe contener solo una orden y sus líneas/artículos por correo electrónico. La capacidad del cuerpo del mensaje es de unos 4.000 caracteres (40 líneas aproximadamente). Si el cuerpo del mensaje creado tiene más de 4.000 caracteres se creará otro correo electrónico con el resto de líneas/artículos que no entraron en el correo electrónico anterior.

El método DeleteCoShipTrackRowsSp borra la tabla TrackRows después de que la notificación por correo electrónico del envío de la orden se haya enviado correctamente.

Evento y métodos asociados

El evento LateOrderShippingAlert tiene tres acciones:

  • Llama a LateOrderShippingAlertsSp y devuelve dos variables: una para la lista de suscriptores y otra para el cuerpo del mensaje.
  • Crea un correo electrónico y lo envía a la lista de suscriptores utilizando las variables transmitidas desde LateOrderShippingAlertsSp.
  • Llamadas DeleteCoShipTrackRowsSp. Se le llama únicamente si el correo electrónico generado en la acción anterior se ha enviado correctamente.

Activador de eventos

  • Condición: TRUE
  • Intervalo de restablecimiento de la condición: 86400
  • Intervalo de restablecimiento del activador: 86400
  • Programa: Se inicia cuando se activa el controlador. 24 horas después se inicia el activador.