Modélisation d’entités pour les entités virtuelles

Effectué

Pour commencer le processus d’utilisation des entités virtuelles, vous devez d’abord les interroger à partir du catalogue où un utilisateur peut sélectionner une ou plusieurs entités. Ensuite, la demande que Dataverse génère concerne les entités virtuelles correspondantes pour chaque entité des applications de finances et d’opérations que vous sélectionnez.

Lorsque vous créez pour la première fois une entité virtuelle pour une entité des applications de finances et d’opérations, le système tente de créer chaque champ des applications de finances et d’opérations dans l’entité virtuelle correspondante de Dataverse. Dans l’idéal, une relation un-à-un existe et chaque champ existant dans l’entité des applications de finances et d’opérations existe dans l’entité Dataverse. C’est généralement le cas, à moins qu’une incompatibilité ne se produise dans les types de données pris en charge entre les applications de finances et d’opérations et Dataverse. En cas d’incompatibilité, les étapes de traduction que le système effectue pendant les appels d’intégration correspondent à ces champs.

Le tableau suivant présente les types de données disponibles dans les applications de finances et d’opérations et leur modélisation dans Dataverse. Chaque type est spécifique et des différences importantes ou mineures peuvent exister selon le type.

Par exemple, le système génère une énumération (enum) dans les applications de finances et d’opérations sous forme de groupe d’options global dans Dataverse. Cependant, la stabilité des valeurs entières enum entre les deux systèmes n’est pas garantie et vous ne devez pas compter dessus. Autre exemple : les champs de type Réel et Long dans les applications de finances et d’opérations sont modélisés comme des types de données Décimale dans Dataverse. Comme il existe une incompatibilité dans la précision et l’échelle entre ces deux types de données, vous devez inclure d’autres considérations comportementales. Vous pouvez afficher ces considérations sur la page Modélisation d’entités, ainsi que d’autres informations sur les types de données et la conversion nécessaire afin que chacun soit modélisé.

Pour en savoir plus, consultez Modélisation d’entités.

Type de données dans les applications de finances et d’opérations Type de données modélisé dans Dataverse
Réel Décimale. Incompatibilité possible en fonction de l’étendue de la précision
Long Décimale, où la précision est égale à 0 (zéro)
Int Entier
Chaîne (non mémo), Chaîne (mémo) Chaîne – Une seule ligne de texte Chaîne – Plusieurs lignes de texte
UTCDateTime DateTime (DateTimeFormat, DataAndTime, DateTimeBehavior, TimeZoneindependent). Une date vide (1er janvier 1900, dans les applications de finances et d’opérations s’affiche sous la forme d’une valeur nulle dans Dataverse.)
Date DateTime (DateTimeFormat, DataAndTime, DateTimeBehavior, TimeZoneindependent). Une date vide (1er janvier 1900, dans les applications de finances et d’opérations s’affiche sous la forme d’une valeur nulle dans Dataverse.)
Enum Liste de sélection. Le système génère les énumérations (enums) dans les applications de finances et d’opérations sous forme de groupes d’options globaux dans Dataverse. Vous pouvez effectuer la mise en correspondance entre les systèmes à l’aide de la propriété Nom externe des valeurs. La stabilité des valeurs entières enum dans Dataverse n’est pas garantie entre les systèmes. Par conséquent, vous ne devez pas compter dessus, en particulier si des enums extensibles existent dans les applications de finances et d’opérations, car ces enums n’ont pas non plus d’ID stable. Le système met à jour les métadonnées OptionSet lorsqu’un utilisateur met à jour une entité utilisant OptionSet.

Outre les types de données, d’autres éléments permettent de modéliser les entités virtuelles dans Dataverse. Le système traduit les clés d’entité des applications de finances et d’opérations dans l’ID entité de données et le RecID pour créer un identificateur global unique (GUID) pour chaque entité. Chaque clé d’entité dans les applications de finances et d’opérations peut comporter plusieurs champs de différents types de données, où Dataverse nécessite une chaîne de chaque champ. Par conséquent, dans la traduction et la modélisation d’une entité spécifique, le système formate les champs de la clé d’entité dans une chaîne de chaque clé, concaténés par une barre verticale entre eux pour créer une chaîne dans Dataverse.

Cette chaîne ressemblerait à l’exemple suivant : strfmt of entitykey1|strfmt of entitykey2 |strfmt of entitykey3… (longueur maximale de 255 caractères)

Dataverse exige que chaque entité comporte un champ principal ; ce champ est possible à l’aide de la clé d’entité. Il doit s’agir d’un champ unique de type chaîne et vous pouvez l’utiliser dans Dataverse lorsque :

  • Les vues par défaut que vous créez pour une entité comprennent un champ principal.

  • Les vues rapides sur les formulaires d’une entité comprennent le champ principal.

  • les recherches vers une autre entité sont ajoutées à une page et affichent les données du champ principal.

Comme Dataverse utilise le champ principal ainsi, le champ principal d’une entité virtuelle dans les applications de finances et d’opérations utilise également la clé d’entité de l’entité correspondante dans les applications de finances et d’opérations.

Un autre concept où vous devez modéliser les entités de données pour les entités virtuelles est relations, que vous activez dans Dataverse. Dans les applications de finances et d’opérations, vous modélisez les relations sous forme de relations un-à-plusieurs ou plusieurs-à-un. Dans Dataverse, un nom de schéma d’une relation existe et vous le résolvez à l’aide du GUID de l’entité associée. Toutefois, pour convertir les relations d’une relation des applications de finances et d’opérations, le système génère la relation sous forme de chaîne GUID, puis les connecte à l’aide de la clé primaire.

Le système génère les relations lorsqu’il génère l’entité virtuelle. Si d’autres relations sont requises entre les entités virtuelles et les entités natives existant uniquement dans Dataverse, du code X++ supplémentaire sur l’entité des applications de finances et d’opérations est nécessaire pour créer et gérer ces connexions.