Anveo EDI Connect / Config / Mappings / Utilisation des propriétés SourceExpr et DestExpr
This is an automatic translation. The original post is available in Anglais.

Utilisation des propriétés SourceExpr et DestExpr

Dans la dernière section, nous avons expliqué comment ajouter des instances de table à un mappage. Dans cette section, nous verrons comment accéder aux données des champs d’un tableau. Et comment utiliser les valeurs constantes et les filtres.

Ce module vous permet de lire les données des champs des tables, chaque fois qu’il y a 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 de mappage du type de format NAV et sur les lignes de données des mappages d’exportation. Mais cette propriété est également disponible pour les paramètres de la fonction personnalisée et pour étendre les messages d’erreur. Il y a d’autres options, dont nous parlerons un peu plus loin dans cette section.

Pour écrire des données dans les champs de la table, il existe une autre propriété appelée DestExpr (expression de destination). Cette propriété vous 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 table est défini sur Read. Ecrire dans une table en mode lecture appellera la logique de validation de la VNI, mais nous ne modifions pas l’enregistrement. Sur nos tables tampons, vous pouvez l’utiliser pour stocker une valeur pendant un certain temps dans le mappage. Sur d’autres tables, il dépendra de la logique de validation s’il est sûr d’utiliser une table en mode lecture pour stocker temporairement des données.

La propriété SourceExpr

SrcType

Le type de source spécifie le type de données que vous voulez lire. Les valeurs autorisées sont :

Const

Une valeur constante qui est entrée dans le mappage.

Field

Zone d’une instance de table, qui est l’une des lignes de mappage parent de cette ligne de mappage. Dans le cas où vous voulez lire un champ de somme, vous devez être en dehors de l’instance de la table, mais en dessous.

Function

Vous voulez lire les données d’une fonction intégrée ou personnalisée.

Data Type

Cette propriété a été ajoutée dans Anveo EDI Connect 4.00.

Cette propriété n’est disponible que si 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 pour éviter les erreurs dues aux différentes localisations utilisées lors de la configuration et de l’exécution. Dans les versions plus anciennes, vous deviez vous assurer que la locale pendant l’installation était la même que pendant l’exécution pour éviter, par exemple, que les numéros soient interprétés différemment.

Vous pouvez choisir parmi les types de données suivants :

Text

Une valeur de texte constante.

Text (Special)

Un texte qui peut contenir des caractères spéciaux, comme un retour chariot<CR>. Il y a une liste de tous les caractères spéciaux supportés.

Boolean

Une valeur booléenne, comme True ou False.

Option

Une valeur d’option. Vous devez utiliser la valeur entière de l’option dans la base de données.

Integer

Une valeur entière (32 bits).

Decimal

Une valeur décimale.

BigInteger

Une grande valeur entière (64 bits).

Duration

La valeur contient une durée.

Code

La valeur est une valeur de code dynamique (en majuscules seulement, n’autorise pas tous les caractères).

Date

Représente une valeur de date.

Time

Représente une valeur temporelle.

DateTime

Représente une valeur combinée date et heure.

DateFormula

Une formule de date.

GUID

Un identifiant unique global (GUID).

Value

Cette propriété n’est disponible que si SrcType est défini sur Const. Représente la valeur constante que vous voulez utiliser.

Function

Cette propriété n’est disponible que si le SrcType est défini sur Function. Vous pouvez utiliser AssistEdit pour spécifier l’objet et la fonction. Si les paramètres nécessaires à la fonction sont des paramètres SourceExpr, ils ne prennent pas en charge l’imbrication des fonctions.

Table

Cette propriété n’est disponible que si le Field SrcType est défini sur Field. Sélectionnez l’instance de la table à partir de laquelle vous voulez lire les données. La table doit être l’un des parents de la ligne de mappage courante, pour lire les données d’un enregistrement. Si vous voulez lire les champs de somme, vous devez être sous l’instance de table, mais pas un enfant de celle-ci.

Field

Cette propriété n’est disponible que si le Field SrcType est défini sur Field. Sélectionne la colonne / le champ que vous voulez lire.

Value Translation

Vous pouvez spécifier une conversion de valeur, pour changer la valeur sélectionnée en une autre valeur cible. Il y a une section sur la façon de configurer les traductions des valeurs.

Name

Le code de la conversion de valeur à utiliser.

No Translation Action

Que se passe-t-il si la valeur n’est pas trouvée dans la conversion de valeur  ?

Ignore

Le module ne fait rien si la traduction est manquante. Il utilise la valeur originale sans traduction.

Empty

Sortie d’une valeur vide.

Info

Ajoutez une entrée de journal d’informations et utilisez la valeur d’origine.

Warning

Ajoutez une entrée de protocole d’avertissement et utilisez la valeur d’origine.

Error

Cassez immédiatement le mappage et enregistrez une erreur.

Error (Continue)

Créez une entrée de journal des erreurs et ne terminez pas le mappage avec succès, mais poursuivez le traitement pour trouver d’autres erreurs également.

Advanced Validation

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.

Allowed Values

La liste des valeurs autorisées. Vous pouvez utiliser AssistEdit ou entrer les termes séparés par des virgules.

Not Allowed Action

Que se passe-t-il si la valeur source n’est pas dans la liste des valeurs autorisées ?

Ignore

N’utilisez pas la validation avancée et ignorez les valeurs de la liste.

Info

Créez une entrée de journal d’informations.

Warning

Créez une entrée de journal d’avertissement.

Error

Cassez immédiatement le mappage avec un message d’erreur.

Error (Continue)

Renvoyer une erreur lors de l’exécution du mappage, mais continuer à traiter le mappage, pour trouver d’autres erreurs également.

La propriété DestExpr

DestType

Sélectionnez la cible pour une valeur. Les valeurs suivantes sont valables :

Vide signifie que la valeur est ignorée. Vous pouvez l’utiliser pour ignorer des zones lors des importations ou, par exemple, pour ignorer une valeur de retour de fonction.

Filter

La valeur doit être vérifiée par rapport à un filtre Dynamique. Si le filtre ne correspond pas, la valeur n’est pas acceptée. Selon le convertisseur, un message d’erreur s’affiche ou une partie du mappage est sautée. Vous en apprendrez plus sur l’utilisation des filtres pour des convertisseurs spécifiques sur la documentation de chaque convertisseur.

Field

La valeur doit être écrite dans un champ d’une instance de table dans ce mappage.

Value

Cette propriété n’est disponible que si le DestType est défini sur Filter. Le filtre Dynamique filtre la valeur est vérifiée. La valeur sera interprétée comme une valeur texte pour l’application du filtre. Un exemple typique serait « BY|IV », pour permettre les valeurs « BY » et « IV ».

Table

Cette propriété n’est disponible que si le DestType est défini sur Field. Sélectionne l’instance de la table dans laquelle la valeur doit être écrite. L’instance de la table doit être l’un des parents de la ligne de mappage courante.

Field

Cette propriété n’est disponible que si le DestType est défini sur Field. Nom de zone/nom de colonne de la zone cible de la table.

Validate

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. Si vous définissez cette propriété sur False, le déclencheur de validation de la Microsoft Dynamics 365 Business Central pour ce champ ne sera pas pris en compte.

Soyez très prudent lorsque vous utilisez False. Vous ne devez désactiver la validation qu’après avoir consulté un programmeur. Vous ne devriez pas le désactiver sur aucune des tables de dynamique standard, sauf si vous savez vraiment ce que vous faites. Vous pouvez rendre la Microsoft Dynamics 365 Business Central inutilisable, en sautant le code de validation.

Assignment Mode

Cette propriété n’est disponible que si le DestType est défini sur Field et que vous utilisez le convertisseur NAV. Vous trouverez plus d’informations sur la page convertisseur.