Como Ocultar o Botão “New” em Listas Relacionadas no ServiceNow (Sem Scripting)
Você já precisou remover o botão “New” de uma lista relacionada específica, mas ficou com medo de alterar a UI Action Global e afetar todo o sistema?
Muitos desenvolvedores iniciantes tentam encontrar a UI Action “New” para aplicar uma condição, mas o problema é que esse botão geralmente é Global. Modificá-lo pode causar um efeito cascata indesejado em tabelas de Incidentes, Problemas e centenas de outras.
A boa notícia? A ServiceNow oferece uma forma nativa e segura de fazer isso através do List Control.
Por que não alterar a UI Action Global?
A UI Action “New” é uma das engrenagens base da plataforma. Se você adicionar uma condição nela para atender a uma regra de negócio específica da tabela de Change Request, por exemplo, corre o risco de desativar o botão para usuários de outras áreas.
O List Control permite que você aplique essa regra apenas ao contexto daquela lista específica.
Passo a Passo: Omitindo o Botão “New”
Para este exemplo, vamos imaginar que você queira ocultar o botão na lista relacionada de Change Requests dentro de um evento de recuperação (tabela sn_recovery_event).
- Acesse o registro: Abra qualquer registro da tabela pai (ex: um evento de recuperação específico).
- Localize a lista: Role até a lista relacionada onde o botão “New” aparece.
- Configure o List Control: Clique com o botão direito no cabeçalho da lista (onde estão os nomes das colunas) e navegue até
Configure > List Control.
Aplique a restrição:
4.No formulário que abrir, marque a caixa de seleção “Omit new button”.
Se precisar de algo mais específico (como ocultar apenas para certos perfis), você pode usar o campo “New role”.
Dica Extra: Caso você não veja o campo “Omit new button”, ele pode estar oculto no formulário. Basta clicar com o botão direito no topo do formulário de List Control e usar o Configure > Form Layout para adicioná-lo.
Quando usar cada opção?
- Omit new button: Remove o botão completamente para todos naquela lista.
- Roles: O botão aparece apenas para quem possui o papel (role) especificado.
- Omit new condition: Permite usar um pequeno script se a lógica de ocultar o botão for dinâmica (ex: ocultar apenas se o registro pai estiver fechado).
Conclusão
Seguir as melhores práticas de “Configuration over Customization” (Configuração sobre Customização) é o que diferencia um desenvolvedor Júnior de um Sênior. Usar o List Control mantém sua instância limpa, fácil de atualizar (upgradable) e segura.
