KatalogItemVariableSet – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Die KatalogItemVariableSet Die API bietet Methoden, mit denen Sie Variablensätze für Servicekatalog-Elemente mithilfe von Skripts erstellen und ändern können.

    Diese API wird in ausgeführt sn_sc Namespace.

    CatalogItemVariableSet – create(Boolean standardUpdate)

    Fügt den definierten Variablensatz für Katalogelemente ein.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    standardUpdate Boolean Kennzeichnung, die angibt, ob die Ausführung von Engines und Workflows aktiviert werden soll.
    Gültige Werte:
    • Wahr: Aktivieren Sie die Ausführung von Engines und Workflows.
    • Falsch: Aktivieren Sie die Ausführung von Engines und Workflows nicht.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Zeichenfolge SYS_ID des eingefügten Variablendatensatzes.
    // 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(Boolean standardUpdate)

    Löscht einen Variablensatz.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    standardUpdate Boolean Kennzeichnung, die angibt, ob die Ausführung von Engines und Workflows aktiviert werden soll.
    Gültige Werte:
    • Wahr: Engines und Workflow aktivieren.
    • Falsch: Engines und Workflow nicht aktivieren.
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird mein Variablensatz aus allen Katalogelementen entfernt, die ihn verwenden, und dann mein Variablensatz gelöscht.

    // 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 – read(Object columns, Boolean standardUpdate)

    Gibt eine Zuordnung von Attributwerten des Katalogelementvariablen-Satzes zurück.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    columns Objekt Geben Sie die Spaltengruppe an, für die Sie die Werte wünschen.
    standardUpdate Boolean Kennzeichnung, die angibt, ob die Ausführung von Engines und Workflows aktiviert werden soll.
    Gültige Werte:
    • Wahr: Engines und Workflow aktivieren.
    • Falsch: Engines und Workflow nicht aktivieren.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Objekt Ein Objekt, das Werten Spaltennamen zuordnet.

    CatalogItemVariableSet – setAttributes(Object attributes)

    Legt Attribute für einen Variablensatz fest.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    attributes Objekt Ein Objekt, das Werten Spaltennamen zuordnet.
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    void

    In diesem Beispiel wird ein Variablensatz erstellt und dann dem neuen Satz eine Variable hinzugefügt.

    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);
    }

    Ausgabe:

    Variable set created in table item_option_new_set with sys_id e21df65a1bff7c10593876a61a4bcbc4
    

    CatalogItemVariableSet – update(Object columnValues, Boolean standardUpdate)

    Aktualisiert einen Variablensatz.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    columnValues Objekt Ein Objekt, das Werten Spaltennamen zuordnet.
    standardUpdate Boolean Kennzeichnung, die angibt, ob die Ausführung von Engines und Workflows aktiviert werden soll.
    Gültige Werte:
    • Wahr: Engines und Workflow aktivieren.
    • Falsch: Engines und Workflow nicht aktivieren.
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel werden die Beschreibung und Reihenfolge des Variablensatzes „Standard-Mitarbeiterfragen“ aktualisiert.

    // 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);
    }