Eventos de personalización RECADV
El mensaje RECADV (confirmación de recepción de mercancía) notifica si lo recibido se corresponde con lo inicialmente pedido, de tal manera que facilita, en caso de discrepancias corregirlas antes de emitir la factura.
A continuación se detallan los principales eventos disponibles para poder alterar o complementar el comportamiento estándar de iDynamics EDI.
Todos los eventos detallados a continuación están emitidos por la codeunit "IDPEDI RECADV Management"
Para llevar a cabo algunas personalizaciones necesitará conocer la estructura de los mensajes EDI que genera e interpreta iDynamics EDI. En el siguiente enlace encontrará el documento de definición de la estructura del mensaje:
Descargar RECADV desde plataforma EDI
El proceso se inicia descargando y creando en la cola de comunicaciones EDI los mensajes RECADV disponibles en la plataforma EDI.
OnBeforeDownloadAll
Este evento se ejecuta antes de conectarse a la plataforma EDI para descargar los mensajes RECADV disponibles. iDynamics EDI, se comunica con la plataforma EDI mediante Servicios Web. Este evento permite alterar la manera en la que se obtienen los mensajes RECADV, o lanzar algún proceso antes de descargarlos.
Se desencadena desde las siguientes acciones y se ejecuta una sola vez independientemente de la cantidad de mensajes RECADV que se descarguen:
- Página Comunicaciones EDI: Acciones "Descargar RECADV", "Sincronizar todo" y "Cargar mensajes".
- Página Comunicaciones EDI detalladas: Acción "Sincronizar todo"
- Cola de proyectos: Automáticamente en función de la programación.
OnBeforeDownloadAll(var Handled: Boolean)
La variable Handled permite determinar si se quiere complementar o sustituir el proceso. Si se asigna a VERDADERO, se considera que la personalización ha sustituido el proceso estándar y lo omite.
OnBeforeDownload
Se ejecuta antes de descargar y crear en la cola de comunicaciones EDI cada uno de los mensajes RECADV disponibles en la plataforma EDI. Este evento permite alterar la manera en la que se obtienen los mensajes RECADV, o lanzar algún proceso antes de desacargar cada uno de los mensajes RECADV desde la plataforma EDI.
OnBeforeDownload(var ParCommunication: Record "IDPEDI Communication"; var Handled: Boolean)
La variable Handled permite determinar si se quiere complementar o sustituir el proceso. Si se asigna a VERDADERO, se considera que la personalización ha sustituido el proceso estándar y lo omite. En el caso de que se sustituya el proceso, la variable ParCommunication, permite devolver el registro de la cola de comunicaciones EDI creado por la personalización.
OnAfterDownload
Este evento se ejecuta después de descargar y crear en la cola de comunicaciones EDI cada uno de los mensajes RECADV disponibles en la plataforma EDI. Permite llevar a cabo modificaciones o comprobaciones antes de que el mensaje RECADV recibido sea procesado.
OnAfterDownload(var ParCommunication: Record "IDPEDI Communication")
Recibe como parámetro el registro de la cola de comunicaciones que contiene el mensaje RECADV.
OnAfterDownloadAll
Se ejecuta después de descargar todos los mensajes RECADV disponibles en la plataforma EDI. Se desencadena desde las siguientes acciones y se ejecuta una sola vez independientemente de la cantidad de mensajes RECADV descargados:
- Página Comunicaciones EDI: Acciones "Descargar RECADV", "Sincronizar todo" y "Cargar mensajes".
- Página Comunicaciones EDI detalladas: Acción "Sincronizar todo"
- Cola de proyectos: Automáticamente en función de la programación.
OnAfterDownloadAll()
Confirmar recepción RECADV
Cada vez que se descarga un mensaje desde la plataforma EDI y se crea el registro en la cola de comunicaciones EDI, se confirma a la plataforma EDI que se ha recibido correctamente dicho mensaje para que deje de estar disponible en futuras descargas.
OnBeforeConfirmAll
Este evento se ejecuta antes de conectarse a la plataforma EDI para confirmar los mensajes RECADV descargados. iDynamics EDI, se comunica con la plataforma EDI mediante Servicios Web. Este evento permite alterar la manera en la que se confirman los mensajes RECADV, o lanzar algún proceso antes de confirmarlos.
Se desencadena desde las siguientes acciones y se ejecuta una sola vez independientemente de la cantidad de mensajes RECADV que se confirmen:
- Página Comunicaciones EDI: Acciones "Sincronizar todo" y "Cargar mensajes".
- Página Comunicaciones EDI detalladas: Acción "Sincronizar todo"
- Cola de proyectos: Automáticamente en función de la programación.
OnBeforeConfirmAll(var Handled: Boolean)
La variable Handled permite determinar si se quiere complementar o sustituir el proceso. Si se asigna a VERDADERO, se considera que la personalización ha sustituido el proceso estándar y lo omite.
OnBeforeConfirm
Se ejecuta antes de confirmar cada uno de los mensajes RECADV existentes en la cola de comunicaciones EDI que no hayan sido confirmados previamente. Este evento permite alterar la manera en la que se confirman los mensajes RECADV, o lanzar algún proceso antes de confirmar cada uno de ellos.
Se desencadena desde las mismas acciones que el evento OnBeforeConfirmAll y desde la siguiente acción:
- Página Comunicaciones EDI: Acción "Confirmar recepción RECADV".
OnBeforeConfirm(var EntryNum: Integer; var IdRespuesta: Text; var Handled: Boolean)
Recibe como parámetro el número de registro de la cola de comunicaciones que va a ser confirmado. La variable IdRespuesta permite devolver información sobre el resultado del proceso de confirmación. Posibles valores:
- "1": Respuesta satisfactoria
- "-1": Error general durante la confirmación
- "-3": Estado del documento, no valido para la confirmación. Los documentos, solo pueden ser confirmados, cuando se encuentran en estado suscrito, pendiente de confirmación o bloqueado
- "-4": Documento ya en estado confirmado
- "-x": Cualquier otro valor precedido de "-": "Error indeterminado".
La variable Handled permite determinar si se quiere complementar o sustituir el proceso. Si se asigna a VERDADERO, se considera que la personalización ha sustituido el proceso estándar y lo omite.
OnAfterConfirm
Este evento se ejecuta después de confirmar cada uno de los mensajes RECADV pendientes de la cola de comunicaciones EDI.
OnAfterConfirm(var EntryNum: Integer; var IdRespuesta: Text)
Recibe como parámetro el número de registro de la cola de comunicaciones que ha sido confirmado y el código de respuesta recibido al confirmarlo.
OnAfterConfirmAll
Se ejecuta después de confirmar todos los mensajes RECADV pendientes en la cola de comunicaciones EDI. Se desencadena desde las siguientes acciones y se ejecuta una sola vez independientemente de la cantidad de mensajes RECADV confirmados:
- Página Comunicaciones EDI: Acciones "Sincronizar todo" y "Cargar mensajes".
- Página Comunicaciones EDI detalladas: Acción "Sincronizar todo"
- Cola de proyectos: Automáticamente en función de la programación.
OnAfterConfirmAll()
Procesar RECADV
Al procesar los mensajes RECADV cargados en la cola de comunicaciones EDI, se validan los datos recibidos y se almacenan en Business Central (registros de movimiento RECADV). Esta información se utiliza para verificar que antes de facturar se haya confirmado la recepción de la mercancía. Este proceso tiene disponibles los siguientes eventos.
OnBeforeDoModifySalesShipHeader
Este evento se ejecuta antes de procesar cada registro RECADV de la cola de comunicaciones EDI. Se desencadena desde las siguientes acciones y se ejecuta una vez por cada pedido de venta que se vaya a crear:
- Página Comunicaciones EDI: Acciones "Sincronizar todo", "Procesar RECADV" y "Procesar mensajes".
- Página Comunicaciones EDI detalladas: Acción "Sincronizar todo"
- Cola de proyectos: Automáticamente en función de la programación.
OnBeforeDoModifySalesShipHeader(var ParCommunication: Record "IDPEDI Communication"; var SalesShipmentHeader: record "Sales Shipment Header"; var Handled: Boolean)
Recibe como parámetros el registro RECADV de la cola de comunicaciones EDI que se va a procesar.
La variable Handled permite determinar si se quiere complementar o sustituir el proceso. Si se asigna a VERDADERO, se considera que la personalización ha sustituido el proceso estándar y lo omite.
En el caso de que se sustituya el proceso estándar, la variable SalesShipmentHeader, permite devolver el albarán relacionado con el mensaje RECADV.
OnAfterDoModifySalesShipHeader
Este evento se ejecuta después de procesar cada registro RECADV de la cola de comunicaciones EDI.
OnAfterDoModifySalesShipHeader(var ParCommunication: Record "IDPEDI Communication"; var SalesShipmentHeader: record "Sales Shipment Header")
Recibe como parámetros el registro RECADV de la cola de comunicaciones EDI procesado y el albarán relacionado.
OnAfterControlRecord - Registro de control
Se ejecuta después de procesar cada registro de tipo "RECTL" (Registro de control) contenido en cada mensaje RECADV procesado.
OnAfterControlRecord(var ParCommunication: Record "IDPEDI Communication"; ReadText: Text)
Recibe como parámetros el registro RECADV de la cola de comunicaciones EDI que se está procesando y el registro RECTL(ReadText) que se está procesando del mensaje RECADV.
OnAfterRECAC - Cabecera
En un mensaje RECADV, el registro RECAC contiene información de cabecera de la confirmación de recepción (número de albarán, fecha de recepción, ...). Cuando iDynamics EDI procesa este tipo de registros, realiza las siguientes comprobaciones:
- Que el albarán al que se refiere el mensaje RECADV existe.
- Que la fecha de recepción de la mercancía tenga un formato válido.
- Que la confirmación de recepción no haya sido procesada con anterioridad.
Este evento se ejecuta una vez por cada mensaje RECADV después de haber realizado estas comprobaciones.
OnAfterRECAC(var ParCommunication: Record "IDPEDI Communication"; ReadText: Text; var SalesShipmentHeader: record "Sales Shipment Header")
Recibe como parámetros el registro de la cola de comunicaciones que contiene el mensaje RECADV (ParCommunication), el contenido del registro ORSPP (ReadText) que se ha procesado, y la cabecera del albarán (SalesShipmentHeader) al que se refiere el mensaje RECADV.
OnAfterRECAP - Información partes involucradas
En un mensaje RECADV, el registro RECAP identifica a las partes involucradas (Cliente, receptor mercancía, receptor factura, ...). Cuando iDynamics EDI procesa este tipo de registros, valida las partes involucradas.
Este evento se ejecuta una vez por cada mensaje RECADV después de validar las partes involucradas.
OnAfterRECAP(var ParCommunication: Record "IDPEDI Communication"; ReadText: Text; var SalesShipmentHeader: record "Sales Shipment Header")
Recibe como parámetros el registro de la cola de comunicaciones que contiene el mensaje RECADV (ParCommunication), el contenido del registro RECAP (ReadText) que se ha procesado, y la cabecera del albarán (SalesShipmentHeader) al que se refiere el mensaje RECADV.
OnAfterRECAL - Detalle confirmación recepción
Se ejecuta después de procesar cada registro de tipo "RECAL" (Detalle confirmación recepción) contenido en cada mensaje RECADV procesado.
OnAfterRECAL(var ParCommunication: Record "IDPEDI Communication"; ReadText: Text)
Recibe como parámetros el registro de la cola de comunicaciones que contiene el mensaje RECADV (ParCommunication), y el contenido del registro RECAL (ReadText) que se ha procesado.
OnAfterRECAV - Variaciones confirmación
Se ejecuta después de procesar cada registro de tipo "RECAV" (Variaciones confirmación recepción) contenido en cada mensaje RECADV procesado.
OnAfterRECAV(var ParCommunication: Record "IDPEDI Communication"; ReadText: Text)
Recibe como parámetros el registro de la cola de comunicaciones que contiene el mensaje RECADV (ParCommunication), y el contenido del registro RECAV (ReadText) que se ha procesado.
OnAfterRECAB - Información de lotes
Se ejecuta después de procesar cada registro de tipo "RECAB" (Información de lotes) contenido en cada mensaje RECADV procesado.
OnAfterRECAB(var ParCommunication: Record "IDPEDI Communication"; ReadText: Text)
Recibe como parámetros el registro de la cola de comunicaciones que contiene el mensaje RECADV (ParCommunication), y el contenido del registro RECAB (ReadText) que se ha procesado.