-
Capítulo 1 — Visão Geral do Boardkit
-
Capítulo 2 — Dashboard CRM Pipeline
-
- Questionário
-
-
Capítulo 3 — Filtros do Dashboard
-
- Questionário
-
- Capítulo 4 — Formulário de item
- Capítulo 5 — Reorganização do Dashboard
-
Capítulo 6 — Templates de Dashboard
-
- Questionário
-
-
Capítulo 7 — Settings do Boardkit
-
- Questionário
-
-
Capítulo 8 — Como Instalar o Boardkit
-
Capítulo 9 — Erros Comuns e Troubleshooting
-
- Questionário
-
-
Capítulo 10 — Checklist Final
-
Capítulo 12 — Quiz Final
-
4.7 - Aba Drill Down: níveis múltiplos e ações
Aba Drill Down — níveis múltiplos e ações
A aba Drill Down aparece para todos os gráficos e o kpi. Ela define o que acontece quando o usuário clica num bucket do gráfico — uma cadeia de até N níveis que vai do mais agregado até o registro individual. Veja nos prints abaixo.
O One2many drill_level_ids
Cada nível de drill é um registro de boardkit.dashboard.item.drill, encadeado pelo campo sequence (10, 20, 30…). O boardkit renderiza o último nível como uma lista de registros — é o destino final do clique.
Como o drill aparece na tela
Ao clicar num bucket, abre-se uma view modal com o gráfico do próximo nível. Quando o último nível é atingido, o boardkit mostra a lista de registros do model_id filtrados pelos buckets clicados.
Os 7 campos de cada nível
| Campo | O que faz | Padrão |
|---|---|---|
sequence |
Ordem do nível na cadeia (10, 20, 30…). Permite reordenar com drag-and-drop. | 10 |
model_id |
Relacionado ao model_id do item pai — não editável. |
(do item) |
group_by_field_id |
Obrigatório. Campo do model_id que define o bucket do próximo nível. |
— |
group_by_granularity |
Quando o group by é date/datetime: hour, day, week, month, quarter, year. |
month |
chart_type |
Como renderizar este nível. bar, bar_horizontal, line, area, pie, doughnut, funnel. |
bar |
chart_sort |
Ordenação dos buckets deste nível — mesmas 5 opções da aba Chart. | default |
record_limit |
Limite de buckets plotados (0 = sem limite). Para o último nível, controla o tamanho da lista. | 0 |
Print 1 — aba Drill down com 2 níveis encadeados (Tipo de atividade → Atribuído a):
Note a coluna sequence com o ícone de handle (drag handle) — basta arrastar para reordenar.
Como o drill acumula filtros
Cada clique num bucket adiciona um filtro ao domínio. Veja um exemplo concreto:
Exemplo: Receita por Equipe
- Nível 0 (Chart): Receita agrupada por Equipe de vendas (bar).
- Clique na equipe "Brasil Sul" → drill nível 1.
- Nível 1: Receita da equipe "Brasil Sul" agrupada por Vendedor (bar_horizontal, Top 10).
- Clique em "Maria Silva" → drill nível 2.
- Nível 2: Receita da Maria agrupada por Mês (bar).
- Clique em "Julho" → lista final.
- Último nível: lista dos pedidos da Maria em julho.
Cada clique acumula um filtro AND no domínio: team_id="Brasil Sul" + user_id=Maria + date_order=July.
Print 2 — outro exemplo com drill por Vendedor + Data do pedido:
Note que o segundo nível usa bar e o primeiro bar_horizontal — cada nível pode ter um chart_type diferente.
Tipos de gráfico disponíveis no drill
Diferente da aba Chart (que tem 8 + scatter + map), o drill aceita 7 tipos — apenas os que fazem sentido como "passo intermediário":
bar
Vertical. O padrão — funciona em quase todos os casos.
bar_horizontal
Horizontal. Ideal para rankings Top N de vendedores/categorias.
line / area
Linha/área. Perfeito para drill de "categoria → mês".
pie
Pizza. Para drill de composição (poucos buckets, até 5).
doughnut
Doughnut. Mesma ideia do pie com furo central.
funnel
Funil. Para drill de pipeline (estágio → sub-estágio).
Por que scatter e map não estão aqui?
Drill funciona com buckets categóricos/temporais. Scatter e map são visuais com coordenadas — não há "próximo nível" natural para o clique.
Validação: o grupo pertence ao modelo
A única validação automática da aba Drill Down garante que o group_by_field_id é do mesmo modelo do item pai:
_check_group_by_field_model
Decorador @api.constrains("group_by_field_id", "model_id"). Se você tentar referenciar um campo de outro modelo, recebe ValidationError ao salvar:
Drill field % (field) s does not belong to model % (model) s.
Estratégias comuns de drill
Três padrões que resolvem 90% dos casos:
Geográfico
País → Estado → Cidade
3 níveis: country_id (bar) → state_id (bar) → city_id (lista).
Comercial
Equipe → Vendedor → Mês
3 níveis: team_id (bar) → user_id (bar_horizontal) → date_order (bar).
Pipeline
Estágio → Sub-etapa → Lista
2 níveis: stage_id (funnel) → activity_type_id (lista filtrada).
Quando NÃO usar drill
3 casos onde drill atrapalha
- O
model_idtem poucos registros (ex.: 50 leads) — drill desnecessário, basta abrir a lista. - O nível final já é uma lista estática (ex.: Top 5 vendas) — drill duplica o trabalho.
- Você quer ação direta (abrir o formulário do registro) — drill vai para lista, não para o form; combine com a aba Interaction para isso.
Drill vs Interação
São conceitos diferentes:
Drill Down (4.7)
Filtra e mostra o próximo nível do mesmo modelo.
Clique em "Julho" → lista de pedidos de julho. Não sai do model_id.
Interaction (4.10)
Executa uma ação customizada ao clicar.
Clique em "Julho" → abre ir.actions.act_window custom, abre URL, ou roda ação de servidor.
Drill configurado, próximo passo
Com a aba Drill Down pronta, vamos para a aba Domain — onde você aplica filtros estáticos que limitam o escopo dos dados sem alterar os outros itens do dashboard.
Agora que você domina a aba Drill Down, vamos para a aba Domain — onde filtros estáticos transformam dashboards genéricos em visões cirúrgicas.
Detalhe da aba Drill Down: drill_level_ids One2many, os 7 campos de cada nível (sequence, group_by_field_id, group_by_granularity, chart_type, chart_sort, record_limit), os 7 chart_type disponíveis, validação e 3 estratégias comuns (geográfica, comercial, pipeline).
Por enquanto não há comentários.
Compartilhar este conteúdo
Compartilhar link
Compartilhar nas Redes Sociais
Compartilhar por e-mail
Por favor login compartilhar isto Artigo por e-mail.