Como separar por domínio uma tabela personalizada
Pode ser necessário criar tabelas personalizadas em domínios separados. Este tópico cobre o procedimento e o conceito por trás de uma tabela personalizada de separação de domínio.
1. Criação de um campo sys_domain
- Crie um novo campo como um tipo domain_id.
- Nome da coluna: sys_domain
- Outros atributos: definidos automaticamente
- O Sys_domain_path é criado automaticamente.
O nome da coluna sys_domain está reservado no ServiceNow AI Platform, o que significa que o sistema o reconhece e aplica automaticamente o tipo de campo e os atributos apropriados para você. Esta configuração automática também cria um campo sys_domain_path correspondente.
- Defina o nome da coluna como
sys_domainem vez de usar o rótulo. - A Separação de domínios não é apropriado para todas as tabelas. Em geral, se uma tabela fizer parte da instância base e essa tabela não tiver um campo sys_domain, você deverá deixá-la assim.
Um campo sys_domain é criado automaticamente quando você cria um campo do tipo domain_id com o nome "sys_domain".
2. Como adicionar uma regra de negócio para definir o domínio
- Sem regras de negócio
- O domínio é definido como o domínio atual do usuário que cria o registro.
- Com regras de negócio
- O domínio é atribuído usando lógica de script, normalmente com base no campo Empresa.
Além de um campo sys_domain, as tabelas personalizadas precisam de uma regra de negócios semelhante a Domínio - Definir domínio - Tarefapara definir o valor do campo de domínio. Além disso, você precisará de Domínio - Padrão - Tarefa, que move registros sem um domínio para o domínio-padrão se a primeira regra não conseguir atribuir um domínio.
Na tabela de tarefas, revise as regras de negócio do Domínio. Preste atenção especial ao campo Pedido. A prioridade de execução é fornecida pelo campo Pedido de baixo para alto.
A primeira regra executada, Domínio - Definir domínio - Tarefa, tentará definir o domínio do registro com base no domínio da empresa do registro.
Se a primeira regra não encontrar um domínio apropriado, a segunda regra, Domínio - Padrão - Tarefa, será executada. Esta regra define o domínio do registro como o domínio-padrão.
Por fim, se o domínio de um registro de tarefa mudar, a regra de negócio Domínio - Domínio em cascata - Tarefa mudará o domínio em todos os registros relacionados à tarefa, como fluxos de trabalho, métricas, ANSs e anexos.
3. Como adicionar uma regra de negócio se a Etapa 2 falhar
Se a regra de negócios inicial não definir um domínio e o domínio ainda estiver vazio ou global, uma segunda regra de negócio será executada. Esta regra examina o campo task_for que se baseia no campo solicitante ou solicitado. Esta regra verifica se você pode definir o domínio do registro com base no domínio do usuário. Caso contrário, esta regra define o domínio do registro como o domínio-padrão.
A seguir está um script de exemplo para a regra de negócio:
/* essentially
If (task_for is set)
set the domain to the user's domain
ELSE
set the domain to the default domain
*/4. Domínio - domínio em cascata - tarefa
As tarefas podem ter muitas tabelas relacionadas que funcionam juntas para objetivos de negócios. Esses registros relacionados incluem fluxo de trabalho, ANS, aprovações, anexos e e-mail. Se o domínio de uma tarefa mudar, o domínio dos registros relacionados também deverá mudar, para que eles permaneçam visíveis para os usuários no novo domínio.
Esta Regra em cascata é normalmente acionada quando você limpa registros do domínio-padrão.
Os registros relacionados a um Domínio em cascata contidos no script são mostrados de forma semelhante ao exemplo:
/*
* Keep domains in sync w/related records for:
* workflow context
* workflow history
* approver tables and related workflows
* attachments
* emails
*/