Qualificadores de referência
Use qualificadores de referência para filtrar os dados retornados para um campo de referência.
Um campo de referência armazena um link (referência) para um campo em outra tabela, disponibilizando os registros/campos na tabela referenciada para o formulário que contém o campo de referência.
Por exemplo, o campo Atribuído a na tabela Incidente é uma referência à tabela Usuário [sys_user]. Por padrão, todos os valores do campo que está sendo referenciado aparecem na pesquisa de referência e podem ser acessados diretamente por meio do campo de referência (digitação antecipada). Expandindo o exemplo anterior, se um qualificador de referência não estiver definido, todos os usuários na tabela Usuário aparecerão na pesquisa de referência. Incluindo os usuários que estão inativos. Às vezes, essa pode ser a funcionalidade desejada. Em outros casos, no entanto, somente um subconjunto dos valores disponíveis pode ser desejado. Nesse caso, crie um qualificador de referência para filtrar os dados disponíveis para que somente os valores desejados sejam retornados e disponibilizados para o formulário. Por exemplo, somente os usuários ativos ou usuários que têm uma função específica. Os qualificadores de referência são robustos e podem consistir em condições E/OU simples, JavaScript em linha ou inclusão de scriptcomplexo.
- Criar qualificadores de referência requer conhecimento do modelo de dados subjacente da ServiceNow (tabelas e campos) e conhecimento dos serviços Web e scripts.
- Para restringir quais dados usuários específicos podem acessar, use ACLs e não qualificadores de referência.
Você pode definir um qualificador de referência usando um dos seguintes métodos.
Qualificador de referência simples
Os qualificadores de referência simples usam instruções AND/OR (condições) para criar filtros simples. Use qualificadores de referência simples ao filtrar em condições como se uma empresa está ativa, um usuário tem uma função específica e/ou um solicitante está em um fuso horário específico. Os qualificadores de referência simples podem ter no máximo 13 condições de qualificador de referência. Para obter informações adicionais sobre como usar construtores de condição, consulte Condition builder.
Qualificadores de referência dinâmica
Os qualificadores de referência dinâmicos permitem que você use uma opção Criar um filtro dinâmico para executar uma consulta em um campo de referência para filtrar o conjunto de dados retornado. As opções de filtro dinâmico são filtros armazenados que podem conter cadeias de caracteres de consulta codificadas, JavaScript ou inclusões de script e podem ser usadas em vários qualificadores de referência dinâmicos. As mudanças feitas em uma opção de filtro dinâmico se aplicam automaticamente a todos os qualificadores de referência que usam a mesma opção de filtro dinâmico. Use este tipo de qualificador de referência quando quiser usar o mesmo filtro em vários formulários ou para fornecer a funcionalidade de filtro para implementadores "sem conhecimento de código".
A instância base fornece várias opções de filtro dinâmico OOB. Se não existir uma opção de filtro dinâmico que atenda às suas necessidades, você poderá criar uma nova opção de filtro dinâmico que seja específica para seus requisitos. Um exemplo de uma opção de filtro dinâmico OOB é o qualificador de referência no campo ID do modelo em um formulário de item de configuração, como o formulário Computador. O qualificador de referência chama a opção de filtro dinâmico Qualificador de modelo de IC, que por sua vez chama a inclusão de script ModelAndCategoryFilters. Esta inclusão de script filtra o conjunto de dados com base na classe do IC. As únicas opções para o ID do modelo são opções que pertencem à mesma classe do IC atual. Por exemplo, somente ICs que pertencem à classe Computador estão disponíveis no campo ID do modelo no formulário Computador.
Qualificador de referência avançado
vendor=true, que retorna todas as empresas designadas como fornecedores. Inserir esta cadeia de caracteres é o mesmo que usar o construtor de condição, conforme mostrado no exemplo do qualificador de referência simples. Para obter informações adicionais sobre sintaxe e exemplos de cadeia de caracteres de consulta codificados, consulte Cadeias de caracteresde consulta codificadas.javascript:new myScriptInclude().my_refqual(). Este código chama a função my_refqual() na inclusão de script myScriptInclude(). A função deve retornar uma cadeia de caracteres de consulta que pode filtrar as opções disponíveis em um campo de referência.javascript:'u_active=true^' + "u_hr_service="+current.hr_service em qualificadores de referência.return "company=" + current.company;javascript:"company=" + current.companyListas relacionadas e qualificadores de referência
// Advanced reference qualifier on the CI Relationship Child field that takes into account
// the related list that we are editing the child field on, if the field is being edited
// from a tagged related list.
cmdb_rel_ci_child_refQual:function(){
if(listEditRefQualTag =="application") return "sys_class_name = cmdb_ci_appl";
if(listEditRefQualTag =="database") return "sys_class_name = cmdb_ci_database"
}Uso da sintaxe atual Javascript em qualificadores de referência
current é um objeto JavaScript que contém os campos e valores de campo do registro ativo (atual). Para formulários, este é o registro exibido (carregado) no formulário. Nos qualificadores de referência avançados e dinâmicos, você pode usar o objeto JavaScript atual para definir filtros como javascript:"company=" + current.company.
Este JavaScript, em um qualificador de referência, retorna somente os registros da tabela referenciada que são iguais ao valor do campo da empresa do registro atual. Portanto, se o valor exibido no campo Empresa for Acme, o JavaScript retornará todos os registros de campo de referência cujo valor da empresa seja igual a Acme (company="Acme"). Se você abrir um registro cujo valor da empresa seja "ViewRite", o JavaScript será resolvido para company="ViewRite."
Todos os campos no formulário carregado no momento (tabelas) estão disponíveis para uso com o objeto atual. Use a referência com pontos para acessar valores em uma tabela, incluindo a tabela referenciada. Por exemplo, no formulário Incidente, o campo Atribuído a faz referência à tabela Usuário. Para acessar o endereço de e-mail do usuário, use a seguinte sintaxe: javascript:"emailAddress=" + current.assigned_to.email.