Visualizando todas as variáveis de um GlideRecord

Quem nunca precisou listar todas as variáveis de um GlideRecord que atire a primeira pedra…

Neste artigo, comentei sobre como visualizar todas as colunas de um GlideRecord, porém um tempo depois percebi que as varáveis não eram listadas.

Para quem usa Catálogos de Serviço e Produtores de Registros, sabe bem do que eu estou falando. Muitas vezes precisei tambem descobrir o porquê uma Política de IU não funcionava, ou um script específico, e não achava um jeito facil e rápido de visualizar todas as informações contidas em variáveis.

Eis que fazendo pesquisas novamente achei uma função, nos moldes do var_dump deste artigo, só que agora lista todas as variáveis e seus respectivos valores atrelados ao registro.

Vamos a ele:

function variables_dump(grRow) {
    for (var varName in grRow.variables) {
        var grVar=  grRow.variables[varName];
        if(grVar.getGlideObject() != null &&  grVar.getGlideObject().getQuestion().getLabel() != '') {
            gs.print(grVar.getGlideObject().getQuestion().getLabel() + '(' + varName + ') :' + grVar);
        }      
    }
}

Como funciona? Dado um GlideRecord encontrado, é iterado sobre as variáveis existentes e verifica cada uma possui um registro, isto é, está preenchida, e possui um rótulo de exibição. Caso positivo, exibe o item.

A utilização da função fica assim:

var gr = new GlideRecord('service_task');
gr.addQuery('number', 'SOL0010069');
gr.query();
if (gr.next()) {
	variables_dump(gr);	
}

function variables_dump(grRow) {
    for (var varName in grRow.variables) {
        var grVar=  grRow.variables[varName];
        if(grVar.getGlideObject() != null &&  grVar.getGlideObject().getQuestion().getLabel() != '') {
            gs.print(grVar.getGlideObject().getQuestion().getLabel() + '(' + varName + ')  : ' + grVar);
        }      
    }
}

E a saída irá retornar o nome de exibição da variável, seu nome real e o respectivo valor, conforme abaixo:

*** Script: Classificação(u_classificacao) :desbloqueio_de_usuario_de_rede
*** Script: Login do Usuário(question_login_do_usuario) :helio.gabrenha
*** Script: Descrição(description) : Usuario bloqueado por erro de senha
*** Script: Solicitante(question_solicitante) :c00894fd37f61200a0ca008993990e6c

É isso aí, debug completo das variáveis!

Abraço a todos

Leave a Reply

Your email address will not be published. Required fields are marked *