Politique d’interface utilisateur API : ServiceNow Fluent
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.
| 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 : |
| 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 : Par défaut : |
| 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 : Par défaut : |
| 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 :
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 { 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.
| 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 :
Par défaut : ignorer |
| readOnly | Booléen ou chaîne | Une option de contrôle d’accès pour modifier le champ. Valeurs valides :
Par défaut : ignorer |
| obligatoire | Booléen ou chaîne | Une option permettant de contrôler si le champ est requis. Valeurs valides :
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 :
Par défaut : aucun |
| valueAction | Chaîne | Une action à effectuer sur la valeur du champ. Valeurs valides :
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.
| 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 :
|
| 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 :
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
}
]