Politique d’interface utilisateur API : ServiceNow Fluent

  • Rversion finale: Zurich
  • Mis à jour 19 déc. 2025
  • 8 minutes de lecture
  • L’API de politique d’interface utilisateur définit des politiques d’interface utilisateur [sys_ui_policy] qui modifient dynamiquement le comportement des informations sur un formulaire et contrôlent les flux de processus personnalisés pour les tâches.

    Les politiques d’interface utilisateur peuvent rendre les champs obligatoires, en lecture seule, visibles, masqués ou effacés lorsque certaines conditions sont remplies. Vous pouvez également utiliser des scripts clients pour effectuer toutes ces actions, mais pour des temps de chargement plus rapides, utilisez des politiques d’interface utilisateur lorsque cela est possible.

    Pour obtenir des informations générales sur les politiques d’interface utilisateur, reportez-vous à la section Using UI policies.

    Objet UiPolicy

    Créez un sys_ui_policy de politique d’interface utilisateur pour configurer le comportement des formulaires.

    Tableau 1. Propriétés
    Nom Type Description
    $id Chaîne ou numéro Requis. ID unique pour l’objet de métadonnées. Lorsque vous créez l’application, cet ID est haché en une sys_id unique. Pour en savoir plus, consultez ServiceNow Fluent Constructions linguistiques.

    Format : Now.ID['chaîne' ou numéro]

    Table Chaîne Requis. La table du formulaire à modifier.
    shortDescription Chaîne Requis. Description de la politique et de son objectif.
    actif Booléen Marqueur indiquant si la politique est appliquée au formulaire.

    Par défaut : true

    global Booléen

    Marqueur indiquant si les vues de formulaire auxquelles la politique s’applique. Si vrai, la politique s’applique à toutes les vues de la table. Si la valeur est Faux, la politique est spécifique à la vue de formulaire spécifiée avec la propriété view .

    Par défaut : true

    onLoad Booléen Marqueur indiquant quand la politique s’exécute. Si vrai, la politique s’exécute à chaque chargement d’un formulaire si les conditions sont satisfaites.

    Par défaut : true

    reverseIfFalse Booléen Marqueur indiquant s’il faut inverser le comportement de la politique lorsque la condition est évaluée comme fausse. Si vrai, l’action de politique est annulée lorsque les conditions de sa politique sont évaluées comme fausses.

    Par défaut : true

    héritage Booléen Marqueur indiquant si les tables qui étendent la table actuelle héritent de la politique. Si vrai, les tables étendues héritent de la politique.

    Lorsqu’une table enfant possède une politique héritée de sa table parent, la politique sur la table enfant s’exécute en premier. Cet événement est vrai quel que soit l’ordre des politiques.

    Valeur par défaut : false

    isoler le script Booléen Marqueur indiquant s’il faut exécuter des scripts dans le périmètre isolé. Si vrai, le script s’exécute dans un périmètre isolé. Cette propriété ne s’applique que si runScripts est défini sur true.

    Valeur par défaut : false

    conditions Chaîne Requête de filtre qui spécifie les champs et les valeurs qui doivent être vrais pour que les utilisateurs puissent accéder à l’objet. Pour en savoir plus, consultez Operators available for filters and queries. Pour définir des conditions à l’aide d’un script, utilisez plutôt un script client.

    Les conditions ne sont revérifiées que si un utilisateur modifie manuellement un champ sur un formulaire. Si le changement est effectué par une action d’interface utilisateur, une action de menu contextuel ou via l’éditeur de liste, il n’est pas évalué.

    runScripts Booléen Marqueur indiquant si le comportement avancé peut être scripté pour les conditions vrai et faux. Si vrai, les scripts définis avec les propriétés scriptTrue, scriptFalse, uiType et isolateScript s’exécutent le cas échéant.

    Valeur par défaut : false

    scriptTrue Chaîne Script côté client qui s’exécute si les conditions de la politique sont remplies. Cette propriété est requise si la propriété runScripts est définie sur vrai.

    Format : function onCondition() {}

    Par défaut : fonction onCondition() {\n\n}

    scriptFalse Chaîne Script côté client qui s’exécute si les conditions de la politique ne sont pas remplies et si la propriété reverseIfFalse est définie sur vrai. Cette propriété est requise si la propriété runScripts est définie sur vrai.

    Format : function onCondition() {}

    Par défaut : fonction onCondition() {\n\n}

    uiType Chaîne Type d’interface utilisateur auquel la politique s’applique. Cette propriété est requise si la propriété runScripts est définie sur vrai.
    Valeurs valides :
    • ordinateur de bureau : la politique s’applique aux interfaces de bureau.
    • mobile-or-service-portal : la politique s’applique aux mobiles et Portail de services aux interfaces.
    • all : la politique s’applique à toutes les interfaces.

    Par défaut : ordinateur de bureau

    actions Tableau Une liste des actions de champ à appliquer si les conditions sont remplies. Pour plus d'informations, consultez Tableau d’actions.
    relatedListActions Tableau Liste des contrôles de visibilité pour les listes connexes. Pour plus d'informations, consultez Tableau relatedListActions.
    description Chaîne Informations supplémentaires sur la politique.
    modelId Chaîne Le sys_id de la politique d’interface utilisateur parente à laquelle la politique s’applique lorsque cette politique est héritée. Cette propriété fonctionne conjointement avec model_table propriété.
    modelTable Chaîne Nom de la table parente à laquelle la politique s’applique lorsqu’une politique d’interface utilisateur est héritée d’une table parente. Cette propriété fonctionne conjointement avec la propriété model_id .
    order Numéro Ordre d’exécution dans lequel appliquer les politiques si plusieurs politiques correspondent aux conditions.

    Pour les politiques d’interface utilisateur héritées, les politiques de la table étendue sont exécutées en premier. Ensuite, les politiques de table de base sont exécutées.

    Par défaut : 100

    setValues Chaîne (Déconseillé) Valeurs de champ à définir à l’aide d’un format de chaîne codée. Utilisez plutôt des actions de politique d’interface utilisateur [sys_ui_policy_action].
    vue Référence ou chaîne Requis. Identificateur de variable ou nom de la vue d’interface utilisateur [sys_ui_view] qui s’applique ou de la vue par défaut.

    Pour définir une vue d’interface utilisateur, reportez-vous à la section API d’enregistrement : ServiceNow Fluent.

    Pour utiliser la vue par défaut (default_view), vous devez l’importer :
    import { default_view } from '@servicenow/sdk/core'
    import { UiPolicy } from '@servicenow/sdk/core';
    
    export const securityIncidentPolicy = UiPolicy({
      $id: Now.ID['security_incident_policy'],
      table: 'incident',
      shortDescription: 'Lock critical fields for security incidents',
      active: true,
      onLoad: true,
      conditions: 'category="security"',
      actions: [
        {
          field: 'security_notes',
          mandatory: true,
          visible: true
        },
        {
          field: 'caller_id',
          readOnly: true  // Lock caller field when category is security
        },
        {
          field: 'assignment_group',
          readOnly: true  // Lock assignment group when category is security
        },
        {
          field: 'priority',
          readOnly: true  // Lock priority when category is security
        }
      ],
      relatedListActions: [
        {
          // Using plain GUID for system relationships 
          list: 'b9edf0ca0a0a0b010035de2d6b579a03', // Attachments
          visible: false
        },
        {
          // Using table.field format for reference fields
          list: 'x_snc_17sepapp1_expenseitem.expensereport', // Example reference field
          visible: true
        }
      ]
    })

    Tableau d’actions

    Configurez les actions [sys_ui_policy_action] que la politique d’interface utilisateur effectue sur les champs.

    Utilisez le tableau d’actions dans l’objet UiPolicy . Les actions sont traitées dans l’ordre dans lequel elles apparaissent dans le tableau. Au moins une des propriétés visibles, readOnly, obligatoires ou effacées doit être spécifiée pour chaque action du tableau.

    Tableau 2. Propriétés
    Nom Type Description
    champ Chaîne Requis. Le nom du champ auquel l’action s’applique.
    Remarque :
    Si le champ spécifié est introuvable sur le formulaire, la politique d’interface utilisateur effectue l’action sur la variable portant le même nom.
    visible Booléen ou chaîne Une option permettant de contrôler la visibilité du champ.
    Valeurs valides :
    • true : le champ est visible.
    • false : le champ est masqué.
    • « ignorer » : le champ n’est pas modifié.

    Par défaut : ignorer

    readOnly Booléen ou chaîne Une option de contrôle d’accès pour modifier le champ.
    Valeurs valides :
    • vrai : le champ est en lecture seule.
    • faux : le champ est modifiable.
    • « ignorer » : le champ n’est pas modifié.

    Par défaut : ignorer

    obligatoire Booléen ou chaîne Une option permettant de contrôler si le champ est requis.
    Valeurs valides :
    • vrai : le champ est obligatoire.
    • false : le champ est facultatif.
    • « ignorer » : le champ n’est pas modifié.

    Par défaut : ignorer

    effacé Booléen Marqueur indiquant si le champ doit être effacé si les conditions de la politique sont remplies.

    Valeur par défaut : false

    Table Chaîne Table à laquelle l’action s’applique, qui remplace la table spécifiée par la politique. Si elle est vide, la table spécifiée par la politique s’applique.
    valide Chaîne Valeur permettant de définir le champ si les conditions de politique sont remplies.
    fieldMessage Chaîne Message à afficher sur le champ si les conditions de politique sont remplies.
    fieldMessageType Chaîne Type de message qui détermine la façon dont le message de champ est présenté.
    Valeurs valides :
    • erreur
    • infos
    • avertissement
    • aucun

    Par défaut : aucun

    valueAction Chaîne Une action à effectuer sur la valeur du champ.
    Valeurs valides :
    • set_value
    • clear_value
    • ignorer

    Par défaut : ignorer

    actions: [
            {
                field: 'assignment_group',
                mandatory: true,
                value: 'Critical Response Team', // Set default value
                fieldMessage: 'This incident requires immediate attention from the Critical Response Team',
                fieldMessageType: 'error' // Show as error message
            },
            {
                field: 'urgency',
                value: '1', // Set to High urgency
                fieldMessage: 'Urgency has been automatically set to High',
                fieldMessageType: 'info'
            },
            {
                field: 'impact',
                value: '1', // Set to High impact
                fieldMessage: 'Impact has been automatically set to High',
                fieldMessageType: 'warning'
            }
        ]

    Tableau relatedListActions

    Configurez la visibilité des listes connexes [sys_ui_policy_rl_action] sur un formulaire pour une politique d’interface utilisateur.

    Utilisez le tableau relatedListActions dans l’objet UiPolicy . Les actions de la liste connexe sont traitées dans l’ordre dans lequel elles apparaissent dans le tableau. La liste ou la propriété visible doit être spécifiée pour chaque action de liste connexe dans le tableau.

    Tableau 3. Propriétés
    Nom Type Description
    liste Chaîne Référence à une liste connexe sur le formulaire. Si ce champ est vide, l’action s’applique à toutes les listes connexes. Cette propriété est requise si la propriété visible n’est pas définie.
    Format :
    • sys_ID : le sys_ID de la liste. Utilisez ce format pour les requêtes personnalisées, les pièces jointes et les listes connexes définies par le système.
    • table.field : nom de table et de champ associés pour la liste, tels que « incident.caller_id ». Utilisez ce format pour les relations basées sur les champs de référence.
    visible Booléen ou chaîne Une option permettant de contrôler la visibilité de la liste connexe. Cette propriété est requise si la propriété list n’est pas définie.
    Valeurs valides :
    • true : la liste connexe est visible.
    • false : la liste connexe est masquée.
    • « ignorer » : la liste connexe n’est pas modifiée.

    Par défaut : ignorer

     relatedListActions: [
        {
          // Using plain GUID for system relationships 
          list: 'b9edf0ca0a0a0b010035de2d6b579a03', // Attachments
          visible: false
        },
        {
          // Using table.field format for reference fields
          list: 'x_snc_17sepapp1_expenseitem.expensereport', // Example reference field
          visible: true
        }
      ]