Skip to content

Atribuindo membros a unidades

Um membro está em uma unidade quando existe uma linha em member_unit_assignments ligando os dois. Essa linha é o que faz a presença consolidar, o que dá escopo à visibilidade do pastor, o que diz ao mapa onde colocar o pino. Sem ela, um membro é um nome em uma lista sem contexto organizacional.

Esta página cobre cada caminho que o GCM oferece para criar essas linhas.

A regra um-por-nível

Um membro pode ser atribuído a uma unidade em cada nível. Se seus níveis são Filial → Centro → Célula, um membro pode estar em uma filial e em um centro e em uma célula — três linhas em member_unit_assignments, uma por nível. Ele não pode estar em duas filiais ao mesmo tempo.

O banco aplica isso com um índice único em (member_id, level_index) com escopo em organization_id. Tentar adicionar uma segunda linha no mesmo nível ou substitui a existente (no fluxo de detalhes de unidade) ou faz aparecer um erro de duplicado (insert bruto).

Se um membro legitimamente participa em duas filiais — digamos um líder de louvor que toca em ambos os campi — escolha uma como a filial principal e use um campo personalizado para anotar a secundária.

Painel Membros em uma página de detalhes de unidade

Pela página de detalhes de uma unidade

Esse é o fluxo de trabalho mais comum. Abra a unidade (entre pela árvore ou por uma página de nível), role até o painel Membros e clique em Adicionar membro.

O diálogo mostra um dropdown buscável. Digite dois caracteres e o GCM bate no RPC search_members para resultados ao vivo em toda a organização. Escolha um membro, clique em Adicionar e você o verá aparecer no painel imediatamente.

O que acontece por baixo:

  1. O GCM checa a lista atual de membros do painel para sair cedo se o mesmo id de membro já está atribuído a essa unidade (toast: "Membro já atribuído").
  2. Insere uma linha em member_unit_assignments com o membro, a unidade e o id da organização atual (RLS aplica isso de qualquer forma).
  3. O badge de contagem de membros da unidade aumenta no resto do app.

O próprio painel Membros tem:

  • Uma caixa de busca que filtra por primeiro ou último nome (case-insensitive, os dois campos em OR).
  • Paginação em 25 / 50 / 100 linhas. Unidades grandes carregam preguiçosamente.
  • Linhas de membro com avatar, badge de tipo (visitante / membro / regular), telefone e um chip de completude.
  • Botão Remover ao passar o mouse para desatribuir sem sair da página.

Pelo perfil de um membro

Às vezes você está trabalhando do outro lado — você acabou de adicionar um membro e quer arquivá-lo. Abra o perfil dele, role até Atribuição de unidade organizacional e escolha as unidades nível por nível.

O seletor é em cascade: escolha uma filial de nível 1 primeiro, então as opções de nível 2 se restringem aos centros daquela filial, e o nível 3 às células daquele centro. Você nunca é solicitado a escolher uma célula cuja filial você não selecionou.

Se você tem só uma filial, o seletor trava nela automaticamente — não há nada para escolher. O mesmo para qualquer nível onde o escopo de membro-ou-equipe deixa exatamente uma opção.

Em massa

Para migrações, grandes admissões ou uma reestruturação paroquial inteira, inserts linha por linha ficam tediosos. Dois caminhos em massa:

Import CSV em massa

Membros importados via import em massa podem incluir o nome da unidade na sua coluna. O import combina por nome (case-insensitive) contra org_units no nível relevante e cria atribuições na mesma transação. Nomes não correspondentes aparecem na pré-visualização de simulação para que você possa consertar erros de digitação antes de confirmar.

Ações em massa dentro do app

Em Membros, filtre a lista para o subconjunto que você quer, aperte Ações em massa → Atribuir a unidade, e escolha o alvo. O GCM upsert as atribuições — linhas existentes no mesmo nível são substituídas, não duplicadas.

Removendo uma atribuição

Três caminhos:

  • No painel Membros em uma página de unidade — passe o mouse, clique no ícone de lixeira, confirme.
  • No perfil do membro — limpe o seletor para aquele nível.
  • Em ações em massaDesatribuir da unidade atual no nível N.

Remover uma atribuição não exclui o membro. Só remove a linha de member_unit_assignments. O membro vira "não atribuído nesse nível" e para de aparecer nos relatórios consolidados daquela unidade.

O que é contado onde

Uma vez que um membro tem atribuições, cada contagem no app as respeita:

ContagemRegra de cascade
Cartão de unidade "N membros"Apenas atribuições diretas (sem descendentes)
Total da subárvore em uma página de detalhe de filialContagem de membros + soma da contagem direta de cada descendente
Filtro do painel de presençaTodos os membros visíveis na subárvore da unidade selecionada
Filtro do painel de doaçõesO mesmo — as doações do membro consolidam pela árvore
Pinos no mapa por unidadeAs atribuições diretas de cada unidade são agrupadas em torno das coordenadas da unidade

A contagem "do cartão" e o "total da subárvore" serem diferentes é intencional. Uma filial com três centros e 200 membros cada mostra "0 membros" no próprio cartão se ninguém estiver diretamente atribuído à filial (o que é normal — as pessoas geralmente são atribuídas a células, não a filiais). A página de detalhes da filial mostra "600 membros" na estatística da subárvore.

Workflows de atribuição automática

Workflows podem criar atribuições programaticamente. O padrão mais comum: um workflow de follow-up de visitante atribui o visitante à célula cujo líder atendeu a primeira chamada. Veja Ações de workflow para a especificação do nó Atribuir a unidade.

Atribuições de workflow usam a mesma regra um-por-nível

Se o workflow atribui um membro a uma célula e ele já está em outra célula, a linha existente é substituída. O log de auditoria registra tanto a desatribuição quanto a reatribuição.

Perguntas comuns

E se um membro não tem unidade nenhuma? Então ele está "não atribuído" e não consolida em nenhuma filial. Ele aparece na lista de todos-os-membros e no painel global, mas não em nenhum relatório filtrado. Esse é o padrão para novos membros até você (ou um workflow) colocá-los.

Posso mover em massa membros de uma célula para outra? Sim — filtre a lista para a célula de origem, selecione tudo, rode Ações em massa → Atribuir a unidade com a célula-alvo. As atribuições existentes são substituídas.

Por que o perfil de um membro mostra duas atribuições no nível 3? Não deveria — o índice único impede. Se você vir, algo legado está nos dados. Contate o suporte e referencie o id do membro.

Próximos passos