CatalogItemVariableSet : inclus dans l’étendue

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 3 minutes de lecture
  • L’API CatalogItemVariableSet fournit des méthodes qui vous permettent de créer et de modifier des jeux de variables d’éléments de Catalogue de services à l’aide de scripts.

    Cette API s’exécute dans l’espace de noms sn_sc .

    CatalogItemVariableSet : create(Boolean standardUpdate)

    Insère le jeu de variables d’un élément de catalogue défini.

    Tableau 1. Paramètres
    Nom Type Description
    Mise à jour standard Booléen Marqueur indiquant s’il faut activer l’exécution des moteurs et du workflow.
    Valeurs valides :
    • true : activer l’exécution des moteurs et du workflow.
    • false : n’activez pas l’exécution des moteurs et du workflow.
    Tableau 2. Renvoie
    Type Description
    Chaîne Sys_id de l’enregistrement de variable insérée.
    // Given an existing catalog item
    var catItemSysId = "e0d08b13c3330100c8b837659bba8fb4";
    addVariableSets(catItemSysId);
    
    function addVariableSets(catItemSysId) {
      // List of all variable sets to attach
      var myVarSets = [];
    
      // Create variable set
      var myVarSetAttrs = {"name": "Requester details", "order": "100"};
      var myVarSet = new sn_sc.CatalogItemVariableSet();
      myVarSet.setAttributes(myVarSetAttrs);
      var myVarSetId = myVarSet.create(true);
      myVarSets.push(myVarSetId);
    }

    CatalogItemVariableSet : deleteRecord (booléen standardUpdate)

    Supprime un jeu de variables.

    Tableau 3. Paramètres
    Nom Type Description
    Mise à jour standard Booléen Marqueur indiquant s’il faut activer l’exécution des moteurs et du workflow.
    Valeurs valides :
    • true : activer les moteurs et le workflow.
    • faux : n’activez pas les moteurs et le workflow.
    Tableau 4. Renvoie
    Type Description
    nul

    Cet exemple supprime Mon jeu de variables de tous les éléments de catalogue qui l’utilisent, puis supprime Mon jeu de variables.

    // Get the sys_id of the variable set you want to delete
    var vSet = new GlideRecord('item_option_new_set');
    vSet.addEncodedQuery('title=My Variable Set'); // find My Variable Set
    vSet.query();
    if (vSet.next()) {
    
        // first remove the variable set from all catalog items
        var catItemVset = new GlideRecord('io_set_item'); // M2M table linking variable set and catalog item
        catItemVset.addQuery('variable_set', vSet.getUniqueValue); // find all catalog items using My Variable Set
        catItemVset.query();
        while (catItemVset.next()) {
            var vsetM2M = new sn_sc.CatalogItemVariableSetM2M(catItemVset.getUniqueValue()); // io_set_item M2M record sys_id
            vsetM2M.deleteRecord(true); // delete M2M record
        }
    
        // then delete the variable set record
        var varset = new sn_sc.CatalogItemVariableSet(vSet.getUniqueValue()); 
        varset.deleteRecord(true);
    }
    

    CatalogItemVariableSet : lecture (colonnes d’objets, booléen standardUpdate)

    Renvoie un mappage des valeurs d’attributs de jeu de variables d’éléments de catalogue.

    Tableau 5. Paramètres
    Nom Type Description
    colonnes Objet Spécifiez l’ensemble de colonnes pour lesquelles vous souhaitez obtenir les valeurs.
    Mise à jour standard Booléen Marqueur indiquant s’il faut activer l’exécution des moteurs et du workflow.
    Valeurs valides :
    • true : activer les moteurs et le workflow.
    • faux : n’activez pas les moteurs et le workflow.
    Tableau 6. Renvoie
    Type Description
    Objet Un objet mappant les noms de colonnes aux valeurs.

    CatalogItemVariableSet : setAttributes(attributs d’objet)

    Définit les attributs d’un jeu de variables.

    Tableau 7. Paramètres
    Nom Type Description
    attributs Objet Un objet mappant les noms de colonnes aux valeurs.
    Tableau 8. Renvoie
    Type Description
    nul

    Cet exemple crée un jeu de variables, puis ajoute une variable au nouveau jeu.

    createVariableSet('My Variable Set', 'This is my test variable set', '100', 'one_to_one');
    
    function createVariableSet(name, description, order, type) {
        var myVarSet = new sn_sc.CatalogItemVariableSet();
        // fields used in object are from table item_option_new_set
        var myVarSetAttrs = {
            "name": name,
            "description": description,
            "order": order,
            "type": type
        }; 
        myVarSet.setAttributes(myVarSetAttrs);
        var myVarSetId = myVarSet.create(true); // returns the sys_id of the created variable set
        gs.info('Variable set created in table item_option_new_set with sys_id ' + myVarSetId);
    
        // add a variable to the newly created variable set
        var myVar = new sn_sc.CatalogItemVariable();
        var myVarAttrs = {
            "type": "6", // type 6 is single line text
            "variable_set": myVarSetId.toString(), 
            "question_text": "Example question",
            "name": "example_question",
            "order": 200
        };
        myVar.setAttributes(myVarAttrs);
        myVar.create(true);
    }

    Sortie :

    Variable set created in table item_option_new_set with sys_id e21df65a1bff7c10593876a61a4bcbc4
    

    CatalogItemVariableSet : update(Object, columnValues, booléen, standardUpdate)

    Met à jour un jeu de variables.

    Tableau 9. Paramètres
    Nom Type Description
    columnValues Objet Un objet mappant les noms de colonnes aux valeurs.
    Mise à jour standard Booléen Marqueur indiquant s’il faut activer l’exécution des moteurs et du workflow.
    Valeurs valides :
    • true : activer les moteurs et le workflow.
    • faux : n’activez pas les moteurs et le workflow.
    Tableau 10. Renvoie
    Type Description
    nul

    Cet exemple met à jour la description et l’ordre du jeu de variables Questions standard des employés

    // Get the sys_id of the variable set you want to update
    var vSet = new GlideRecord('item_option_new_set');
    vSet.addEncodedQuery('title=Standard Employee Questions'); // find the Standard Employee Questions variable set
    vSet.query();
    if (vSet.next()) {
        var varset = new sn_sc.CatalogItemVariableSet(vSet.getUniqueValue()); 
        var attr = {
            'description': 'This should be used for all end user requests such as phones, tablets, etc. \n My description line',
            'order': '500' 
        };
        varset.update(attr, true);
    }