Mots-clés du dictionnaire de règles attributaires

Les mots-clés du dictionnaire permettent un comportement avancé des fonctions des règles attributaires, comme le renvoi de messages d’erreur personnalisés avec les instructions conditionnelles ou l’application des fonctions de mise à jour sur des entités d’une autre classe d’entités. Lorsque vous rédigez des expressions ArcGIS Arcade pour des règles attributaires, le type de dictionnaire de renvoi doit utiliser l’un des mots-clés réservés répertoriés ci-dessous. Pour effectuer plusieurs opérations, étendez le dictionnaire avec des mots-clés différents. Pour en savoir plus sur l’utilisation de ces mots-clés du dictionnaire, reportez-vous à la rubrique Exemples d’expressions de script des règles attributaires.

Remarque :

Lorsque vous définissez les paramètres de mots-clés GlobaID ou GlobalID, assurez-vous que la valeur est placée entre des guillemets simples.

result

Fournit une valeur de retour valide. Vous pouvez utiliser le mot-clé result pour renvoyer une valeur et un autre mot-clé du dictionnaire.

return {
    'result': 200
}

errorMessage

Indique un message d’erreur défini par l’utilisateur, correspondant à une erreur survenue pendant l’évaluation. Utilisez le mot-clé errorMessage lorsque vous créez des instructions logiques dans des expressions Arcade pour le renvoi de messages d’erreur personnalisés. Ce mot-clé ne peut pas être renvoyé dans un dictionnaire avec un autre mot-clé. Étudiez un exemple illustrant comment renvoyer un message d’erreur personnalisé.

return {
    "errorMessage": "Error message text"
}

calculationRequired

Marque d’autres entités comme nécessitant une évaluation des règles de calcul par lots. Lorsque ce mot-clé est utilisé, il convient de modifier l’attribut Validation Status (Statut de validation) pour que la ou les entités correspondantes soient marquées comme nécessitant un calcul. Ce mot-clé ne peut être utilisé qu’avec des règles de calcul, sous réserve que l’option Exclude from application evaluation (Exclure de l’évaluation de l’application) soit définie sur true (vrai). Consultez un exemple illustrant la façon de marquer d’autres entités pour évaluation.

Paramètre de mot-cléDescription

className

(obligatoire) Nom de la table ou de la classe d’entités à modifier. La valeur est le nom de la classe d’entités.

objectIDs | globalIDs

(obligatoire) Matrice d’ObjectID ou de GlobalID à modifier. La valeur est une matrice d’ObjectID ou de GlobalID.

return {
    'calculationRequired': [{
        'classname': 'featureclass_name',        'globalIDs': ['{8B421724-32D0-408A-A8EE-CCC2B064D52B}']    }]
}

validationRequired

Marque d’autres entités comme nécessitant une évaluation des règles de validation. Lorsque ce mot-clé est utilisé, il convient de modifier l’attribut Validation Status (Statut de validation) pour que les entités correspondantes soient marquées comme nécessitant une validation. Ce mot-clé ne peut être utilisé qu’avec des règles de calcul, sous réserve que l’option Exclude from application evaluation (Exclure de l’évaluation de l’application) soit définie sur true (vrai). Consultez un exemple illustrant la façon de marquer d’autres entités pour évaluation.

Paramètre de mot-cléDescription

className

(obligatoire) Nom de la table ou de la classe d’entités à modifier. La valeur est le nom de la classe d’entités.

objectIDs | globalIDs

(obligatoire) Matrice d’ObjectID ou de GlobalID à modifier. La valeur est une matrice d’ObjectID ou de GlobalID.

return {
    'validationRequired': [{
        'classname': 'featureclass_name',        'globalIDs': ['{60905A3D-9783-435D-B4C9-AA4ADA59AD32}']    }]
}

edit

Effectue l’insertion, la mise à jour et la suppression des entités dans les classes d’entités spécifiées. Ce mot-clé ne peut être utilisé qu’avec des règles de calcul, sous réserve que l’option Exclude from application evaluation (Exclure de l’évaluation de l’application) soit définie sur true (vrai). Consultez un exemple illustrant la façon de mettre à jour une autre classe d’entités.

Pour un réseau de distribution, le mot-clé edit peut être utilisé pour mettre à jour des associations si vous utilisez le mot-clé associationType dans le dictionnaire edit.

Paramètre de mot-cléDescription

className

(obligatoire) Nom de la table ou de la classe d’entités à modifier. La valeur est le nom de la classe d’entités.

adds | updates | deletes

Type de mise à jour à effectuer. La valeur est une matrice de dictionnaires détaillant les mises à jour de chaque type de mise à jour.

Remarque :

Ne créez pas de script qui effectue des mises à jour récursives. Si un script est configuré pour effectuer une mise à jour qui déclenche ou évalue la règle attributaire, une boucle infinie est créée. Cela génère des résultats indésirables.

adds

Mot-clé à utiliser dans le dictionnaire de mise à jour pour effectuer des insertions dans une table ou une classe d’entités indiquée.

Paramètre de mot-cléDescription

attributs

Met à jour les champs spécifiés. La valeur est un dictionnaire de paires nom de champ et attribut.

géométrie

Met à jour la géométrie. La valeur est un objet géométrie.

associationType

Effectue les mises à jour d’association dans un réseau technique. Parmi les valeurs possibles, on compte les suivantes :

  • connecté
  • conteneur
  • contenu
  • structure
  • attached

Voici les autres valeurs possibles pour la version 4 du réseau de distribution et versions ultérieures :

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

La borne d’origine à mettre à jour lorsque la valeur associationType est sur connecté, junctionEdgeFrom ou junctionEdgeTo. La valeur est le nom de la borne.

toTerminal

La borne de destination à mettre à jour lorsque la valeur associationType est sur connecté, junctionEdgeFrom ou junctionEdgeTo. La valeur est le nom de la borne.

isContentVisible

Indique si le contenu est visible pour une association de contenu. La valeur est true (vrai) ou false (faux).

percentAlong

Le pourcentage le long d’une ligne ou d’un tronçon lors de la mise à jour d’une association dont la valeur associationType est sur midspan. La valeur est un pourcentage compris entre 0 et 1.

return {
    'edit': [{
        'className': 'b_edit_dict',        'adds': [{
            'attributes': {
                'field_name': 11            },            'geometry': Geometry({
                'x': -76.8375008,                'y': 39.4949383,                'spatialReference': {
                    'wkid': 4326                }
            })        }]    }]
}
"edit": [{
    "className": "ElectricDistributionJunctionObject",    "adds": [{
        "percentAlong": 0.5,        "associationType": 'midspan'    }]
}]
}
return {
    "edit": [{
        "className": "ElectricDistributionJunctionObject",        "adds": [{
            "attributes": {
                "assetgroup": 3,                "assettype": 1            },            "toTerminal": "Load",            "associationType": "junctionEdgeFrom"
        }]    }]
}

mises à jour

Mot-clé à utiliser dans le dictionnaire de mise à jour pour effectuer des mises à jour dans une table ou une classe d’entités indiquée.

Paramètre de mot-cléDescription

objectID | globalID

(obligatoire) Valeur d’ObjectID ou de GlobalID d’une entité à mettre à jour. La valeur est un ObjectID ou un GlobalID.

attributs

Met à jour les champs spécifiés. La valeur est un dictionnaire de paires nom de champ et attribut.

géométrie

Met à jour la géométrie. La valeur est un objet géométrie.

associationType

Effectue les mises à jour d’association dans un réseau technique. Parmi les valeurs possibles, on compte les suivantes :

  • connecté
  • conteneur
  • contenu
  • structure
  • attached

Voici les autres valeurs possibles pour la version 4 du réseau de distribution et versions ultérieures :

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

La borne d’origine à mettre à jour lorsque la valeur associationType est sur connecté, junctionEdgeFrom ou junctionEdgeTo. La valeur est le nom de la borne.

toTerminal

La borne de destination à mettre à jour lorsque la valeur associationType est sur connecté, junctionEdgeFrom ou junctionEdgeTo. La valeur est le nom de la borne.

isContentVisible

Indique si le contenu est visible pour une association de contenu. La valeur est true (vrai) ou false (faux).

percentAlong

Le pourcentage le long d’une ligne ou d’un tronçon lors de la mise à jour d’une association dont la valeur associationType est sur midspan. La valeur est un pourcentage compris entre 0 et 1.

return {
    'edit': [{
        'className': 'b_edit_dict',        'updates': [{
            'globalID': '{7EBAB596-E9DB-40D8-9756-B2EBED2500B7}',            'attributes': {
                'field_name': 22            }
        }]    }]
}
return {
    "result": $feature.assetid,    "edit": [{
        "className": "electricdistributionassembly",        "updates": [{
            "objectID": feature_objectid,            "associationType": 'container'        }]    }]
}

deletes

Mot-clé à utiliser dans le dictionnaire de mise à jour pour des suppressions d’entités spécifiées dans une table ou une classe d’entités.

Paramètre de mot-cléDescription

objectID | globalID

(obligatoire) Valeur d’ObjectID ou de GlobalID d’une entité à mettre à jour. La valeur est un ObjectID ou un GlobalID.

return {
    'edit': [{
        'className': 'b_edit_dict',          'deletes': [{
            'objectID': 22        }]    }]
}