CatalogItemVariableSet - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • . CatalogItemVariableSet A API fornece métodos que permitem criar e modificar conjuntos de variáveis de item do catálogo de serviços usando scripts.

    Esta API é executada no sn_sc namespace.

    CatalogItemVariableSet - Criar(boolian standardUpdate)

    Insere o conjunto de variáveis do item do catálogo definido.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    PadrãoAtualização Booliano Sinalizador que indica se a execução de mecanismos e fluxo de trabalho deve ser habilitada.
    Valores válidos:
    • Verdadeiro: Habilite a execução de mecanismos e fluxo de trabalho.
    • Falso: Não habilite a execução de mecanismos e fluxo de trabalho.
    Tabela 2. Retornos
    Tipo Descrição
    Cadeia de caracteres Sys_id do registro de variável inserido.
    // 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(boolian standardUpdate)

    Exclui um conjunto de variáveis.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    PadrãoAtualização Booliano Sinalizador que indica se a execução de mecanismos e fluxo de trabalho deve ser habilitada.
    Valores válidos:
    • Verdadeiro: Habilite mecanismos e fluxo de trabalho.
    • Falso: Não habilite mecanismos e fluxo de trabalho.
    Tabela 4. Retornos
    Tipo Descrição
    vazio

    Este exemplo remove Meu conjunto de variáveis de todos os itens do catálogo que o usam e exclui Meu conjunto de variáveis.

    // 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(colunas de objeto, boolian standardUpdate)

    Retorna um mapeamento de valores de atributo do conjunto de variáveis do item do catálogo.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    colunas Objeto Especifique o conjunto de colunas para as quais você deseja os valores.
    PadrãoAtualização Booliano Sinalizador que indica se a execução de mecanismos e fluxo de trabalho deve ser habilitada.
    Valores válidos:
    • Verdadeiro: Habilite mecanismos e fluxo de trabalho.
    • Falso: Não habilite mecanismos e fluxo de trabalho.
    Tabela 6. Retornos
    Tipo Descrição
    Objeto Uma coluna de mapeamento de objeto nomeia para valores.

    CatalogItemVariableSet - setAttributes(atributos de objeto)

    Define atributos para um conjunto de variáveis.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    atributos Objeto Uma coluna de mapeamento de objeto nomeia para valores.
    Tabela 8. Retornos
    Tipo Descrição
    vazio

    Este exemplo cria um conjunto de variáveis e adiciona uma variável ao novo conjunto.

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

    Saída:

    Variable set created in table item_option_new_set with sys_id e21df65a1bff7c10593876a61a4bcbc4
    

    CatalogItemVariableSet - update(Object columnValues, boolian standardUpdate)

    Atualiza um conjunto de variáveis.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    ColumnValues Objeto Uma coluna de mapeamento de objeto nomeia para valores.
    PadrãoAtualização Booliano Sinalizador que indica se a execução de mecanismos e fluxo de trabalho deve ser habilitada.
    Valores válidos:
    • Verdadeiro: Habilite mecanismos e fluxo de trabalho.
    • Falso: Não habilite mecanismos e fluxo de trabalho.
    Tabela 10. Retornos
    Tipo Descrição
    vazio

    Este exemplo atualiza a descrição e a ordem do conjunto de variáveis Perguntas padrão do funcionário.

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