Calcul et stockage du nom d'un noeud

Vous pouvez définir une expression afin de calculer un nom de noeud pendant une demande, puis stocker cette valeur une fois la demande terminée et fermée.

Le nom calculé peut être basé sur les propriétés du noeud ou sur la position du noeud dans une hiérarchie.

Exemples de cas d'emploi

  • Vous pouvez calculer un nom de noeud en fonction d'un numéro de séquence. Par exemple, vous pouvez concaténer un préfixe tel que "CC_" avec une séquence afin que les noeuds que vous ajoutez soient automatiquement nommés CC_0034, CC_0035, etc.
  • Vous pouvez calculer un nom de noeud en fonction de propriétés. Par exemple, vous pouvez concaténer des propriétés de type de données de noeud personnalisées. Ensuite, lorsque vous définissez les propriétés, le nom de noeud est calculé automatiquement. Ainsi, pour la propriété personnalisée 1 = 120, la propriété personnalisée 2 = 200 et la propriété personnalisée 3 = 340, le nom de noeud 120-200-340 est calculé automatiquement.

    Tip:

    Vous pouvez également configurer des expressions sur la propriété de type de données de noeud pour dériver leurs valeurs de sorte que, si vous ajoutez le nom de noeud 120-200-340 à la place, la valeur de chaque propriété est dérivée et définie sur 120, 200 et 340, respectivement. Reportez-vous à Propriétés dérivées et stockées.

  • Vous pouvez calculer un nom de noeud en fonction d'informations structurelles hiérarchiques, comme les parents, les ancêtres et les semblables. Par exemple, vous pouvez concaténer un nom de parent et la description du noeud.
  • Vous pouvez également utiliser des noms de noeud calculés pour personnaliser le nom par défaut lorsque vous ajoutez un nouveau noeud. Par exemple, lorsqu'un utilisateur ajoute un noeud dans le type de noeud Entité, au lieu de définir le nom par défaut sur "Nouveau noeud Entité", vous pouvez renvoyer le nom calculé "CC_####" et demander aux utilisateurs de fournir manuellement les valeurs appropriées pour ####.

Remarques

  • Vous pouvez calculer un nom de noeud pendant les opérations suivantes :
    • Ajout interactif de noeuds
    • Copie d'un noeud ou modélisation d'après un noeud
    • Chargement de fichiers de demande
    • Synchronisation de noeuds via un abonnement
  • Pendant une action d'ajout dans une demande, le nom du noeud est recalculé à chaque modification du noeud.

    Note:

    Lorsqu'un nom de noeud est calculé en fonction d'une liste de semblables (par exemple, en identifiant le dernier semblable et en y ajoutant 1), sachez que le nom de noeud peut changer si d'autres semblables sont ajoutés à la suite et que le nom d'origine est mis à jour.

    De plus, selon le contexte de la demande, l'utilisation de l'objet node.previousSibling dans une expression pour calculer les noms de noeud peut avoir des résultats inattendus. Pour un résultat optimal, utilisez plutôt node.siblings.max.

  • Lors de l'affichage d'un nom de noeud calculé dans une demande :
    • Si l'expression de nom de noeud renvoie une valeur, celle-ci est affichée avec l'origine Dérivé et stocké.
    • Si l'expression renvoie une valeur NULL, le mot-clé de nom calculé <cn ####> (où #### est un hachage de l'horodatage créé de l'élément de demande) est affiché. Reportez-vous à la section Présentation des mots-clés de nom calculé.
  • Une fois une demande terminée et fermée, le nom de noeud calculé est stocké et l'origine indiquée est Dérivé et stocké.
  • Vous pouvez remplacer le nom de noeud par saisie manuelle. L'origine indique alors Défini.
  • Pour les noeuds ajoutés dans une demande, utilisez l'action Effacer pour effacer un nom saisi manuellement et revenir au nom calculé, et utilisez l'action Réinitialiser pour définir l'emplacement en cours en tant qu'emplacement principal (reportez-vous à la section Présentation des emplacements principaux) et recalculer le nom de noeud en fonction de l'expression. Reportez-vous à la section Effacement et réinitialisation d'une valeur calculée.
  • Les validations exécutées dans le contexte d'une demande qui contient des noms de noeud calculés utilisent le nom calculé actuel. Cela signifie, par exemple, que si l'expression renvoie actuellement une valeur NULL, le nom de noeud pour la validation est "<cn ####>".
  • Lors de la recherche de noeuds dans une demande, le nom actuel dans l'action d'ajout est utilisé pour les nouveaux noeuds aux noms calculés. Cela signifie, par exemple, que si l'expression renvoie actuellement une valeur NULL, vous pouvez rechercher "<cn ####>" dans le nom de noeud.
  • Lors du chargement de fichiers de demande, utilisez le mot-clé <cn> ou <cn ####> dans la colonne Nom d'un fichier de chargement de demande (où une expression est configurée pour la propriété Core.Name) ou laissez cette colonne vide afin de calculer la valeur de ce nom de noeud. Reportez-vous à la section Traitement de fichier de demande avec des noms calculés.

Définition d'une propriété calculée et stockée

  1. Inspectez une définition de propriété Core.Name.
  2. Sélectionnez l'application ou le type de noeud pour lequel calculer le nom de noeud.
  3. Dans Type par défaut, sélectionnez Calcul et stockage.
  4. Dans Valeur par défaut, cliquez sur le bouton Expression définir une expression.
  5. Définissez une expression pour calculer le nom de noeud, puis cliquez sur Appliquer. Reportez-vous à la section Utilisation d'expressions pour définir une logique métier personnalisée.
  6. (Facultatif) Sélectionnez Renommer lors de la mise à jour pour indiquer que la valeur de nom du noeud doit être recalculée et stockée chaque fois qu'une action de demande est effectuée directement sur le noeud. La valeur de nom recalculée est stockée une fois la demande terminée et fermée.

    Note:

    La valeur du nom n'est recalculée que si une action de demande est effectuée sur le noeud lui-même. Si la logique de calcul inclut des éléments externes au noeud (par exemple, les ancêtres du noeud) et que ceux-ci sont modifiés, le nom n'est pas recalculé automatiquement. Vous devez effectuer une action d'effacement sur le nom pour recalculer et stocker la nouvelle valeur de nom.

    La valeur de nom de la propriété n'est pas non plus recalculée et stockée si l'option Verrouiller lors de la validation est activée pour la propriété. Reportez-vous à la section Présentation des paramètres de type de données de propriété.

Présentation des emplacements principaux

Si vous ajoutez un noeud, puis que vous insérez ce noeud à plusieurs autres emplacements, en interne, le système désigne le premier emplacement dans une hiérarchie où le noeud est ajouté en tant qu'emplacement principal et l'utilise pour calculer le nom de noeud. Tous les emplacements suivants auxquels le noeud est inséré vont utiliser le nom calculé du premier emplacement.

Note:

Si le premier emplacement auquel le noeud est ajouté se trouve dans une liste, l'emplacement principal est défini à sa première insertion dans une hiérarchie.

Par exemple, supposons que vous disposiez d'une expression qui a calculé le nom de noeud en concaténant le nom du parent du noeud et une propriété sur le noeud (ici, cette propriété a la valeur ABC). Lorsque vous ajoutez le noeud sous le parent 111, le nom calculé est 111-ABC. Si vous insérez ensuite le noeud sous le parent 222, le nom reste 111-ABC car 111 est l'emplacement principal.

Vous pouvez modifier l'emplacement principal d'un noeud de plusieurs manières :

  • Si vous déplacez un noeud dans la demande à partir de son emplacement principal, le nouvel emplacement devient l'emplacement principal et le nom est recalculé.

  • Si vous enlevez le noeud de l'emplacement principal pendant la demande, son emplacement d'insertion suivant devient l'emplacement principal.

  • Si un noeud est présent à plusieurs emplacements et que vous voulez modifier manuellement celui qui est l'emplacement principal, utilisez l'action Réinitialiser. Reportez-vous à la section Effacement et réinitialisation d'une valeur calculée.

Effacement et réinitialisation d'une valeur calculée

Utilisez l'action Effacer pour effacer un nom défini manuellement et revenir au nom calculé. L'action d'effacement est disponible uniquement pour les noeuds qui ont été ajoutés dans la demande avec le type par défaut Calcul et stockage et dont le nom a été saisi manuellement.

Utilisez l'action Réinitialiser afin de définir l'emplacement principal pour le nom calculé sur l'emplacement en cours (reportez-vous à la section Présentation des emplacements principaux) et de recalculer le nom de noeud en fonction de l'emplacement en cours. L'action de réinitialisation est disponible uniquement pour les noeuds qui ont été ajoutés dans la demande avec le type par défaut Calcul et stockage et dont le nom n'a pas été saisi manuellement.

Vous pouvez également utiliser la réinitialisation pour recalculer un nom de noeud si vous avez effectué une action en dehors du noeud qui va avoir une incidence sur son nom (par exemple, si vous modifiez une propriété de parent et que vous voulez recalculer le nom de noeud en fonction de la nouvelle propriété).

Validations et noms de noeud calculés

Lorsqu'une demande est validée, le nom actuel dans l'action d'ajout est utilisé pour les nouveaux noeuds avec des noms calculés, à une exception près : si le nom actuel est l'un des mots-clés (<cn> ou <cn ####>), les validations de longueur minimale et maximale sont ignorées. Cela permet à un émetteur de soumettre une demande dont le nom contient l'un des mots-clés afin qu'un approbateur ou un enrichisseur puisse ajouter les informations requises pour calculer le nom.

Les validations de longueur minimale et maximale sont exécutées lorsque les demandes sont approuvées ou validées.

Noms calculés et abonnements

Lorsque vous configurez un abonnement avec un nom calculé, le nom est calculé dans le point de vue source et le nom obtenu est transmis dans les demandes d'abonnement aux points de vue cible. Si vous voulez que le nom de noeud soit calculé dans le point de vue cible, vous devez configurer une transformation de propriété dans le convertisseur de type de noeud pour l'abonnement (reportez-vous à la section Utilisation de convertisseurs de type de noeud) afin de transformer le nom en valeur vide ou en l'un des mots-clés de nom calculé (<cn> pour les ajouts ou <cn ####>, où #### est une chaîne d'identificateur unique, pour les ajouts avec des insertions). Reportez-vous à la section Présentation des mots-clés de nom calculé.

Note:

Si un nom alternatif est disponible et que vous voulez l'utiliser, transformez le nom en valeur vide. Si vous voulez toujours utiliser le nom calculé dans le point de vue cible, transformez le nom en l'un des mots-clés.