Skip to content

Edição em massa

A edição em massa é a ação cavalo de batalha — ela cobre desde "definir todos neste grupo para o tipo de membro Adulto" até "atualizar o campo personalizado Data de batismo para uma turma inteira de entrada." Cada edição que você empilha no formulário se aplica a cada membro selecionado.

Diálogo de edição em massa

Da lista de membros, selecione as linhas que você quer alterar, depois clique em Editar campos na barra de ações. O diálogo abre com a contagem de seleção no cabeçalho — confirme que essa contagem corresponde ao que você pretendia antes de adicionar edições.

Três tipos de campos

O seletor agrupa os campos em três categorias. Você pode misturar e combinar — uma única edição em massa pode atualizar um campo direto, uma junção e um campo personalizado juntos.

TipoExemplosO que acontece
DiretoTipo de membro, gênero, estado civil, notasUm único UPDATE na tabela members para todo o lote
JunçãoUnidade org, ministério, escolaAdiciona ou substitui a linha de ligação na tabela de junção
Campo personalizadoQualquer coisa que você tenha definido em Campos personalizadosFaz upsert em member_field_values

O diálogo filtra seu seletor pelo que sua org realmente usa. Se você não tem campos personalizados, o grupo Campo personalizado fica oculto; se nenhum ministério está configurado, a linha Ministério fica oculta.

Empilhar várias edições

Clique em Adicionar outra edição para sobrepor mudanças. Um padrão comum:

  • Direto: definir Tipo de membro para Adulto
  • Junção: atribuir a Unidade org Filial — Campus Norte
  • Campo personalizado: definir Nível de discipulado para Nível 2

Os três se aplicam por linha, atomicamente por membro. Se uma única edição falhar para um determinado membro, esse membro acaba na lista de falhas com o erro — mas os outros membros no mesmo lote ainda têm sucesso.

TIP

Defina um campo para uma string vazia ou Nenhum para limpá-lo. O diálogo distingue "deixar quieto" (não na lista de edições) de "definir para vazio" (valor explícito).

Semântica de edição de junção

Os campos de junção se comportam ligeiramente diferente dos campos diretos. O grande para saber:

  • Unidade org (nível N) substitui a atribuição existente do membro nesse nível. Se Maria já estava em Campus Norte no nível 1, atribuí-la a Campus Sul a move — não a adiciona a ambos.
  • Ministério / grupo / escola são upserts. Se Maria já estava no ministério de Jovens, a edição em massa é um no-op para a linha dela (o upsert atinge a restrição única e é tratado como sucesso).

Isso significa que a edição em massa é segura para reexecutar — é idempotente para junções de upsert e apenas-substitui para atribuições de unidade org.

WARNING

A reatribuição de unidade org é uma substituição apenas nesse nível. Se sua hierarquia tem três níveis e você atribui em massa no nível 1, os níveis 2 e 3 ficam intocados. Use uma edição separada por nível se você precisa mover todo um caminho de hierarquia.

Semântica de edição de campo personalizado

Os campos personalizados são armazenados em member_field_values indexados por (member_id, field_definition_id). A edição em massa faz upsert dessa linha, então reexecutar uma edição em massa de campo personalizado sempre vence — o último valor permanece.

O diálogo renderiza a entrada certa para o tipo de campo — seletor de data para datas, select para campos de escolha, texto para texto livre, multi-select para multi-escolha. A validação roda por linha no lado do servidor, então se o valor existente de um membro não pode ser parseado para o novo tipo, essa linha acaba na lista de falhas.

O que o log de auditoria mostra

Cada membro atualizado por uma edição em massa recebe updated_by carimbado com o administrador que executou a ação, não "Sistema." Seu log de atividades mostrará:

Maria Johnson — tipo de membro alterado de Visitante para Adulto — por Pastor James — via ação em massa

Clique no link via ação em massa para pular para a página de detalhe da ação em massa, onde você pode ver cada linha que tocou e quaisquer falhas.

Lotes e tentativas

As edições em massa processam em lotes de 50 membros. Entre os lotes, a ação verifica o cancelamento e atualiza a barra de progresso. Se a atualização de tabela inteira de um lote falhar (ex. uma violação de restrição de banco de dados), a ação cai para falhas por linha, e cada linha nesse lote aterriza em failed_items com a string de erro.

Quando você tenta novamente os itens com falha, apenas os IDs com falha se tornam uma nova ação em massa — os mesmos params (a mesma lista de edições) reexecutam contra apenas essas linhas.

Perguntas comuns

Posso editar em massa um campo que é somente leitura no perfil? A maioria dos campos somente leitura (e-mail, telefone com status de verificação, papel) ainda são editáveis em massa, mas passam pelo mesmo caminho de escrita do perfil — então as flags de verificação são resetadas.

E os campos computados como sequência de presença? Os campos computados não estão no seletor. Eles derivam de outras tabelas e recomputam em seu próprio cronograma.

Os membros serão notificados? Não — a edição em massa é silenciosa. Se você quer que os membros saibam de uma mudança, execute um Enviar mensagem logo depois.

Próximos passos