Pular para o conteúdo
ERP e Gestão

Árvore de permissões tri-state: o chamado que me ensinou a olhar

O que cada estado da árvore quer dizer, por que o quadradinho pela metade é o mais útil dos três e como não liberar tela de configuração sem perceber.

WAEquipe WebajatoPublicado em Atualizado em 9 minNível Intermediário
Ilustração do módulo ERP e Gestão da plataforma Webajato

O chamado chegou assim: o menu está marcado no perfil e o usuário jura que não vê a tela. Passei uma tarde inteira nisso. Conferi o perfil, conferi a empresa, conferi o usuário, entrei com a conta dele. Tudo certo, e nada aparecia. O que faltava era olhar o escopo daquele item, porque era uma rota compartilhada entre módulos e eu tinha concedido a ocorrência do contexto errado. A árvore de permissões tri-state estava me contando isso o tempo todo. Eu é que não sabia ler.

A árvore organiza o acesso em três níveis, sistema, grupo e menu, e cada nó pode estar marcado, desmarcado ou parcial. O terceiro estado é o mais útil dos três, porque descreve a situação real da maior parte das equipes: o grupo está liberado só em pedaço, e você precisa enxergar isso sem abrir item por item.

Antes de abrir a tela, tenha o mapa de cargos em mãos. Configurar a árvore sem esse mapa produz uma sequência de tentativas, não um desenho. Se você ainda não fez essa parte, comece por como estruturar os perfis de acesso e volte para cá.

Os três níveis, e onde a mão pesa

NívelO que representaQuando marcar inteiro
SistemaO módulo da plataforma ao qual o perfil se aplicaSó em perfil de administração daquele sistema
GrupoO agrupamento de menus dentro do sistemaQuando a função usa o grupo todo, telas de configuração inclusas
MenuA tela navegável em siSempre que a concessão for pontual, que é quase sempre

A regra que eu carrego é curta: quanto mais alto o nível marcado, maior a chance de conceder algo que ninguém pediu. Marcar sistema inteiro é confortável na hora de configurar. É bem desconfortável quando alguém pergunta por que aquele usuário enxerga uma tela de parâmetro.

Lendo cada estado da árvore de permissões tri-state

  • Marcado: todos os filhos daquele nó estão concedidos, inclusive os que forem adicionados naquele agrupamento.
  • Desmarcado: nenhum filho está concedido e o nó não aparece para o usuário.
  • Parcial: parte dos filhos está concedida, sinal de que o detalhamento foi feito no nível de baixo.

Rotas compartilhadas: a armadilha silenciosa

Alguns menus servem a mais de um módulo. Uma tela de cadastro usada por dois sistemas é o caso clássico. O catálogo trata isso com escopo explícito, indicando a qual contexto aquela concessão pertence. Sem esse escopo, liberar a tela em um sistema poderia significar liberar em todos, que é justamente o efeito colateral que a árvore existe para impedir.

Quando encontrar um item com escopo declarado, confira se o sistema indicado é o mesmo do perfil que você está editando. Essa divergência é a causa número um daquele chamado que me custou uma tarde. Como o desenho vira registro efetivo está descrito em catálogo de permissões e materialização, e leitura de meia hora ali economiza tarde inteira aqui.

Um roteiro de configuração que não deixa rastro solto

  1. Confirme empresa e sistemaO perfil pertence aos dois. Em ambiente com várias unidades, esse é o clique que mais gera retrabalho quando sai errado.
  2. Leia a árvore fechada primeiroSó os nomes dos grupos. Isso dá a dimensão do sistema e evita marcar coisa fora de contexto por impulso.
  3. Expanda só o que a função usaMarque no nível de menu e deixe o estado parcial acontecer sozinho nos grupos. Ele é informação, não sujeira.
  4. Confira os itens com escopoNome igual em contextos diferentes engana. Leia o escopo antes de marcar, sempre.
  5. Salve e deixe materializarO salvamento converte o desenho para a estrutura compatível com o modelo legado, que é o que o runtime valida de fato.
  6. Teste com usuário realRotina inteira, incluindo o que só acontece no fim do mês. Abrir o menu não prova que a ação seguinte está liberada.

O que some da tela e o que continua passando

Sistemas e menus sem permissão são ocultados da navegação. O usuário não vê a opção, e isso reduz tentativa e erro. O Acesso Total mantém bypass administrativo, e é exatamente por isso que ele precisa ficar com quem administra a conta e mais ninguém. A relação entre ocultar menu e montar a navegação está em menus por sistema e navegação do painel.

Documentar faz parte de configurar

A árvore mostra o estado, nunca a intenção. Meio ano depois ninguém lembra por que um menu foi para um perfil e não para outro, e a decisão é refeita do zero, quase sempre liberando mais. Uma anotação de uma linha por perfil resolve isso com esforço quase nulo. Em ambiente com várias empresas o cuidado vale dobrado, porque o mesmo nome de perfil pode ter desenhos diferentes em cada unidade e a diferença raramente foi acidente.

O que anotar sobre cada perfil

  • A função que ele representa, em uma frase.
  • A empresa e o sistema a que se aplica.
  • Os grupos deixados de fora de propósito, com o motivo.
  • As rotas compartilhadas conferidas e o escopo escolhido.
  • A data da última revisão e quem fez.

Com a árvore dominada, o ganho seguinte vem da manutenção. Leia os erros comuns na configuração de permissões e converse com quem cuida de automação e IA antes de liberar telas que disparam ação em lote, porque ali um clique a mais tem consequência maior do que uma tela de consulta.

Perguntas frequentes

O que é aquele quadradinho preenchido pela metade?
É o estado parcial. Ele indica que só uma parte dos itens filhos daquele nó está concedida e é gerado sozinho a partir do que você marcou no nível de baixo. Serve para você achar rápido onde existe detalhamento.
Posso marcar o sistema inteiro para ganhar tempo?
Pode, e vai conceder todos os grupos e menus daquele sistema, telas de configuração incluídas. Guarde essa prática para perfis de administração e nunca use em função do dia a dia.
Por que o mesmo menu aparece duas vezes?
Quase sempre é uma rota compartilhada entre módulos, tratada com escopo explícito no catálogo. Cada ocorrência pertence a um contexto e precisa ser concedida separadamente, conforme o sistema do perfil.
Menu novo entra liberado automaticamente?
Não. Como o catálogo é espelhado dos menus ativos, o item passa a estar disponível para concessão, mas liberar continua sendo uma decisão explícita de quem administra o perfil.
Como eu tenho certeza de que o perfil ficou certo?
Entrando com um usuário daquele perfil e executando a rotina inteira, inclusive as etapas mensais. Abrir o menu e ver que ele existe não prova nada sobre as ações que vêm depois.
árvore de permissões tri-statepermissões por menuseleção tri-stategrupos de menuescopo de rota
Mais sobre ERP e Gestão

Outros módulos do blog

Cada módulo reúne um conjunto próprio de guias. Veja também o mapa do site com todos os artigos publicados.

Coloque esse conhecimento para rodar no seu dia a dia

Os temas daqui nascem de módulos reais da plataforma Webajato: ERP, financeiro, fiscal, estoque, PDV, loja virtual, marketplaces, CRM no WhatsApp, automação com IA e relatórios. Tudo em um único sistema multiempresa.

Conhecer a plataforma