Utilisation des propriétés SourceExpr et DestExpr
Dans la dernière section, nous avons vu comment ajouter des instances de tables à un mapping. Dans cette section, nous verrons comment accéder aux données des champs d’une table. Et comment utiliser les valeurs constantes et les filtres.
Le module vous permet de lire des données dans les champs des tables, dès lors qu’il existe une propriété SourceExpr (expression source). Le SourceExpr peut également être utilisé pour spécifier des valeurs constantes ou pour appeler des fonctions. Vous trouverez cette propriété sur les lignes de données du mapping de type NAV et sur les lignes de données des mappings d’exportation. Mais cette propriété est également disponible pour les paramètres des fonctions personnalisées et pour étendre les messages d’erreur. Il existe d’autres options, que nous aborderons un peu plus loin dans cette section.
Pour écrire des données dans les champs du tableau, il existe une autre propriété appelée DestExpr (expression de destination). Cette propriété permet également de vérifier les données par rapport à un filtre spécifié, au lieu de les stocker. Nous entrerons dans les détails dans un instant. Il est important de savoir que vous pouvez écrire des données dans n’importe quel champ d’une instance de table, même si le Mode la table est défini sur Read L’écriture dans une table en mode lecture fait appel à la logique de validation de NAV, mais nous ne modifions pas l’enregistrement. Sur nos tables tampons, vous pouvez l’utiliser pour stocker une valeur pour un certain temps dans le mapping. Pour d’autres tables, la sécurité de l’utilisation d’une table en mode lecture pour stocker temporairement des données dépendra de la logique de validation.
La propriété SourceExpr
Le type de source spécifie le type de données que vous souhaitez lire. Les valeurs autorisées sont les suivantes :
Une valeur constante qui est introduite dans le mapping.
Un champ d’une instance de table, qui est l’une des lignes mapping parentes de cette ligne mapping. Si vous souhaitez lire un champ de somme, vous devez vous trouver en dehors de l’instance de la table, mais en dessous.
Vous souhaitez lire des données à partir d’une fonction intégrée ou personnalisée.
Cette propriété a été ajoutée dans Anvaigo EDI Connect 4.00.
Cette propriété n’est disponible que si le SrcType est défini sur Const. Cette propriété spécifie le type de données de la valeur constante. Vous devez sélectionner le type de données afin d’éviter les erreurs dues aux différentes locales utilisées lors de la configuration et de l’exécution. Dans l’ancienne version, il fallait s’assurer que la locale utilisée lors de la configuration était la même que celle utilisée lors de l’exécution pour éviter, par exemple, que les nombres ne soient interprétés différemment.
Vous pouvez choisir parmi les types de données suivants :
Une valeur textuelle constante.
Un texte qui peut contenir des caractères spéciaux, comme un retour chariot<CR>). Il existe une liste de tous les caractères spéciaux pris en charge.
Une valeur booléenne, comme True ou False.
Une valeur d’option. Vous devez utiliser la valeur entière de l’option dans la base de données.
Une valeur entière (32 bits).
Une valeur décimale.
Une grande valeur entière (64 bits).
La valeur contient une durée.
La valeur est un code dynamique (en majuscules uniquement, tous les caractères ne sont pas autorisés).
Représente une valeur de date.
Représente une valeur temporelle.
Représente une valeur combinée de date et d’heure.
Une formule de date.
Un identifiant unique global (GUID).
Cette propriété n’est disponible que si le SrcType est défini sur Const. Représente la valeur de la constante que vous souhaitez utiliser.
Cette propriété n’est disponible que si le SrcType est défini sur Function. Vous pouvez utiliser l’AssistEdit pour spécifier l’objet et la fonction. Si la fonction nécessite des paramètres, ceux-ci seront également SourceExpr, mais ils ne permettent pas l’imbrication des fonctions.
Cette propriété n’est disponible que si le SrcType est défini sur Field. Sélectionnez l’instance de tableau à partir de laquelle vous souhaitez lire les données. La table doit être l’un des parents de la ligne mapping actuelle, pour lire les données d’un enregistrement. Si vous voulez lire des champs de somme, vous devez être sous l’instance de table, mais pas un enfant de celle-ci.
Cette propriété n’est disponible que si le SrcType est défini sur Field. Sélectionne la colonne / le champ que vous souhaitez lire.
Vous pouvez spécifier une conversion de valeur, pour changer la valeur sélectionnée en une valeur cible différente. Il y a une section sur la façon de configurer les traductions de valeurs.
Le code de la traduction de la valeur qui doit être utilisée.
Ce qui doit se passer si la valeur n’est pas trouvée dans la traduction des valeurs.
Le module ne fait rien si la traduction est manquante. Il utilise la valeur originale sans traduction.
Produit une valeur vide.
Ajouter une entrée dans le journal des informations et utiliser la valeur d’origine.
Ajouter une entrée de journal d’avertissement et utiliser la valeur d’origine.
Interrompre immédiatement le mapping et enregistrer une erreur.
Créez une entrée dans le journal des erreurs et ne terminez pas avec succès le mapping, mais continuez le traitement pour trouver d’autres erreurs également.
Cette propriété est cachée par défaut. Vous pouvez spécifier une liste de valeurs autorisées et créer des erreurs si vous essayez d’exporter une autre valeur.
La liste des valeurs autorisées. Vous pouvez utiliser l’AssistEdit ou saisir les termes en les séparant par des virgules.
Que se passe-t-il si la valeur source ne figure pas dans la liste des valeurs autorisées ?
N’utilisez pas la validation avancée et ignorez toutes les valeurs de la liste.
Créer une entrée dans le journal des informations.
Créer une entrée de journal d’avertissement.
Interrompre immédiatement le mapping avec un message d’erreur.
Renvoie une erreur lors de l’exécution du mapping, mais continue à traiter le mapping afin de trouver d’autres erreurs.
La propriété DestExpr
Sélectionnez la cible d’une valeur. Les valeurs suivantes sont valables :
Vide signifie que la valeur est ignorée. Vous pouvez l’utiliser pour ignorer des champs lors de l’importation ou, par exemple, pour ignorer la valeur de retour d’une fonction.
La valeur doit être vérifiée à l’aide d’un filtre Dynamics. Si le filtre ne correspond pas, la valeur n’est pas acceptée. Selon le convertisseur, il en résultera un message d’erreur ou l’omission d’une section du mapping. Vous trouverez plus d’informations sur l’utilisation des filtres pour des convertisseurs spécifiques dans la documentation de chaque convertisseur.
La valeur doit être inscrite dans un champ d’une instance de table dans ce mapping.
Cette propriété n’est disponible que si le paramètre DestType est défini sur Filter. Le filtre Dynamics par rapport auquel la valeur est vérifiée. La valeur sera interprétée comme une valeur de texte pour l’application du filtre. Un exemple typique serait « BY|IV », pour autoriser les valeurs « BY » et « IV ».
Cette propriété n’est disponible que si le DestType est défini sur Field. Sélectionne l’instance de table dans laquelle la valeur doit être écrite. L’instance de table doit être l’un des parents de la ligne mapping actuelle.
Cette propriété n’est disponible que si le DestType est défini sur Field. Le nom du champ/de la colonne du champ cible dans la table.
Cette propriété n’est disponible que si le DestType est défini sur Field. Cette propriété n’est disponible qu’en tant que propriété avancée. En définissant cette propriété sur False, le déclenchement de la validation Microsoft Dynamics 365 Business Central pour ce champ sera ignoré.
Soyez très prudent lorsque vous utilisez False. Vous ne devez désactiver la validation qu’après avoir consulté un programmeur. Vous ne devez pas le désactiver pour les tables Dynamics standard, sauf si vous savez vraiment ce que vous faites. Vous pouvez rendre le Microsoft Dynamics 365 Business Central inutilisable en sautant le code de validation.
Cette propriété n’est disponible que si le DestType est défini sur Field et que vous utilisez le convertisseur CHECK / NAV / PREPARE / PROCESS Vous trouverez plus d’informations sur la page du convertisseur.
