PSBcratchpadUtil - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • . PSBcratchpadUtil A API fornece métodos que permitem que os provedores compartilhem informações "extras" que estão fora de qualquer outro Central de controle de serviços com seus consumidores.

    Essas informações são armazenadas como pares nome-valor na tabela Bloco de anotações [sn_sb_scratchpad]. As informações compartilhadas devem ser associadas a tarefas de um de dois tipos: Tarefas do provedor ou tarefas remotas.

    Se a tarefa associada estiver ativa, as informações atualizadas do bloco de anotações serão sincronizadas com a instância do consumidor. Se uma tarefa for desativada ou excluída, as informações no bloco de anotações também serão excluídas após um número especificado de dias; por padrão, três. Este padrão é definido na propriedade sn_sb.scratchpad.autodelete.days.

    Provedores e consumidores podem adicionar, atualizar e remover informações de e para a tabela Bloco de anotações. Os consumidores atualizam essas informações usando CSBScratchpadUtil API.

    Para acessar esta API, o Central de controle de serviços Para provedores, a aplicação (sn_sb_pro) deve ser instalada. Esta API é executada no sn_sb_pro namespace.

    PSBScratchpadUtil - Get(GlideRecord taskGR, nome da cadeia de caracteres)

    Retorna o valor de uma propriedade de bloco de anotações especificada.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou tarefa do provedor associada à propriedade do bloco de anotações especificada.

    Tarefas remotas [sn_sb_pro_remote_task] e Tarefa do provedor [sn_sb_pro_provider_task]

    nome Cadeia de caracteres Nome da propriedade do bloco de anotações cujo valor será recuperado.

    Tabela: Bloco de anotações [sn_sb_scratchpad]

    Tabela 2. Retornos
    Tipo Descrição
    Cadeia de caracteres ou nulo Valor da propriedade Bloco de anotações solicitado. Nulo se a propriedade não for encontrada.

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) { 
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(util.get(rtGR, "name1"));
    } 

    Saída:

    "value1"

    PSBScratchpadUtil - getAll (GlideRecord taskGR)

    Retorna os nomes e valores de propriedade (pares nome-valor) de todas as propriedades do bloco de anotações associadas à tarefa especificada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor cujas propriedades associadas do bloco de anotações serão retornadas.

    Tarefas remotas [sn_sb_pro_remote_task] e Tarefa do provedor [sn_sb_pro_provider_task]

    Tabela 4. Retornos
    Tipo Descrição
    Objeto Todos os nomes e valores de propriedade contidos na tarefa especificada. No formulário:

    name1: valor1, name2: valor2,

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1);
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {  
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(JSON.stringify(util.getAll(rtGR))); 
    }

    Saída:

    { "name1": "value1" }

    PSBScratchpadUtil - getNames(GlideRecord taskGR)

    Retorna a lista de nomes de todas as propriedades do bloco de anotações associadas ao registro de tarefa especificado.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor para a qual retornar a lista de nomes de todas as propriedades do bloco de anotações associadas.

    Tarefas remotas [sn_sb_pro_remote_task] e Tarefa do provedor [sn_sb_pro_provider_task]

    Tabela 6. Retornos
    Tipo Descrição
    Matriz de cadeias de caracteres Lista de nomes das propriedades do bloco de anotações associadas ao registro de tarefa especificado.

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(JSON.stringify(util.getNames(rtGR))); 
    }

    Saída:

    [ "name1" ]

    PSBScratchpadUtil - populateClientScratchpadBR(GlideRecord taskGR)

    Coloca as propriedades do bloco de anotações associadas à tarefa remota especificada ou tarefa do provedor no g_scratchpad do cliente.

    Você pode chamar este método a partir de uma regra de negócios de exibição de IU.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor cujas entradas do bloco de anotações associadas devem ser colocadas no g_scratchpad do cliente.

    Tarefas remotas [sn_sb_pro_remote_task] e Tarefa do provedor [sn_sb_pro_provider_task]

    Tabela 8. Retornos
    Tipo Descrição
    Nenhum

    O exemplo de código a seguir mostra como chamar este método.

    new sn_sb_pro.PSBScratchpadUtil().populateClientScratchpadBR(current);

    PSBScratchpadUtil - remover (GlideRecord taskGR, nome da cadeia de caracteres)

    Exclui a propriedade do bloco de anotações especificada da tabela Bloco de anotações [sn_sb_scratchpad].

    Nota:
    Exclusões não são sincronizadas com outro ServiceNow instâncias. As propriedades do Bloco de anotações são excluídas automaticamente em um número especificado de dias após o registro de tarefa associado ser desativado ou excluído.
    Tabela 9. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou tarefa do provedor associada à propriedade do bloco de anotações especificada.

    Tarefas remotas [sn_sb_pro_remote_task] e Tarefa do provedor [sn_sb_pro_provider_task]

    nome Cadeia de caracteres Nome da propriedade Bloco de anotações a ser removida da tabela Bloco de anotações [sn_sb_scratchpad].
    Tabela 10. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      util.remove(rtGR, “name1”);
      gs.info(util.get(rtGR, "name1")); 
    }

    Saída:

    undefined

    PSBScratchpadUtil - update(GlideRecord taskGR, nome da cadeia de caracteres, valor da cadeia de caracteres, client_side_access booliano)

    Insere uma propriedade ou atualiza o valor de uma propriedade na tabela Bloco de anotações [sn_sb_scratchpad].

    Nota:
    O número máximo de propriedades que você pode atualizar em uma chamada é 50.
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou tarefa do provedor associada à propriedade do bloco de anotações especificada.

    Tabela: Tarefa remota [sn_sb_pro_remote_task] e Tarefa do provedor [sn_sb_pro_provider_task]

    nome Cadeia de caracteres Nome de uma propriedade de bloco de anotações nova ou existente. Este nome deve ser exclusivo em todas as propriedades do bloco de anotações.
    valor Cadeia de caracteres Valor da propriedade Bloco de anotações.

    Máximo: 4000 caracteres.

    client_side_access Booliano Opcional. Sinalizador que indica se esta propriedade está disponível para o lado do cliente g_bloco de anotações quando PopulateClientScratchpadBR é chamado a partir de uma regra de negócios de exibição.
    Valores válidos:
    • Verdadeiro: A propriedade está disponível.
    • Falso: A propriedade não está disponível.

    Padrão: falso

    Tabela 12. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();
    rtGR.next()
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value2");
      gs.info(util.get(rtGR, "name1")); 
    }

    Saída:

    "value2"