Skip to content

Tables d'événements ​

Tables d'événements est l'endroit où vous choisissez quelles tables Business Central publient des événements, quels champs figurent dans la charge utile JSON de chaque événement, et quels types d'événements se déclenchent réellement. Ouvrez-la depuis l'action Tables d'événements de Configuration Event Bridge, ou recherchez Tables d'événements dans Business Central.

Liste des tables d'événements montrant Customer, Item, Project et Vendor enregistrées avec différents types d'événements activés

Ajouter une table ​

  1. Dans Tables d'événements, choisissez Ajouter une table.

  2. Recherchez la table pour laquelle vous souhaitez publier des événements (par ex. « Customer », « Sales Header ») et sélectionnez-la — double-cliquez sur une ligne, ou cochez-en plusieurs et choisissez Ajouter une table pour en ajouter plusieurs à la fois.

    Boîte de dialogue Sélectionner une table d'événement répertoriant des tables telles que Location, G/L Account et Customer à ajouter

    Résultat attendu : la table apparaît dans la liste avec 0 champs actifs et aucun type d'événement coché. Aucun événement n'est encore envoyé — vous devez encore ajouter des champs et activer au moins un type d'événement ci-dessous.

Ajouter des champs à la charge utile ​

  1. Cliquez sur le nom de la table dans Tables d'événements pour ouvrir sa Fiche événement.
  2. Dans la partie Champs, choisissez Ajouter un champ.
  3. Sélectionnez les champs à inclure — la liste affiche le numéro, le nom, la légende, le type de chaque champ, s'il fait partie de la clé primaire, et sa table de relation le cas échéant. Les champs de clé primaire et les FlowFields sont mis en surbrillance visuellement afin que vous puissiez les repérer d'un coup d'œil. Choisissez Ajouter un champ pour ajouter votre sélection.

Chaque champ ajouté reçoit un Nom de clé — le nom de propriété sous lequel il apparaît dans la charge utile JSON — généré automatiquement à partir de la légende du champ (lettres, chiffres, trait de soulignement et trait d'union uniquement). Renommez-le si vous souhaitez une clé JSON différente ; les noms doivent rester uniques au sein de l'événement de cette table et ne peuvent utiliser que ces mêmes caractères.

Un FlowField ajouté de cette manière est également automatiquement marqué Ignorer pour les modifications, car recalculer un FlowField uniquement pour vérifier s'il a changé est coûteux — voir Filtrer les modifications publiées pour comprendre pourquoi, et quand vous voudriez le désactiver à nouveau.

Certains champs pointent vers la clé primaire d'une autre table (visible sous la forme d'un Nom de table de relation dans le sélecteur de champs) — pour ceux-ci, vous pouvez également récupérer des champs de l'enregistrement lié, et pas seulement la clé elle-même.

  1. Sur un champ qui possède une relation, choisissez Ajouter un champ lié.

  2. Choisissez des champs de la table liée de la même manière que pour l'ajout de champs à la charge utile ci-dessus.

    Résultat attendu : les champs liés apparaissent en retrait sous leur champ parent dans la liste, et sont imbriqués sous la clé de ce champ dans la charge utile JSON — par ex. les champs ajoutés sous une relation « Sell-to Customer No. » apparaissent imbriqués sous la clé de ce champ, et non pas mis à plat à côté. Vérifiez la forme exacte avec Aperçu du message.

Les champs liés sont recherchés en temps réel, en faisant correspondre la valeur actuelle du champ parent à la clé primaire de la table liée au moment où l'événement se déclenche — ils ne sont pas stockés de manière redondante. Si aucun enregistrement correspondant n'existe à ce moment-là, la clé imbriquée est simplement omise de la charge utile plutôt qu'envoyée vide.

Un champ lié n'entre jamais en compte dans le déclenchement d'un événement Modification ou Renommage — il se trouve sur une table différente de celle surveillée pour les modifications, il n'y a donc rien à comparer à cet endroit. Son option Ignorer pour les modifications (voir ci-dessous) est automatiquement cochée et verrouillée — vous ne pouvez pas la décocher, contrairement à un champ de premier niveau. Les champs liés existent uniquement pour rendre la charge utile plus utile une fois qu'un événement se déclenche pour une autre raison, et non pour en déclencher un eux-mêmes.

Fiche événement pour la table Project avec les champs liés No./Name/SearchName de Bill-toCustomerNo imbriqués en dessous

Activer les types d'événements ​

Dans le groupe Abonnements aux événements de la Fiche événement, activez n'importe quelle combinaison parmi :

  • Création — un nouvel enregistrement a été créé.
  • Modification — un enregistrement existant a été modifié.
  • Renommage — la clé primaire d'un enregistrement a changé.
  • Suppression — un enregistrement a été supprimé.

Vous devez avoir ajouté au moins un champ pour que l'un de ces éléments prenne effet. Si des champs existent mais qu'aucun type d'événement n'est activé, Business Central affiche une notification de rappel directement sur la fiche. À l'inverse, supprimer tous les champs d'une table désactive automatiquement les quatre types d'événements.

Inclure les valeurs précédentes (pertinent uniquement lorsque Modification ou Renommage est activé) détermine si ces événements incluent une comparaison before/after de la valeur de chaque champ, ou seulement les valeurs actuelles (after) seules — les charges utiles de comparaison sont environ deux fois plus volumineuses, donc laissez cette option désactivée si votre intégration n'a pas besoin de voir ce qui a changé, seulement le fait que quelque chose a changé.

Filtrer les modifications publiées ​

Filtre de création et Filtre de modification sur un champ (champs de premier niveau uniquement — pas les champs liés/détaillés, ni les champs Media/MediaSet) limitent le déclenchement de ce type d'événement, à l'aide de la syntaxe de filtre standard de Business Central (par ex. >100, A|B, <>'') évaluée par rapport à la valeur de ce champ au moment de l'événement.

Si vous définissez des filtres sur plusieurs champs, ils doivent tous correspondre — ils se combinent en ET, pas en OU. Une table sans aucun filtre défini déclenche toujours ses événements, sans filtrage.

Utilisez Aperçu du message pour vérifier si un enregistrement spécifique passe actuellement vos filtres (affiché sous forme de ✅/❌) avant de vous y fier en production.

Ignorer pour les modifications fonctionne différemment : au lieu de filtrer sur la valeur d'un champ, il exclut le champ de la comparaison que Business Central utilise pour décider si un événement Modification ou Renommage doit se déclencher du tout. Cochez-le pour un champ qui change de lui-même (un horodatage de mise à jour, un statut calculé, tout ce qui n'est pas pertinent pour votre intégration) et une modification de ce seul champ ne déclenchera plus l'événement — mais la valeur actuelle du champ est tout de même envoyée chaque fois qu'une modification d'un autre champ, non ignoré, déclenche l'événement. Les événements Création et Suppression ne sont pas affectés, car aucun des deux ne compare à une valeur précédente en premier lieu. Cette option n'est également modifiable que sur les champs de premier niveau — sur un champ lié, elle est toujours cochée et verrouillée, puisque les champs liés ne font jamais partie de cette comparaison au départ.

C'est cette même comparaison qui explique pourquoi Ajouter un champ coche automatiquement Ignorer pour les modifications pour tout FlowField que vous ajoutez (champs de premier niveau uniquement, pas les champs liés/détaillés) : recalculer un FlowField uniquement pour voir s'il a changé se produirait à chaque enregistrement de la table, et pas seulement lorsqu'un événement finit réellement par se déclencher, et pour un FlowField qui totalise ou compte à travers de nombreux enregistrements liés, cela représente un coût réel et répété. Il est tout de même calculé normalement — une fois — chaque fois que la modification d'un autre champ déclenche un événement et que la charge utile est réellement construite. Ne le décochez que si vous avez spécifiquement besoin qu'une modification de ce FlowField à lui seul déclenche un événement ; sinon, laissez la valeur par défaut telle quelle.

Supprimer une table ou un champ ​

  • Supprimez une ligne dans la partie Champs pour arrêter d'envoyer ce champ — tous les champs liés imbriqués en dessous sont supprimés avec lui.
  • Supprimez une table de Tables d'événements pour arrêter complètement de publier des événements pour celle-ci, y compris tous ses champs configurés.