Catalogue de services API : ServiceNow Fluent
L’API Catalogue de services définit les éléments de catalogue [sc_cat_item], les créateurs d’enregistrements [sc_cat_item_producer] et les aspects connexes des catalogues de services.
Pour des informations générales sur les catalogues de services, reportez-vous à la section Service Catalog.
Objet CatalogItem
Créez un élément de catalogue [sc_cat_item] que les utilisateurs peuvent demander à partir d’un catalogue de services.
Un élément de catalogue doit faire référence à un flux, un workflow ou un plan d’exécution qui définit la façon dont la demande d’élément est satisfaite.
| 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 : |
| nom | Chaîne | Requis. Nom donné à l’élément qui s’affiche dans le catalogue. |
| actif | Booléen | Marqueur indiquant si l’élément est actif et disponible pour être commandé. Par défaut : true |
| disponibilité | Chaîne | Type d’appareil sur lequel l’élément s’affiche. Valeurs valides :
Par défaut : desktopOnly |
| checkedOut | Booléen | Marqueur indiquant si l’élément a été extrait pour modification. Valeur par défaut : false |
| description | Chaîne | Description détaillée de l’élément qui s’affiche dans le catalogue lorsqu’un utilisateur sélectionne l’élément ou le lien d’aperçu associé. Vous pouvez intégrer des vidéos, des images, des liens vers des articles de la base de connaissances interne et des liens vers des sources externes d’informations et de documentation d’instructions. |
| métadonnées | Tableau | Une liste de balises de métadonnées utilisées pour faciliter les recherches liées à l’élément. Remarque : La propriété meta n’est utilisée que pour l’indexation de texte Zing et les moteurs de recherche et non pour Recherche IA. |
| modèle | Référence ou chaîne | L’identificateur de variable ou sys_id d’un modèle de produit [cmdb_model] associé à l’élément. Pour définir un modèle de produit, utilisez le fichier API d’enregistrement : ServiceNow Fluent. |
| order | Numéro | Ordre dans lequel l’élément apparaît dans sa catégorie. Par défaut : 0 |
| propriétaire | Référence ou chaîne | Identificateur de variable ou sys_id d’un utilisateur [sys_user] qui possède l’élément et y a accès en modification. Pour définir un utilisateur, utilisez l’option API d’enregistrement : ServiceNow Fluent. |
| roles | Tableau | Liste des identificateurs de variables des objets de rôle ou des sys_ids de rôles [sys_user_role] pouvant accéder à l’élément. Pour plus d’informations, reportez-vous à .API du rôle : ServiceNow Fluent |
| shortDescription | Chaîne | Description brève de l’élément qui apparaît sur la page d’accueil du catalogue, dans les résultats de recherche et dans la barre de titre du formulaire de commande. |
| showVariableHelpOnLoad | Booléen | Marqueur indiquant si l’élément affiche le texte d’aide des variables par défaut. Valeur par défaut : false |
| startClosed | Booléen | Marqueur indiquant si l’élément doit démarrer dans un état réduit. Valeur par défaut : false |
| État | Chaîne | État de publication de l’élément, tel que brouillon ou publié. |
| variables | Objet | Les définitions de variables de l’élément qui fournissent des options pour le demander. Chaque type de variable a une fonction spécifique. Par exemple :Pour des informations générales sur les variables de catalogue, reportez-vous à la section Service catalog variables. |
| version | Numéro | Une version de l’élément. Par défaut : 1 |
| image | Chaîne | Déconseillé. Image montrant l’élément. |
| icône | Chaîne | Fichier image qui s’affiche sous la forme d’une icône en regard du nom de l’élément dans le catalogue. Utilisez une image de 27x27 pixels. Si aucune image n’est chargée, l’icône par défaut s’affiche. |
| image | Chaîne | Fichier image à afficher en tant qu’image de l’élément. |
| mobilePicture | Chaîne | Image à afficher en tant qu’image de l’élément sur les équipements mobiles. Cette propriété s’applique uniquement si la valeur de mobilePictureType est |
| mobileType d’image | Chaîne | Type d’image à afficher pour l’élément sur les équipements mobiles. Valeurs valides :
Valeur par défaut : desktopPicture |
| hideAddToCart | Booléen | Marqueur indiquant s’il faut masquer le bouton Ajouter au panier . Valeur par défaut : false |
| hideAddToWishList | Booléen | Marqueur indiquant s’il faut masquer le bouton Ajouter à la liste de souhaits . Valeur par défaut : false |
| hideDeliveryTime | Booléen | Marqueur indiquant s’il faut masquer le délai de livraison. Valeur par défaut : false |
| hideQuantitySelector | Booléen | Marqueur indiquant s’il faut masquer le champ Quantité . Valeur par défaut : false |
| hideSaveAsDraft | Booléen | Marqueur indiquant s’il faut masquer le bouton Enregistrer comme brouillon . Valeur par défaut : false |
| hideSP | Booléen | Marqueur indiquant s’il faut masquer ou non un élément sur Portail de services. Valeur par défaut : false |
| Pièce jointe obligatoire | Booléen | Marqueur indiquant s’il faut exiger l’ajout d’une pièce jointe pour soumettre une demande. Valeur par défaut : false |
| hideAttachment | Booléen | Marqueur indiquant s’il faut masquer la section des pièces jointes et ne pas prendre en charge l’ajout de pièces jointes. Valeur par défaut : false |
| assignedTopics | Tableau | Liste des sys_ids des rubriques de taxonomie existantes qui contrôlent la visibilité de l’élément dans le Centre des employés portail. Pour plus d'informations, consultez Associate a catalog item with a taxonomy topic in Employee Center. Remarque : cette propriété est disponible uniquement lorsque le module d’extension Employee Experience Taxonomy (sn_ect) est actif. |
| availableFor | Tableau | Liste des sys_ids de critères d’utilisateur [user_criteria] qui définissent qui peut accéder à l’élément. |
| notAvailableFor | Tableau | Liste des sys_ids de critères d’utilisateur [user_criteria] qui définissent qui ne peut pas accéder à l’élément. Cette propriété remplace la propriété availableFor . |
| Jeux de variables | Tableau | Liste des identificateurs de variables des objets VariableSet ou sys_ids de jeux de variables [item_option_new_set] à joindre à l’élément. Pour plus d'informations, consultez Objet VariableSet. Format : |
| Flux | Référence ou chaîne | Identificateur de variable d’un objet de flux ou sys_id d’un flux [sys_hub_flow] qui définit la façon dont la demande est satisfaite. Pour définir un flux, utilisez le fichier API de flux : ServiceNow Fluent. Remarque : Vous devez utiliser les flux comme méthode d’exécution pour les éléments de catalogue. Lorsque le flux, le workflow et le plan d’exécution sont tous spécifiés, le système utilise le flux. |
| executionPlan | Référence ou chaîne | Identificateur ou sys_id de variable d’un plan d’exécution [sc_cat_item_delivery_plan] qui définit le mode de satisfaction de la demande. Pour définir un plan d’exécution, utilisez le fichier API d’enregistrement : ServiceNow Fluent. |
| workflow | Chaîne | La sys_id d’un workflow hérité [wf_workflow] qui définit le mode de traitement de la demande d’élément. Utilisez la propriété Flow pour les nouvelles implémentations. |
| accessType | Chaîne | Accès utilisateur requis pour demander l’élément. Valeurs valides :
Remarque : Cette fonctionnalité est uniquement applicable lorsque l’élément comporte une variable Demandé pour. Par défaut : restreint |
| Emplacement | Référence ou chaîne | Identificateur ou sys_id variable d’un emplacement [cmn_location] où l’élément est fourni. Pour définir un emplacement, utilisez le fichier API d’enregistrement : ServiceNow Fluent. |
| vendor | Référence ou chaîne | L’identificateur de variable ou sys_id d’un fournisseur associé à l’élément. Pour définir un fournisseur, utilisez le fichier API d’enregistrement : ServiceNow Fluent. |
| livraisonPlanScript | Script | Déconseillé. Utilisez plutôt la propriété executionPlan . |
| délai de livraison | Objet | Délai estimé de livraison de l’élément. Format : |
| script de droit | Script | Script qui définit le droit pour l’élément. |
| makeItemNonConversational | Booléen | Marqueur indiquant s’il faut empêcher la possibilité de demander l’élément à partir d’une expérience conversationnelle telle que Agent virtuel. Si vrai, l’élément peut être demandé à partir d’une expérience conversationnelle. Valeur par défaut : false |
| visibleBundle | Booléen | Marqueur indiquant si l’élément est visible dans les lots enregistrés. Par défaut : true |
| visibleGuide | Booléen | Marqueur indiquant si l’élément est visible dans les guides de commande. Par défaut : true |
| visibleAutonome | Booléen | Marqueur indiquant si la vue autonome est visible. Par défaut : true |
| fulfillmentAutomationLevel | Chaîne | Niveau d’automatisation de l’exécution des demandes. Valeurs valides :
|
| fulfillmentGroup | Référence ou chaîne | Identificateur de variable ou sys_id du groupe [sys_user_group] responsable de la livraison de l’élément. Pour définir un groupe d’utilisateurs, utilisez le fichier API d’enregistrement : ServiceNow Fluent. |
| Catalogues | Tableau | Liste des sys_ids des catalogues [sc_catalog] dans lesquels l’élément apparaît. |
| Catégories | Tableau | Liste des sys_ids des catégories [sc_category] auxquelles l’élément appartient. Un catalogue doit être spécifié dans la propriété catalogs (catalogues ) pour que des catégories puissent être affectées. Dans Portail de services, les recherches de catalogue permettent de trouver uniquement les éléments affectés à une catégorie. Dans Centre des employés, les recherches de catalogue ne trouvent que les éléments associés à une rubrique de taxonomie. Pour plus d'informations, consultez Associate a catalog item with a taxonomy topic in Employee Center. |
| Coût | Numéro | Nombre indiquant le coût ponctuel de l’élément. Par défaut : 0 |
| displayPriceProperty | Chaîne | Propriété système qui contrôle l’affichage du prix de l’élément. |
| ignorePrice | Booléen | Marqueur indiquant s’il faut masquer le prix de l’élément dans le panier et dans la liste du catalogue. Par défaut : true |
| mobileHidePrix | Booléen | Marqueur indiquant s’il faut masquer le prix de l’élément sur les équipements mobiles. Valeur par défaut : false |
| omitPrice | Booléen | Marqueur indiquant s’il faut omettre entièrement le prix de toutes les vues de l’élément. Valeur par défaut : false |
| facturable | Booléen | Marqueur indiquant si l’élément est facturable. Valeur par défaut : false |
| pricingDetails (Détails sur la tarification | Tableau | Liste des entrées de tarification pour l’élément. Valeurs valides :
Format : |
| recurringFrequency | Chaîne | Intervalle de temps pendant lequel le prix récurrent se répète, par exemple mensuellement ou annuellement. Cette propriété est requise lorsque pricingDetails contient une entrée |
| requestMethod | Chaîne | Étiquette du bouton de soumission et de l’expérience de soumission de commande. Valeurs valides :
Par défaut : commande |
| panier personnalisé | Référence ou chaîne | L’identificateur de variable ou sys_id d’une macro d’interface utilisateur personnalisée à utiliser pour le rendu du panier. Pour définir un panier personnalisé, utilisez le .API d’enregistrement : ServiceNow Fluent |
| useScLayout | Booléen | Marqueur indiquant si l’élément utilise la mise en page pour l’affichage Catalogue de services . Par défaut : true |
| noCart | Booléen | Déconseillé. Marqueur indiquant s’il faut masquer le panier d’achat. Valeur par défaut : false |
| noOrder | Booléen | Déconseillé. Marqueur indiquant s’il faut masquer l’option Commande . Valeur par défaut : false |
| noOrderNow | Booléen | Déconseillé. Marqueur indiquant s’il faut masquer l’option Commander maintenant . Valeur par défaut : false |
| noProceedCheckout | Booléen | Déconseillé. Marqueur indiquant s’il faut masquer ou non le processus de validation. Valeur par défaut : false |
| noQuantity | Booléen | Déconseillé. Marqueur indiquant s’il faut masquer le champ Quantité . Valeur par défaut : false |
| noSearch | Booléen | Déconseillé. Marqueur indiquant s’il faut masquer la recherche. Valeur par défaut : false |
| $meta | Objet | Métadonnées pour les métadonnées de l’application. Avec la propriété installMethod , vous pouvez mapper les métadonnées d’application à un répertoire de sortie qui ne se charge que dans des circonstances spécifiques. Valeurs valides pour installMethod :
|
import { CatalogItem } from "@servicenow/sdk/core";
export const softwareLicenseRequest = CatalogItem({
$id: Now.ID["software_license_request"],
name: "Software License Request",
shortDescription: "Request a software license",
catalogs: [serviceCatalog],
categories: [softwareCategory],
// Attach reusable variable sets
variableSets: [
{ variableSet: contactInfoSet, order: 100 },
{ variableSet: approvalInfoSet, order: 200 }
],
// Item-specific variables
variables: {
software_name: SingleLineTextVariable({
question: "Software Name",
mandatory: true,
order: 100
}),
license_type: SelectBoxVariable({
question: "License Type",
choices: {
individual: { label: "Individual", sequence: 1 },
team: { label: "Team (5 seats)", sequence: 2 },
enterprise: { label: "Enterprise (unlimited)", sequence: 3 }
},
mandatory: true,
order: 200
}),
number_of_licenses: SingleLineTextVariable({
question: "Number of Licenses",
defaultValue: "1",
order: 300
}),
justification: MultiLineTextVariable({
question: "Business Justification",
mandatory: true,
order: 400
})
},
// Pricing with recurring charges
pricingDetails: [
{ amount: 0, currencyType: "USD", field: "price" },
{ amount: 99, currencyType: "USD", field: "recurring_price" }
],
recurringFrequency: "monthly",
flow: "523da512c611228900811a37c97c2014",
deliveryTime: { days: 3, hours: 0 }
})
Objet CatalogItemRecordProducer
Créez un créateur d’enregistrement [sc_cat_item_producer] pour permettre aux utilisateurs de créer des enregistrements basés sur des tâches, tels que des enregistrements d’incidents ou de demandes de changement, à partir du catalogue de services.
Vous pouvez créer un créateur d’enregistrement pour les tables et les vues de base de données qui sont dans le même champ d’application que le créateur d’enregistrement. Vous pouvez également créer un créateur d’enregistrement pour les tables qui autorisent l’accès de création à partir d’applications situées dans d’autres périmètres.
| 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 | Référence ou chaîne | Requis. Identificateur de variable d’un objet de table ou nom d’une table dans laquelle le créateur d’enregistrement crée des enregistrements, tels qu’incident ou change_request. |
| nom | Chaîne | Requis. Nom donné à l’élément qui s’affiche dans le catalogue. |
| actif | Booléen | Marqueur indiquant si l’élément est actif et disponible pour être commandé. Par défaut : true |
| disponibilité | Chaîne | Type d’appareil sur lequel l’élément s’affiche. Valeurs valides :
Par défaut : desktopOnly |
| checkedOut | Booléen | Marqueur indiquant si l’élément a été extrait pour modification. Valeur par défaut : false |
| description | Chaîne | Description détaillée de l’élément qui s’affiche dans le catalogue lorsqu’un utilisateur sélectionne l’élément ou le lien d’aperçu associé. Vous pouvez intégrer des vidéos, des images, des liens vers des articles de la base de connaissances interne et des liens vers des sources externes d’informations et de documentation d’instructions. |
| métadonnées | Tableau | Une liste de balises de métadonnées utilisées pour faciliter les recherches liées à l’élément. Remarque : La propriété meta n’est utilisée que pour l’indexation de texte Zing et les moteurs de recherche et non pour Recherche IA. |
| modèle | Référence ou chaîne | L’identificateur de variable ou sys_id d’un modèle de produit [cmdb_model] associé à l’élément. Pour définir un modèle de produit, utilisez le fichier API d’enregistrement : ServiceNow Fluent. |
| order | Numéro | Ordre dans lequel l’élément apparaît dans sa catégorie. Par défaut : 0 |
| propriétaire | Référence ou chaîne | Identificateur de variable ou sys_id d’un utilisateur [sys_user] qui possède l’élément et y a accès en modification. Pour définir un utilisateur, utilisez l’option API d’enregistrement : ServiceNow Fluent. |
| roles | Tableau | Liste des identificateurs de variables des objets de rôle ou des sys_ids de rôles [sys_user_role] pouvant accéder à l’élément. Pour plus d’informations, reportez-vous à .API du rôle : ServiceNow Fluent |
| shortDescription | Chaîne | Description brève de l’élément qui apparaît sur la page d’accueil du catalogue, dans les résultats de recherche et dans la barre de titre du formulaire de commande. |
| showVariableHelpOnLoad | Booléen | Marqueur indiquant si l’élément affiche le texte d’aide des variables par défaut. Valeur par défaut : false |
| startClosed | Booléen | Marqueur indiquant si l’élément doit démarrer dans un état réduit. Valeur par défaut : false |
| État | Chaîne | État de publication de l’élément, tel que brouillon ou publié. |
| variables | Objet | Les définitions de variables de l’élément qui fournissent des options pour le demander. Chaque type de variable a une fonction spécifique. Par exemple :Pour des informations générales sur les variables de catalogue, reportez-vous à la section Service catalog variables. |
| version | Numéro | Une version de l’élément. Par défaut : 1 |
| 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, utilisez le .API d’enregistrement : ServiceNow Fluent Pour utiliser la vue par défaut ( default_view), vous devez l’importer : |
| icône | Chaîne | Fichier image qui s’affiche sous la forme d’une icône en regard du nom de l’élément dans le catalogue. Utilisez une image de 27x27 pixels. Si aucune image n’est chargée, l’icône par défaut s’affiche. |
| image | Chaîne | Fichier image à afficher en tant qu’image de l’élément. |
| mobilePicture | Chaîne | Image à afficher en tant qu’image de l’élément sur les équipements mobiles. Cette propriété s’applique uniquement si la valeur de mobilePictureType est |
| mobileType d’image | Chaîne | Type d’image à afficher pour l’élément sur les équipements mobiles. Valeurs valides :
Valeur par défaut : desktopPicture |
| assignedTopics | Tableau | Liste des sys_ids des rubriques de taxonomie existantes qui contrôlent la visibilité de l’élément dans le Centre des employés portail. Pour plus d'informations, consultez Associate a catalog item with a taxonomy topic in Employee Center. Remarque : cette propriété est disponible uniquement lorsque le module d’extension Employee Experience Taxonomy (sn_ect) est actif. |
| availableFor | Tableau | Liste des sys_ids de critères d’utilisateur [user_criteria] qui définissent qui peut accéder à l’élément. |
| notAvailableFor | Tableau | Liste des sys_ids de critères d’utilisateur [user_criteria] qui définissent qui ne peut pas accéder à l’élément. Cette propriété remplace la propriété availableFor . |
| Jeux de variables | Tableau | Liste des identificateurs de variables des objets VariableSet ou sys_ids de jeux de variables [item_option_new_set] à joindre à l’élément. Pour plus d'informations, consultez Objet VariableSet. Format : |
| hideAddToCart | Booléen | Marqueur indiquant s’il faut masquer le bouton Ajouter au panier . Valeur par défaut : false |
| hideAddToWishList | Booléen | Marqueur indiquant s’il faut masquer le bouton Ajouter à la liste de souhaits . Valeur par défaut : false |
| hideDeliveryTime | Booléen | Marqueur indiquant s’il faut masquer le délai de livraison. Valeur par défaut : false |
| hideQuantitySelector | Booléen | Marqueur indiquant s’il faut masquer le champ Quantité . Valeur par défaut : false |
| hideSaveAsDraft | Booléen | Marqueur indiquant s’il faut masquer le bouton Enregistrer comme brouillon . Valeur par défaut : false |
| hideSP | Booléen | Marqueur indiquant s’il faut masquer ou non un élément sur Portail de services. Valeur par défaut : false |
| Pièce jointe obligatoire | Booléen | Marqueur indiquant s’il faut exiger l’ajout d’une pièce jointe pour soumettre une demande. Valeur par défaut : false |
| hideAttachment | Booléen | Marqueur indiquant s’il faut masquer la section des pièces jointes et ne pas prendre en charge l’ajout de pièces jointes. Valeur par défaut : false |
| allowEdit | Booléen | Marqueur indiquant si les utilisateurs peuvent modifier l’enregistrement créé après l’avoir soumis. Valeur par défaut : false |
| canCancel | Booléen | Marqueur indiquant s’il faut afficher un bouton Annuler sur le formulaire du créateur d’enregistrement. L’utilisateur peut sélectionner Annuler pour annuler le créateur d’enregistrement et revenir au dernier écran affiché. Valeur par défaut : false |
| postInsertScript | Script | Script côté serveur qui s’exécute après l’insertion de l’enregistrement dans la table associée. Vous pouvez appeler current.update() dans ce script.Remarque : Ce script remplace les valeurs d’enregistrement cible et les valeurs de modèle du créateur d’enregistrement. Cette propriété prend en charge le JavaScript en ligne ou une référence à un autre fichier dans l’application qui contient un script. Format :
Par défaut : |
| URL de redirection | Chaîne | Destination de la redirection après la génération de l’enregistrement. Valeurs valides :
Par défaut : generatedRecord |
| saveOptions | Chaîne | Options de configuration avancées pour enregistrer le créateur d’enregistrement. |
| saveScript | Script | Un script qui s’exécute à chaque étape enregistrer dans le générateur de catalogue. Cette propriété prend en charge le JavaScript en ligne ou une référence à un autre fichier dans l’application qui contient un script. Format :
Par défaut : |
| script | Script | Script côté serveur qui s’exécute avant la création de l’enregistrement. Utilisez ce script pour affecter dynamiquement des valeurs aux champs de l’enregistrement. N’appelez pas current.update() ou current.insert() dans ce script.Cette propriété prend en charge le JavaScript en ligne ou une référence à un autre fichier dans l’application qui contient un script. Format :
Par défaut : |
| image | Chaîne | Déconseillé. Image montrant l’élément. |
| $meta | Objet | Métadonnées pour les métadonnées de l’application. Avec la propriété installMethod , vous pouvez mapper les métadonnées d’application à un répertoire de sortie qui ne se charge que dans des circonstances spécifiques. Valeurs valides pour installMethod :
|
import { CatalogItemRecordProducer } from "@servicenow/sdk/core";
const serviceCatalog = "e0d08b13c3330100c8b837659bba8fb4";
const itServicesCategory = "d258b953c611227a0146101fb1be7c31";
export const comprehensiveIncidentProducer = CatalogItemRecordProducer({
$id: Now.ID["comprehensive_incident_producer"],
name: "Report Incident with Full Configuration",
shortDescription: "Complete incident producer with variables and scripts",
table: "incident",
catalogs: [serviceCatalog],
categories: [itServicesCategory],
variables: {
short_description: SingleLineTextVariable({
question: "Brief Summary",
mandatory: true,
mapToField: true,
field: "short_description",
order: 100
}),
urgency: SelectBoxVariable({
question: "Urgency",
mandatory: true,
mapToField: true,
field: "urgency",
choices: {
"1": { label: "High", sequence: 1 },
"2": { label: "Medium", sequence: 2 },
"3": { label: "Low", sequence: 3 }
},
order: 200
}),
assignment_group: ReferenceVariable({
question: "Assignment Group",
mapToField: true,
field: "assignment_group",
referenceTable: "sys_user_group",
order: 300
})
},
script: Now.include("../../scripts/rp-pre-insert.js"),
postInsertScript: Now.include("../../scripts/rp-post-insert.js"),
redirectUrl: "generatedRecord",
view: "ess",
allowEdit: true
})
Objet CatalogUiPolicy
Configurez une politique d’interface utilisateur de catalogue [catalog_ui_policy] pour contrôler le comportement des variables sur les formulaires d’éléments de catalogue en fonction des conditions.
Les politiques d’interface utilisateur du catalogue peuvent rendre les variables obligatoires, en lecture seule, visibles ou masquées lorsque les conditions spécifiées sont remplies. Pour la validation, les calculs ou les appels asynchrones, utilisez plutôt des scripts clients de catalogue.
| 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 : |
| shortDescription | Chaîne | Requis. Description brève de la politique d’interface utilisateur du catalogue. |
| élément de catalogue | Référence ou chaîne | Requis uniquement si la propriété variableSet n’est pas utilisée. L’identificateur de variable d’un objet CatalogItem ou CatalogItemRecordProducer ou d’un sys_id de l’élément de catalogue [sc_cat_item] ou du créateur d’enregistrement [sc_cat_item_producer] auquel la politique d’interface utilisateur s’applique. Pour plus d'informations, voir Objet CatalogItem ou Objet CatalogItemRecordProducer. |
| Jeu de variables | Référence ou chaîne | Requis uniquement si la propriété catalogItem n’est pas utilisée. Identificateur de variable , objet VariableSet ou sys_id du jeu de variables [item_option_new_set] auquel la politique d’interface utilisateur s’applique. Pour plus d'informations, consultez Objet VariableSet. |
| appliesTo | Chaîne | Périmètre auquel la politique d’interface utilisateur s’applique. Valeurs valides :
Par défaut : élément |
| actif | Booléen | Marqueur indiquant si la politique d’interface utilisateur du catalogue est active. Par défaut : true |
| global | Booléen | Marqueur indiquant sur quelles vues de la table la politique d’interface utilisateur du catalogue s’exécute. Par défaut : true |
| onLoad | Booléen | Marqueur indiquant si la politique d’interface utilisateur du catalogue s’exécute lorsque le formulaire se charge. Si la valeur est définie sur Faux, la politique s’applique uniquement lorsque les valeurs des variables changent. Par défaut : true |
| reverseIfFalse | Booléen | Marqueur indiquant s’il faut inverser les actions de politique d’interface utilisateur lorsque la condition du catalogue est évaluée comme fausse. Par défaut : true |
| héritage | Booléen | Marqueur indiquant si la politique d’interface utilisateur du catalogue est héritée. Valeur par défaut : false |
| isoler le script | Booléen | Marqueur indiquant si les scripts de politique s’exécutent dans un champ d’application isolé. Par défaut : true |
| catalogCondition | Chaîne | Conditions de requête codées basées sur les valeurs variables d’élément de catalogue qui déclenchent la politique d’interface utilisateur. Par exemple : |
| appliesOnCatalogItemView | Booléen | Marqueur indiquant si la politique d’interface utilisateur s’applique aux éléments de catalogue affichés dans l’écran de commande. Cette vue est disponible pour les demandeurs. Par défaut : true |
| appliesOnTargetRecord | Booléen | Marqueur indiquant si la politique d’interface utilisateur s’applique aux enregistrements créés pour les tables étendues à la tâche via les créateurs d’enregistrements. Valeur par défaut : false |
| appliesOnCatalogTasks | Booléen | Marqueur indiquant si la politique d’interface utilisateur s’applique aux formulaires de tâches du catalogue. Cette vue est disponible pour les prestataires. Valeur par défaut : false |
| appliesOnRequestedItems | Booléen | Marqueur indiquant si la politique d’interface utilisateur s’applique aux formulaires d’éléments demandés. Cette vue est disponible pour les prestataires. Valeur par défaut : false |
| runScripts | Booléen | Marqueur indiquant s’il convient d’exécuter les scripts executeIfTrue et executeIfFalse pour cette politique d’interface utilisateur. Utilisez des scripts pour appliquer des comportements au-delà de la lecture seule, des champs obligatoires ou des comportements visibles, comme le ciblage d’un rôle spécifique. Valeur par défaut : false |
| exécuter IfTrue | Chaîne | Un script côté client qui s’exécute lorsque la condition de catalogue est évaluée comme vraie. Le script doit être encapsulé dans une fonction onCondition() {} function. |
| executeIfFalse | Chaîne | Un script côté client qui s’exécute lorsque la condition de catalogue est évaluée sur faux. Le script doit être encapsulé dans une fonction onCondition() {} function. |
| runScriptsInUiType | Chaîne | Type d’interface utilisateur sur lequel les scripts de politique s’exécutent. Valeurs valides :
Par défaut : ordinateur de bureau |
| vaSupported | Booléen | Marqueur indiquant si la politique d’interface utilisateur est prise en charge dans les conversations d’Agent virtuel. Valeur par défaut : false |
| actions | Tableau | Une liste d’actions variables à effectuer lorsque la condition de catalogue est remplie. Pour plus d'informations, consultez Tableau d’actions. |
| $meta | Objet | Métadonnées pour les métadonnées de l’application. Avec la propriété installMethod , vous pouvez mapper les métadonnées d’application à un répertoire de sortie qui ne se charge que dans des circonstances spécifiques. Valeurs valides pour installMethod :
|
import { CatalogUiPolicy } from "@servicenow/sdk/core";
import { hardwareRequestItem } from "./catalog-items/HardwareRequest.now";
export const managerApprovalPolicy = CatalogUiPolicy({
$id: Now.ID["manager_approval_policy"],
shortDescription: "Show manager approval when high priority selected",
catalogItem: hardwareRequestItem,
catalogCondition: `${hardwareRequestItem.variables.priority}=high^EQ`,
actions: [
{
variableName: hardwareRequestItem.variables.manager_approval,
visible: true,
mandatory: true
}
]
})
Tableau d’actions
Configurez les actions de variable [catalog_ui_policy_action] qu’une politique d’interface utilisateur de catalogue exécute sur les variables lorsque ses conditions sont remplies.
Chaque action du tableau spécifie une variable et la propriété change pour s’appliquer à cette variable lorsque la condition de politique d’interface utilisateur est évaluée comme vraie.
| Nom | Type | Description |
|---|---|---|
| variableName | Chaîne | Requis. Variable à laquelle l’action s’applique. |
| visible | Booléen | Marqueur indiquant s’il faut rendre la variable visible. Valeur par défaut : false |
| disabled | Booléen | Marqueur indiquant s’il faut désactiver la variable. Valeur par défaut : false |
| obligatoire | Booléen | Marqueur indiquant si la variable doit être obligatoire. Valeur par défaut : false |
| effacé | Booléen | Marqueur indiquant s’il faut effacer la valeur de la variable lorsque la condition est remplie. Valeur par défaut : false |
| Message variable | Chaîne | Message à afficher sur la variable lorsque la condition est remplie. Cette propriété s’applique uniquement si la propriété variableMessageType a une valeur. |
| variableMessageType | Chaîne | Type de message de champ. Valeurs valides :
|
| valide | Chaîne | La valeur à définir sur la variable lorsque la condition est remplie. Cette propriété s’applique uniquement si la propriété valueAction est définie sur |
| valueAction | Chaîne | Action à entreprendre sur la valeur de la variable lorsque la condition est remplie. Valeurs valides :
|
| order | Numéro | Ordre dans lequel l’action est évaluée par rapport à d’autres actions. Par défaut : 100 |
| readOnly | Booléen | Marqueur indiquant si la variable doit être en lecture seule. Valeur par défaut : false |
actions: [
{
variableName: laptopRequest.variables.justification,
mandatory: true,
variableMessage: "Justification required for urgent requests",
variableMessageType: "info",
order: 100
},
{
variableName: laptopRequest.variables.manager_approval,
visible: true,
mandatory: true,
order: 200
},
{
variableName: laptopRequest.variables.delivery_date,
visible: true,
order: 300
}
]
Objet CatalogClientScript
Configurez un script client de catalogue [catalog_script_client] qui s’exécute côté client pour contrôler le comportement d’un formulaire d’élément de catalogue.
Utilisez les scripts clients du catalogue pour valider l’entrée de l’utilisateur, remplir automatiquement les champs ou afficher des alertes sur les formulaires d’éléments de catalogue. Pour une logique simple afficher/masquer, obligatoire et en lecture seule, utilisez plutôt les politiques d’interface utilisateur de catalogue.
| 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 : |
| nom | Chaîne | Requis. Nom unique pour le script client du catalogue. |
| script | Script | Script côté client à exécuter sur le formulaire d’élément de catalogue. Cette propriété prend en charge le JavaScript en ligne ou une référence à un autre fichier dans l’application qui contient un script. Format :
|
| type | Chaîne | L’événement qui déclenche l’exécution du script client. Valeurs valides :
|
| uiType | Chaîne | Type d’interface utilisateur sur lequel le script client s’exécute. Valeurs valides :
Par défaut : ordinateur de bureau |
| actif | Booléen | Marqueur indiquant si le script client est activé. Par défaut : true |
| appliesTo | Chaîne | Obligatoire si vous utilisez la propriété variableSet . Périmètre auquel le script client du catalogue s’applique. Valeurs valides :
Par défaut : élément |
| élément de catalogue | Référence ou chaîne | Requis uniquement si la propriété variableSet n’est pas utilisée. Identificateur de variable d’un objet CatalogItem ou CatalogItemRecordProducer ou d’un sys_id de l’élément de catalogue [sc_cat_item] ou du créateur d’enregistrement [sc_cat_item_producer] auquel le script client s’applique. Pour plus d'informations, voir Objet CatalogItem ou Objet CatalogItemRecordProducer. |
| Jeu de variables | Référence ou chaîne | Requis uniquement si la propriété catalogItem n’est pas utilisée. Identificateur de variable , objet VariableSet ou sys_id du jeu de variables [item_option_new_set] auquel la politique d’interface utilisateur s’applique. Pour plus d'informations, consultez Objet VariableSet. |
| variableName | Chaîne | Obligatoire si la valeur de la propriété type est onChange. Nom de la variable de catalogue qui déclenche le script lorsque sa valeur change. |
| appliesOnCatalogItemView | Booléen | Marqueur indiquant si le script client s’applique aux éléments de catalogue affichés dans l’écran de commande du catalogue de services. Cette vue est disponible pour les demandeurs. Par défaut : true |
| appliesOnRequestedItems | Booléen | Marqueur indiquant si le script client s’applique aux formulaires d’éléments demandés après la demande de l’élément. Cette vue est disponible pour les prestataires. Valeur par défaut : false |
| appliesOnCatalogTasks | Booléen | Marqueur indiquant si le script client s’applique aux formulaires de tâches du catalogue pour l’élément. Cette vue est disponible pour les prestataires. Valeur par défaut : false |
| appliesOnTargetRecord | Booléen | Marqueur indiquant si le script client s’applique aux enregistrements créés pour les tables étendues à la tâche via les créateurs d’enregistrements. Valeur par défaut : false |
| global | Booléen | Marqueur indiquant si le script client s’exécute dans le champ d’application global. Par défaut : true |
| vaSupported | Booléen | Marqueur indiquant si le script client est pris en charge dans les conversations d’Agent virtuel. Valeur par défaut : false |
| réf. publiée | Chaîne | sys_id d’un élément de catalogue [sc_cat_item] ou d’un créateur d’enregistrement [sc_cat_item_producer] publié que ce script client référence. |
| $meta | Objet | Métadonnées pour les métadonnées de l’application. Avec la propriété installMethod , vous pouvez mapper les métadonnées d’application à un répertoire de sortie qui ne se charge que dans des circonstances spécifiques. Valeurs valides pour installMethod :
|
import { CatalogClientScript } from "@servicenow/sdk/core";
import { laptopRequest } from "../catalog-items/laptop-request.now";
CatalogClientScript({
$id: Now.ID["laptop_onload"],
name: "Laptop Request - OnLoad",
script: Now.include("../../client/laptop-onload.js"),
type: "onLoad",
catalogItem: laptopRequest,
active: true,
appliesOnCatalogItemView: true
});
function onLoad() {
// Set initial field states
g_form.setReadOnly("estimated_cost", true);
g_form.setValue("estimated_cost", "$0");
g_form.setMandatory("justification", true);
}Objet VariableSet
Créez un jeu de variables [item_option_new_set] qui regroupe des variables réutilisables à utiliser sur plusieurs éléments de catalogue et créateurs d’enregistrements.
Les jeux de variables sont des ensembles réutilisables de variables qui peuvent être joints à des éléments de catalogue et à des créateurs d’enregistrements. Les politiques d’interface utilisateur du catalogue et les scripts clients peuvent être limités à un jeu de variables en définissant la propriété appliesTo à définir.
- Les jeux de variables d’un élément de catalogue ne peuvent pas avoir le même nom interne.
- Dans un élément de catalogue, le nom d’une variable ne peut pas être identique au titre ou au nom interne d’un jeu de variables.
- Les scripts clients de catalogue et les scripts de politique d’interface utilisateur de catalogue doivent faire référence au nom interne d’un jeu de variables, et non au titre ou au nom d’affichage.
| 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 : |
| Titre | Chaîne | Requis. Titre d’affichage du jeu de variables. Ce titre s’affiche uniquement si la propriété displayTitle est définie sur vrai. |
| internalName | Chaîne | Nom interne du jeu de variables utilisé pour l’accès programmatique via l’API g_form et les scripts côté serveur. S’il n’est pas fourni, le nom interne est automatiquement généré à partir de la propriété de titre . |
| description | Chaîne | Description du jeu de variables et de son utilisation prévue. |
| type | Chaîne | Type du jeu de variables. Valeurs valides :
Par défaut : singleRow |
| disposition | Chaîne | Disposition en colonnes du jeu de variables. Valeurs valides :
Par défaut : normal |
| order | Numéro | Ordre dans lequel un jeu de variables s’affiche par rapport à d’autres jeux de variables sur le formulaire. Par défaut : 100 |
| displayTitle | Booléen | Marqueur indiquant s’il faut afficher un en-tête de section réductible pour le jeu de variables. Si la valeur est vrai, la valeur de la propriété title s’affiche sous la forme d’un en-tête réductible. Remarque : Les variables de case à cocher sont regroupées sous le titre par défaut Options. Pour utiliser un titre personnalisé, ajoutez une variable Étiquette avec une valeur d’ordre qui la place directement au-dessus des variables de case à cocher. Valeur par défaut : false |
| setAttributes | Chaîne | Attributs de configuration supplémentaires pour le jeu de variables sous forme de chaîne séparée par des virgules, tels que max_rows=10,collapsible=true. Utilisez l’attribut max_rows pour définir le nombre maximal de lignes pour un jeu de variables à plusieurs lignes.Remarque : Les types AttachmentVariable, ContainerVariable, HtmlVariable et CustomVariable ne sont pas pris en charge dans les jeux de variables à plusieurs lignes. |
| readRoles | Tableau | Liste des identificateurs de variables des objets de rôle ou des sys_ids de rôles [sys_user_role] qui peuvent afficher le jeu de variables. Pour plus d’informations, reportez-vous à .API du rôle : ServiceNow Fluent |
| Rôles d’écriture | Tableau | Une liste d’identificateurs de variables d’objets de rôle ou de sys_ids de rôles [sys_user_role] qui peuvent modifier les valeurs variables de l’ensemble. Pour en savoir plus, consultez API du rôle : ServiceNow Fluent. |
| createRoles | Tableau | Une liste d’identificateurs de variables d’objets de rôle ou de sys_ids de rôles [sys_user_role] qui peuvent créer des instances de ligne. Pour en savoir plus, consultez API du rôle : ServiceNow Fluent. Cette propriété s’applique uniquement si la valeur de la propriété type est |
| variables | Objet | Les définitions de variables de l’élément qui fournissent des options pour le demander. Chaque type de variable a une fonction spécifique. Par exemple :Pour des informations générales sur les variables de catalogue, reportez-vous à la section Service catalog variables. |
| nom | Chaîne | Nom facultatif pour une identification supplémentaire du jeu de variables. |
| version | Numéro | Version du jeu de variables. Par défaut : 0 |
| $meta | Objet | Métadonnées pour les métadonnées de l’application. Avec la propriété installMethod , vous pouvez mapper les métadonnées d’application à un répertoire de sortie qui ne se charge que dans des circonstances spécifiques. Valeurs valides pour installMethod :
|
import {
VariableSet,
EmailVariable,
SingleLineTextVariable,
ReferenceVariable
} from "@servicenow/sdk/core";
export const contactInfoSet = VariableSet({
$id: Now.ID["contact_info_set"],
title: "Contact Information",
description: "Standard contact information fields",
type: "singleRow",
layout: "2across",
order: 100,
displayTitle: true,
variables: {
email: EmailVariable({
question: "Email Address",
mandatory: true,
order: 100
}),
phone: SingleLineTextVariable({
question: "Phone Number",
mandatory: true,
order: 200
}),
department: ReferenceVariable({
question: "Department",
referenceTable: "cmn_department",
referenceQualCondition: "active=true",
order: 300
})
}
})