Ajouter un champ à la validation du catalogue de services
Rversion finale: Washingtondc
Mis à jour 1 févr. 2024
2 minutes de lecture
Il s’agit d’un exemple d’ajout d’un champ Société à la validation sous le champ Demandé pour à l’aide de macros de disposition autres que le panier, c’est-à-dire qu’il glide.sc.use_cart_layouts est faux.
Avant de commencer
Rôle requis : admin
Pourquoi et quand exécuter cette tâche
Figure 1. Demandé pour le champ
Ce champ transmettra ensuite la valeur de ce champ au champ Société de la demande de Catalogue de services.
Cet exemple repose sur les hypothèses suivantes.
Cet exemple concerne une instance utilisant la validation en deux étapes. Si la validation en deux étapes n’est pas activée, activez-la avant de commencer.
Cet exemple remplit le champ Société du formulaire de demande de Service Catalog. Si le champ n’apparaît pas sur le formulaire, configurez le formulaire avant de commencer.
Procédure
Accédez à Interface utilisateur du système > Macros d’interface utilisateur et sélectionnez servicecatalog_cart_template.
Recherchez où il y a des variables cachées déclarées et ajoutez la ligne suivante :
La macro 'ui_reference' définit un champ de référence. Il existe plusieurs macros pour différents types de champs. Vous pouvez voir des exemples de ces types de champs sous Interface utilisateur du système > Macros d’interface utilisateur. Ces macros commencent par « ui_ ». Pour cet exemple, le champ de référence créé est nommé core_company.
Accédez maintenant à l’interface utilisateur du système > aux pages de l’interface utilisateur et sélectionnez la page de l’interface utilisateur servicecatalog_checkout_one .
Ajoutez le script suivant au champ Script client .
function setCartValue() {
var newField = gel('core_company');
var myCart = gel('cart_id');
var cart_item = new GlideRecord('sc_cart_item');
cart_item.addQuery('cart', myCart.value);
cart_item.query();
if(cart_item.next()) {
cart_item.hints = "<hints><entry key='sysparm_processing_hint' value='setfield:request.company=" + newField.value + "'/></hints>";
cart_item.update();
}
}
Pour cet exemple, le champ de référence a été appelé core_company et le champ renseigné dans la demande est company. Si d’autres champs sont utilisés :
Recherchez cette ligne : var company = gel('core_company') ; et remplacez core_company par le nom du champ lors de la validation.
Dans la ligne qui commence par « cart_item.hints », remplacez « request.company » par le nom du champ à renseigner sur le ticket de demande où « request » est la demande générée et « company » est le nom du champ.
Résultats
Lorsqu’un élément est commandé, le champ Société s’affiche sur le formulaire Catalogue :