Visualizando todos os campos de um GlideRecord

Não nem me recordo mais quantas vezes estava checando tabelas, olhando relacionamentos e explorando tabelas para fazer um script ou fix de backlog e tinha que me contentar com a visualização via “Form” do SN.

Sim, ajuda, mas dependendo da View, tipos de dados, campos podem ser ocultos via Politicas de IU, Client Script entre outros, assim não dá pra confiar 100% que o que voce está vendo na tela, são todos os dados que a tabela possui.

E por ter um background de PHP, senti muita falta daquele milagroso comando “var_dump” no SN.

Pesquisando pela internet, ví um prototipo do que passou a ver minha versão de var_dump. Colocaria a referência do autor, mas isso faz alguns anos e não encontrei mais o link do site original, desculpe 🙁

Segue abaixo a função criada:

function var_dump(gRecSet) {
    var strOutput = '';
    var fields = gRecSet.getFields();
    for (var i = 0; i < fields.size(); i++) {
        var glideElement = fields.get(i);
        strOutput += '\r\n  ' + glideElement.getName() + '  \t\t   ' + glideElement;
    }
    gs.print(strOutput);
}

Desta forma, a partir de um GlideRecord qualquer, após a execução da query, você só precisa passar a variavel de record para a função e terá a saída de todos os campos, preenchidos ou não, na sua tela.

Segue abaixo um exemplo real dele funcionando:

// query na tabela 
var gr = new GlideRecord('sys_user_group');
gr.addQuery('name', 'BD-ORACLE');
gr.query();

// se encontrar algum registro, imprime na tela
if (gr.next()) {
    var_dump(gr);
}
   

function var_dump(gRecSet) {
    var strOutput = '';
    var fields = gRecSet.getFields();
    for (var i = 0; i < fields.size(); i++) {
        var glideElement = fields.get(i);
            strOutput += '\r\n  ' + glideElement.getName() + '  \t\t   ' + glideElement;
  
    }
    gs.print(strOutput);
}

E a saída gerada é:

*** Script: 
  parent  		   
  roles  		   
  description  		   BD-ORACLE
  source  		   
  sys_updated_on  		   2016-10-07 19:29:49
  type  		   
  points  		   0
  sys_updated_by  		   helio.gabrenha
  default_assignee  		   
  sys_created_on  		   2016-08-15 00:23:25
  email  		   
  sys_created_by  		   helio.gabrenha
  manager  		   
  sys_mod_count  		   2
  active  		   false
  average_daily_fte  		   0
  sys_tags  		   
  cost_center  		   
  hourly_rate  		   0
  name  		   BD-ORACLE
  exclude_manager  		   false
  include_members  		   false
  u_cnpj  		   

Está aí! Todas as colunas do registro, na forma de listagem.
Espero que isso ajude vocês, pois ela me ajuda muito até hoje.

Abraços!

Leave a Reply

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