Activation de l'envoi automatique pour ses propres processus
Introduction
L'envoi de documents permet l'envoi automatique de tous les profils d'envoi lorsque des processus spécifiques sont exécutés (par exemple, convertir un contrat en commande). La plupart des processus pertinents dans le standard Business Central sont déjà couverts. Cependant, il se peut que ce qui est censé déclencher l'envoi ne soit pas encore couvert ou soit en dehors du standard Business Central.
Pour réaliser une intégration dans une procédure souhaitée, vous devez :
-
Définir un événement personnalisé qui est déclenché au point souhaité dans vos processus (par exemple, après la publication d'une commande ou la mise à jour d'une table spécifique).
-
S'assurer qu'un connecteur existe qui relie votre/vos application(s) à l'envoi de documents. Créez-en un si nécessaire pour faciliter l'intégration.
-
Créer un abonné d'événement pour cet événement dans votre propre connecteur.
Cet article explique comment mettre en œuvre ces étapes et fournit un code d'exemple pour créer un événement, s'y abonner et le lier à notre fonctionnalité d'envoi.
Création et abonnement à un événement personnalisé
Étape 1 : Définir l'événement personnalisé
La première étape consiste à définir un événement personnalisé dans le code AL. Cet événement doit être déclenché au bon moment dans le processus pour garantir le bon timing de l'envoi. Par exemple :
[IntegrationEvent(false, false)]
local procedure OnAfterCustomProcess(ParamCustomRecord: Record "Custom Table"; ParamAdditionalInfo: Text)
begin
// Cet événement sera déclenché après un processus personnalisé, tel que la publication ou la mise à jour.
end;
Dans cet exemple, l'événement OnAfterCustomProcess est défini pour une table personnalisée. Il prend l'enregistrement de la table et toute information supplémentaire pertinente comme paramètres.
Étape 2 : Mettre en œuvre le déclencheur d'événement
Cet événement personnalisé doit être appelé au point du processus où l'envoi doit être initié. Par exemple, s'il doit être envoyé après qu'un enregistrement a été publié :
procedure PostCustomRecord(var ParamCustomRecord: Record "Custom Table")
begin
// Logique de publication ici...
Commit();
// Déclencher l'événement personnalisé
OnAfterCustomProcess(ParamCustomRecord, 'Publication personnalisée terminée');
end;
Étape 3 : Créer l'abonné d'événement
Une fois l'événement personnalisé en place, l'étape suivante consiste à créer un abonné d'événement dans le connecteur qui écoute l'événement et le connecte à l'envoi de documents :
[EventSubscriber(ObjectType::Codeunit, CodeunitId, 'OnAfterCustomProcess', '', false, false)]
local procedure HandleCustomProcess(ParamCustomRecord: Record "Custom Table"; ParamAdditionalInfo: Text)
var
LocalCodeunitSIMEDSSI: Codeunit "SIM_EDS SI";
LocalCodeunitSIMEDSQueueMgt: Codeunit "SIM_EDS Queue Mgt";
LocalRecordRef: RecordRef;
begin
// Obtenir la référence d'enregistrement pour la table personnalisée
LocalRecordRef.GetTable(ParamCustomRecord);
LocalRecordRef.SetRecFilter();
// Appeler la fonctionnalité d'envoi
LocalCodeunitSIMEDSSI.SetIsCustomProcess(true);
LocalCodeunitSIMEDSQueueMgt.SendEDS(LocalRecordRef, false, false, '');
LocalCodeunitSIMEDSSI.ClearIsCustomProcess();
end;
Explication
Événement personnalisé :
- Vous devez définir vos propres événements, tels que OnAfterCustomProcess, qui doivent être déclenchés au bon moment dans vos processus (par exemple, après la publication d'un enregistrement).
- Cela garantit une flexibilité totale pour intégrer l'envoi de documents avec vos flux de travail personnalisés.
Abonné d'événement :
- L'abonné écoute l'événement personnalisé et le connecte à notre procédure d'envoi.
- Cela doit être mis en œuvre dans votre connecteur.
Connecteur :
- Si aucun connecteur n'existe, vous devez en créer un pour lier vos tables/procédures personnalisées à l'envoi de documents.
Journaux et dépannage
Si l'intégration ne fonctionne pas comme prévu :
- Vérifiez le déclenchement de l'événement personnalisé : Assurez-vous que l'événement personnalisé est appelé au bon moment dans le processus.
- Vérifiez les journaux : Les journaux indiqueront des problèmes, tels que des erreurs de configuration ou des connexions manquantes entre l'événement et la procédure d'envoi.
- Vérifiez la configuration du connecteur : Si l'abonné d'événement ne fonctionne pas, assurez-vous qu'il est correctement mis en œuvre dans un connecteur fonctionnel.
Résumé
En créant un événement personnalisé et un abonné d'événement dans votre connecteur, vous pouvez étendre la fonctionnalité d'envoi de documents aux tables et processus personnalisés. La flexibilité de définir où et comment l'événement est déclenché permet une intégration transparente avec des flux de travail uniques.
Si aucun connecteur n'existe, il doit être créé comme base pour cette intégration. Pour une assistance supplémentaire, consultez notre documentation d'assistance ou contactez le support technique.