Campos diferentes com referência em uma mesma tabel

AMANDA DE ANDRD
Giga Contributor

Pessoal, bom dia!

Tenho uma tabela Clientes, nela constam os campos  CNPJ_Empresa, NOME EMPRESA, E-Mail, ENDEREÇO, TELEFONE e etc

Tenho uma segunda tabela Chamada Eventos -  Esta tabela Eventos tem dois campos CNPJ e EMPRESA , estes dois campos fazer Referência a tabela Clientes. Como eu faço a configuração para que no Campo CNPJ da tabela Eventos apareça o CNPJ_Empresa (da tabela Clientes) e ao mesmo tempo no campo EMPRESA da tabela Eventos apareça o NOME EMPRESA (databela clientes)?

Como faz referência a mesma tabela Clientes, não estou conseguindo informar as colunas de referência. Ou seja, fica a mesma coluna CNPJ_Empresa para os dois campos.

find_real_file.png

 

 

1 ACCEPTED SOLUTION

Fabio Mira
Giga Expert
Amanda, acho que isso pode te ajudar https://community.servicenow.com/community?id=community_blog&sys_id=a44ea2addbd0dbc01dcaf3231f9619b4 Normalmente nao se referencia duas vezes a mesma tabela para se obter varias informações, mas sim se faz dot walking para se obter as infos

View solution in original post

9 REPLIES 9

Brabíssima!

Fabio Mira
Giga Expert
Amanda, acho que isso pode te ajudar https://community.servicenow.com/community?id=community_blog&sys_id=a44ea2addbd0dbc01dcaf3231f9619b4 Normalmente nao se referencia duas vezes a mesma tabela para se obter varias informações, mas sim se faz dot walking para se obter as infos

Luiz Lucena
Mega Sage

Oi Amanda,

Tem como você postar um print da tela do dicionário de cada um desses dois campos?

Carlos Camacho
Mega Sage
Mega Sage

Olá!

1) Na tabela Clientes, pode-se deixar o campo NOME EMPRESA com o atributo Display = True. Assim, o Nome da Empresa aparecerá no seu campo da tabela Eventos que faz referência para a tabela Clientes.

2) Crie um campo do tipo String na sua tabela Eventos. Dê a ele o nome de CNPJ (nome interno: cnpj).

3) Crie um Client Script (OnLoad) e selecione a tabela Eventos.

3.1) No campo Script, seu código ficará assim:

 

function onLoad() {

var cliente=g_form.getReference('nome_do_campo_referencia',test);
function test(cliente)
{
   g_form.setValue('cnpj',cliente.cnpj_empresa);
}

}

 

Observações:
- No método getReference, o primeiro parâmetro deve ser o nome interno do campo da tabela Eventos que faz referência para a sua tabela Clientes;
- No método setValue, o parâmetro 'cnpj' é o nome interno do campo String criado na tabela Eventos para armazenar o CNPJ. Deixe-o "somente leitura" pois a ideia é tê-lo apenas para consulta. O segundo parâmetro usa o nome interno da coluna que armazena o cnpj da empresa na tabela Clientes;
- Quando fazemos cliente.cnpj_empresa, depois do ponto ("dot" em inglês) estamos "andando" até o campo cnpj_empresa que pertence a tabela de Clientes e conseguimos acessar o seu conteúdo. É por isso que a técnica é chamada de "dot walking".

AMANDA DE ANDRD
Giga Contributor

Obrigada a todos! 

Consegui resolver  pelo "dot walking".