Ajouter un champ à la validation du catalogue de services
Rversion finale: Yokohama
Mis à jour 30 janv. 2025
2 minutes de lecture
Ceci est un exemple d’ajout d’un champ Société au paiement sous le champ Demandé pour à l’aide de macros de mise en page autres que celles du panier, c’est-à-dire glide.sc.use_cart_layoutsest 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 fait les hypothèses suivantes.
Cet exemple concerne une instance utilisant la validation en deux étapes. Si la validation de l’achat en deux étapes n’est pas activée, activez-la avant de commencer.
Cet exemple renseigne le champ Société sur le formulaire de demande de Catalogue de services. 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 masqué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 > 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é sur la demande est entreprise. Si différents champs sont utilisés :
Trouvez cette ligne : var company = gel('core_company') ; et remplacez core_company par le nom du champ à la caisse.
Dans la ligne commençant 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 de l’entreprise apparaît sur le formulaire Catalogue :