Modèle d'échange de documents
Fonctionnement
Les modèles d'échange de document permettent de définir un transfert de données entre tables de Business Central.
Il est possible de définir plusieurs tables à transférer, de définir des niveaux entre les tables, ainsi que des relations entre ces niveaux.
Quand le transfert de données est exécuté, chaque enregistrement d'un niveau est traité, puis tous les enregistrements du niveau inférieur liés en appliquant les relations positionnés entre ces niveaux et ainsi de suite.
Exemple :
Niv. | Table source | Table destination |
---|---|---|
1 | En-tête facture vente | En-tête document échangé |
2 | > Ligne facture vente | > Ligne document échangé |
Note
Dans un transfert de données, une table de source correspond à une table de destination. Le modèle des tables d'origine doit correspondre au modèle des tables de destination.
Le principe est de toujours résonner selon une structure en-tête / lignes dans les échanges de documents. Pour les documents (vente, achat, transferts...), cette logique correspond à la structure naturelle des tables de Business Central. Pour les flux comptables, on applique la logique suivante afin d'appliquer un modèle en-tête / ligne :
Eléments | Table d'en-tête | Table de ligne |
---|---|---|
Feuille comptabilité | Nom feuille comptabilité (232) | Ligne feuille comptabilité (81) |
Ecriture comptable | Hist. trans. comptabilité (45) | Ecritures comptables (17) |
Le niveau 1 du modèle est particulièrement important car :
- Les pré-traitements qui peuvent être définis dans le modèle seront exécutés sur les enregistrements de la table source de niveau 1.
- Les post-traitements qui peuvent être définis dans le modèle seront exécutés sur les enregistrements de la table destination de niveau 1.
- L'automatisation des exécution des échanges est basée sur la table source de niveau 1.
Paramétrer les catégorie modèles échange de document
Les catégorie modèles d’échange document permettent de regrouper les modèles d'échange de document par nature ou par système cible. Pour réaliser ce paramétrage :
- Choisissez l'icône
, saisissez Catégorie modèles échange document , puis sélectionnez le lien associé.
- Renseignez les champs selon vos besoins.
Champs | Description |
---|---|
Code | Code permettant d’identifier individuellement la catégorie. |
Désignation | Description succincte de la catégorie. |
Paramétrer les modèles échange de document
Les modèles d’échange document permettent de paramétrer un transfert d’information de table à table.
- Choisissez l'icône
, saisissez Modèles échange document , puis sélectionnez le lien associé.
- Renseignez les champs selon vos besoins.
Champs | Description |
---|---|
Code | Code permettant d’identifier individuellement le modèle. |
Désignation | Description succincte. |
Sens | Défini le sens de la transaction. * Sortant : indique un mouvement sortant. * Entrant : indique un mouvement entrant. |
N° table | Indique le numéro de la table source principale. Ce champ est mis à jour automatiquement lorsque le modèle est lancé. |
Statut | Indique le statut du modèle. Uniquement les modèles en statut Ouvert peuvent être modifiés par l'utilisateur. Uniquement les modèles en statut Lancé seront exécutés automatiquement par Business Central. |
Type | Défini le type d'interface (Document ou Journal). Cette information définira le mode d'affichage des documents échangés. |
Traitement automatique | Permet de définir si l’exécution du modèle d’échange doit être réalisée immédiatement après la génération des enregistrements dans la table de destination. Ce paramètre ne fonctionne que pour les interfaces sortantes. L’automatisation est possible uniquement dans le cadre de certains évènements (décrits dans le chapitre concernant les flux sortants). |
Déclencheur | Dans le cadre d'un traitement automatique, permet de définir le déclencheur qui va déclencher l'échange de document. Ce déclencheur va dépendre de la table traitée. Pour les tables de documents enregistrés, le déclencheur sera "insertion à la validation". Pour les tables de documents en cours, le déclencheur pourra être le "lancement" ou la suppression du document. |
Traiter l'enregistrement plusieurs fois | Permet d'indiquer au système qu'un enregistrement peut être traité plusieurs fois de suite. Par exemple, on peut vouloir traiter une commande de vente à chaque fois que cette dernière sera lancée par l'utilisateur. Si on ne coche pas ce paramétrage, un enregistrement n'est traité une seule et unique fois. |
Type objet vérif. données | Permet de définir le type d’objet qui est utilisé pour la vérification des données. |
N° objet vérif. données | Permet de définir le numéro de l’objet qui est utilisé pour la vérification des données. |
Type objet pré-traitement | Permet de définir le type d’objet qui est utilisé en pré-traitement quand l’échange de donnée est exécuté. |
N° objet pré-traitement | Permet de définir le N° d’objet qui est utilisé en pré-traitement quand l’échange de donnée est exécuté. |
Type objet transfert données | Permet de définir le type d’objet qui est utilisé pour le transfert de données quand l’échange de donnée est exécuté. |
N° objet transfert données | Permet de définir le N° d’objet qui est utilisé pour le transfert de données quand l’échange de donnée est exécuté. |
Type objet post-traitement | Permet de définir le type d’objet qui est utilisé en post-traitement quand l’échange de donnée est exécuté. |
N° objet post-traitement | Permet de définir le N° d’objet qui est utilisé en post-traitement quand l’échange de donnée est exécuté. |
Condition d'exécution | |
Effectuer contrôle données | Indique au système que le traitement de contrôle de données doit être lancé tout autre traitement. |
Code catégorie échange doc. | Permet d'affecter à chaque modèle une catégorie qui pourra être utilisée comme filtre dans l'aperçu des documents échangés. Les catégories peuvent permettre de regrouper des échanges de documents par nature ou par système source. |
Transfert documents joints | Permet d'activer le transfert des documents joints entre les tables. Le transfert des documents joints s'effectue exclusivement lors d'un transfert entre la table des documents échangés et une table standard qui supporte les pièces jointes (dans les deux sens). |
Appliquer immédiatement au partenaire IC | Permet de définir si le traitement du document échangé entrant doit immédiatement être lancé après le transfert des données dans la société de destination. Le traitement est lancé via une session d'arrière plan dans la société de destination. Ce paramètre peut être activé soit au niveau du modèle d'échange, soit de façon générale, dans la table Paramètres échange document. |
Tables
Pour chaque modèle d’échange de données, il est nécessaire de définir la ou les tables qui sont impliquées dans l’échange.
Note
Un assistant de paramétrage permet d'insérer des structures de tables et de relation de table pour les documents les plus courants.
- Depuis la page Modèles échange document, sélectionnez l'action Tables dans le bandeau.
- La page Tables modèles échange document s'affiche. Renseignez les champs selon vos besoins.
Champs | Description |
---|---|
N° ligne liée | Permet de lier une ligne à une autre. Quand une ligne est liée à une autre, cela signifie que le traitement de transfert parcourra l’ensemble des enregistrements de la table liée après chaque enregistrement de la ligne d’origine. Il est nécessaire dans ce cas de définir des liaisons afin de filtrer les enregistrements parcourus. |
N° table source | Permet de définir le numéro de la table source du transfert de données. |
N° table destination | Permet de définir le numéro de la table de destination du transfert de données. |
Type traitement | Permet de définir le type de traitement à appliquer à la ligne. Les valeurs possibles sont : Insérer : le traitement insère de nouveaux enregistrements dans la table de destination à partir de la table source. Modifier : le traitement modifie des enregistrements dans la table de destination à partir de la table source. Modifier / insérer : le traitement recherche des enregistrements dans la table de destination et créée de nouveaux enregistrements si il ne les trouve pas. Rechercher : le traitement recherche un enregistrement dans la table de destination à partir des données de la table source. |
N° index clé | Ce champ permet de définir une clé à appliquer aux données. Elle est utile uniquement si le traitement prévoit de modifier ou de rechercher des enregistrements. |
Plusieurs enregistrements trouvés | Permet de définir le comportement du système si plusieurs enregistrements sont trouvés lors d’une recherche dans la table destination. |
Insérer uniquement si enregistrement enfant trouvé | Permet de demander au système d'insérer l'enregistrement uniquement si des enregistrement "enfants" (ie situés directement sous l'enregistrement) existent. Ce paramétrage permet notamment de créer un enregistrement d'en-tête uniquement si des lignes existent pour celui-ci, cet absence de ligne pouvant résulter d'un filtre positionné dans la société émettrice d'un flux IC. |
Relations entre les tables
Afin de permettre un transfert de données entre des tables de niveaux différents, il est important de pouvoir définir les relations existantes entre la table de niveau inférieure et la table de niveau supérieure. Cette relation doit être établie pour la table source et pour la table de destination.
Pour réaliser ce paramétrage :
- Depuis la page Tables modèles échange document, sélectionnez l'action Relations source ou Relations destination dans le bandeau.
- La page Relations ligne modèle échange document s'affiche. Renseignez les valeurs selon vos besoins :
Champs | Description |
---|---|
N° champ | Permet de définir le champ de la table qui est utilisé pour faire la liaison avec la table liée. |
N° champ lié | Permet de définir le champ de la table liée qui est utilisé pour faire la liaison avec la table. Il est nécessaire si le champ Type liaison est à la valeur Champ. |
Type liaison | Permet de définir le type de liaison existant entre la table et la table liée. Les valeurs suivantes sont possibles : * Champ : indique que la relation est basée sur la valeur directe des champs. * Filtre : indique que la relation est basée sur un filtre de données, basé sur les données de la table source. |
Filtre | Permet de définir un filtre à appliquer sur le champ. Pour construire ce filtre, il est possible de faire référence aux valeurs des champs de la table source. Pour cela, il faut saisir la structure du filtre en remplaçant les valeurs par un code du type « <%X> », où X est égal au numéro du champ. |
Assistant de création des tables et des relations
Afin de simplifier la création de modèles d'échange pour les documents les plus courants, un assistant permet de créer ce premier niveau de paramétrage. Pour accéder à l'assistant :
Depuis la page Modèles échange document, sélectionnez l'action Insérer tables dans le bandeau.
La page Insérer ligne modèle échange doc. s'affiche. Renseignez les valeurs selon vos besoins :
Champ Description Table origine Permet de sélectionner la table d'origine de destination. Toutes les tables usuelles de documents ou de documents enregistré sont proposées. Pour une interface sortante, sélectionner comme table d'origine la table En-tête document échangé. Table destination Permet de sélectionner la table de destination de l'échange de document. Uniquement les tables de documents en cours sont proposées. Pour une interface entrante, sélectionner comme table de destination la table En-tête document échangé. Note
L'assistant permet de sélectionner des tables d'en-tête uniquement. A la validation, l'assistant inclura automatiquement les lignes du documents qui sont définies pour chaque en-tête.
Cliquez sur le bouton OK. Les tables sont insérées dans le modèle.
Champs
Pour chaque table définies, il faut paramétrer les champs inclus dans l'échange de document. Pour cela :
- Depuis la page Tables modèles échange document, sélectionnez l'action Champs dans le bandeau.
- La page Définition champs échange document s'affiche. Renseignez les valeurs selon vos besoins :
Champs | Description |
---|---|
N° champ destination | Permet de définir le champ destination à alimenter. |
Ordre d’exécution | Ce champ est initialisé à la valeur 1. Si on souhaite utiliser les conditions dans les champs, il est possible de définir plusieurs valeurs possibles pour le champ (voir chapitre sur les conditions). |
Type valeur | Permet de définir le type de valeur à appliquer au champ destination. Les valeurs possibles sont les suivantes : * Valeur champ table origine : la valeur à transférer dans le champ de destination est la valeur du champ d’origine dans la table source. Dans ce cas, le champ N° champ source doit être alimenté. * Valeur fixe : la valeur à transférer dans le champ de destination est une valeur fixe. Celle-ci doit être définie dans le champ Valeur. * Correspondance valeur données : la valeur est issue d’une correspondance de données. Dans ce cas, le code de la correspondance préalablement paramétrée (voir chapitre X) doit être renseigné dans le champ Code correspondance données. * Analytique : permet d’alimenter le champ cible avec un ensemble de dimension analytique. L’ensemble de dimension analytique sera déterminé à partir du paramétrage analytique effectué spécifiquement pour la table (voir chapitre dédié). * Créer GUID : permet d’alimenter le champ avec un GUID généré par Business Central. |
N° champ source | Permet de définir le numéro du champ à utiliser comme source de donnée pour la ligne. Il est utilisé si le champ Type valeur est paramétré sur Valeur champ table origine. |
Valeur | Permet de définir une valeur fixe à appliquer. Il est utilisé si le champ Type valeur est paramétré sur Valeur fixe. Si le champ de destination est un champ de type Enum, il est possible de sélectionner la valeur à appliquer parmi les valeurs possibles du champ en utilisant le bouton AssistEdit (qui apparait quand le champ est sélectionné). |
Code correspondance données | Permet de définir la correspondance de données à utiliser. Il est utilisé si le champ Type valeur est paramétré sur Correspondance valeur données. |
Validate | Permet de définir si le VALIDATE doit être effectué lors de l’intégration du champ ou non. |
Ajouter | Permet d’indiquer que la valeur du champ source doit être ajoutée à la valeur du champ cible. Ne fonctionne exclusivement pour les champs décimaux. |
Type mise à jour | Permet de définir le type de mise à jour à appliquer pour le champ. Les valeurs possibles sont les suivantes : * Toujours : le champ sera traité dans tous les cas de figure. * Valeur fixe : la valeur à transférer dans le champ de destination est une valeur fixe. Celle-ci doit être définie dans le champ Valeur. * Insertion uniqu. : option non traitée actuellement. * Modification uniqu. : option non traitée actuellement. * Filtre : permet d’identifier les champs utilisés pour rechercher les enregistrements. |
Correspondance valeur données
Il a été vu dans le chapitre X comment paramétrer une correspondance de données. Pour pouvoir exploiter cette fonctionnalité dans un modèle d’échange de document, on peut définir la source de données d’un champ comme étant une correspondance de données. Dans la ligne de mappage de champ, le champ Type valeur est paramétré sur Correspondance valeur données et le code de correspondance est paramétré dans le champ Code correspondance données.
Pour pouvoir fonctionner, il est nécessaire de passer un ou plusieurs arguments à la correspondance de données.
- Depuis la page Définition champs échange document, sélectionnez l'action Arguments corresp. Données dans le bandeau.
- La page Arguments déf. champs échange document s'affiche. Renseignez les valeurs selon vos besoins :
Champs | Description |
---|---|
N° argument | Permet de définir le numéro de l’argument. Ce numéro doit correspondre au numéro défini dans la correspondance d’échange de données. |
Type valeur | Valeur champ table origine : la valeur à utiliser comme argument est la valeur du champ d’origine dans la table source. Dans ce cas, le champ N° champ source doit être alimenté. Valeur fixe : la valeur à utiliser comme argument est une valeur fixe. Celle-ci doit être définie dans le champ Valeur. |
N° champ source | Permet de définir le numéro du champ à utiliser comme source de l’argument. Il est utilisé si le champ Type valeur est paramétré sur Valeur champ table origine. |
Valeur fixe | Permet de définir une valeur fixe à utiliser comme argument. Il est utilisé si le champ Type valeur est paramétré sur Valeur fixe. |
Traitements complémentaires
Comme vu précédemment, il est possible de paramétrer dans le modèle d’échange de données plusieurs traitements qui peuvent être exécutés en complément du traitement d’échange de données.
Vérification des données
Si un traitement de vérification est paramétré pour le modèle d’échange de document, alors une tâche de vérification est lancée avant tout autre action. La tâche de vérification effectue un transfert « fictif » des données et contrôle la cohérence des données dans la table de destination (vérification des « tablerelations »). Si des erreurs de données sont identifiées, ces erreurs sont toutes spécifiées dans une table particulière dont le contenu peut être consulté depuis la donnée d’origine.
Cette phase de vérification est principalement dédiée aux traitements d’importation de données.
Pré-traitement
Si un codeunit de pré-traitement est défini dans le modèle d’échange de document, alors ce pré-traitement est effectué par le système avant le transfert de données. La nature du pré-traitement dépend du codeunit paramétré. Le pré-traitement traite toujours un enregistrement de la première table de destination. Par conséquent, le pré-traitement doit exécuter un codeunit dont l’enregistrement de base est un enregistrement de la première table de destination. Dans la mesure où l’exécution du pré-traitement nécessite de trouver l’enregistrement à traiter, une tâche de recherche de cet enregistrement est exécuté par le système : cette recherche se traduit par un enregistrement supplémentaire dans la table des Ecritures traitement enregistrement.
Par défaut, les pré-traitements suivants sont disponibles :
N° | Nom | Table | Descriptif |
---|---|---|---|
8062706 | Clear Gen. Jnl Batch | General Journal Line (81) | Permet de vider le contenu d’une feuille de saisie comptable afin de s’assurer que celle-ci est vide avant intégration. |
8062708 | Clear Purch. Doc. Qty | Purchase Header (38) | Permet d'initialiser les quantités à recevoir et à facturer à zéro avant intégration. |
8062707 | Clear Sales Doc. Qty | Sales Header (36) | Permet d'initialiser les quantités à expédier et à facturer à zéro avant intégration. |
Transfert de données
Ce traitement correspond à l’alimentation effective des tables métiers à partir des données intermédiaires. Cette tâche est toujours effectuée. Si aucun codeunit n’est paramétré pour le transfert de donnée, alors c’est le transfert de données paramétré dans le modèle d’échange de document qui est exécuté. Cependant, si le transfert de données nécessite trop de spécificité technique, il est possible de créer un codeunit et de le paramétrer pour traiter le transfert de données.
Post-traitement
Si un codeunit de post-traitement est défini dans le modèle d’échange de document, alors celui-ci est effectué par le système après le transfert de données. La nature du post-traitement dépend du codeunit paramétré. Le post-traitement traite toujours un enregistrement de la première table de destination (enregistrement qui a été mis à jour ou créer par le transfert de données). Par conséquent, le post-traitement doit exécuter un codeunit dont l’enregistrement de base est un enregistrement de la première table de destination.
Par défaut, les pré-traitements suivants sont disponibles :
N° | Nom | Table | Descriptif |
---|---|---|---|
414 | Release Sales Document | Sales Header (36) | Permet de lancer un document de vente après sa création. |
415 | Release Purchase Document | Purchase Header (38) | Permet de lancer un document d'achat après sa création. |
80 | Sales-Post | Sales Header (36) | Permet de valider un document de vente après sa création ou sa mise à jour. |
90 | Purch.-Post | Purchase Header (38) | Permet de valider un document d'achat après sa création ou sa mise à jour. |
8062705 | Post Gen. Jnl Batch | Gen. Journal Batch (232) | Permet de valider une feuille de comptabilité après avoir alimenté son contenu. |
L’ensemble des traitements évoqués ci-dessus sont tracés individuellement par Business Central dans une table de suivi (Ecritures traitement enregistrement). Quand un processus d’échange de données est lancé, des écritures correspondant à chaque phase sont générées. Si la phase s’est déroulée sans erreur, le statut de l’écriture passe à la valeur Exécuté (succès). Dans le cas contraire, le statut passe à la valeur Exécuté (Erreur).
Voir aussi
Aperçu du module d'échange de document
Gestion des flux inter-sociétés
Gestion des interfaces
Correspondances de données
Modèles d'échange de documents
Documents échangés
Exécution des échanges de documents
Utilisation de Business Central