Como Corrigir Gatilhos de Lista que Ignoram Itens Importados em Massa
🔍 WiseChecker

Como Corrigir Gatilhos de Lista que Ignoram Itens Importados em Massa

Ao importar itens em massa para uma lista do SharePoint, gatilhos automatizados como fluxos do Power Automate ou receptores de evento personalizados podem não ser executados. Isso acontece porque operações em massa ignoram os eventos padrão de criação de itens dos quais os gatilhos dependem. Este artigo explica por que os gatilhos falham em itens importados em massa e fornece métodos passo a passo para garantir que seus gatilhos disparem corretamente.

Principais Conclusões: Corrigindo Falhas de Gatilho em Importações em Massa

  • Condição de gatilho do Power Automate: Adicione uma condição para verificar a alteração no campo ‘Modificado’ para capturar atualizações em massa.
  • Operações em lote CSOM ou REST API: Use criação de itens individuais em vez de endpoints em lote para disparar gatilhos por item.
  • Fluxo de trabalho do SharePoint Designer: Substitua receptores de evento por fluxos de trabalho no escopo do site que são executados em alterações de itens da lista.

ADVERTISEMENT

Por que Importações em Massa Ignoram Gatilhos de Lista

Os gatilhos de lista do SharePoint, incluindo fluxos do Power Automate e receptores de evento, dependem de eventos específicos como ItemAdded ou ItemUpdated. Quando você importa itens em massa usando métodos como a Edição Rápida da interface do SharePoint, a Exportação de Lista do Microsoft Excel ou operações em lote CSOM, o SharePoint processa esses itens em uma única transação. Esse processamento em lote não gera eventos individuais de item, então os gatilhos que escutam cada criação ou atualização de item nunca são disparados.

A causa raiz é a diferença entre operações de item único e operações em massa. A criação de item único dispara o evento ItemAdded. A importação em massa usa uma única solicitação web que adiciona várias linhas de uma vez, e o SharePoint trata isso como uma operação. O receptor de evento ou gatilho de fluxo vê apenas um evento para todo o lote, não um por item. Esse comportamento é proposital para melhorar o desempenho da importação, mas quebra fluxos de trabalho que dependem de gatilhos por item.

Outra causa é o uso do endpoint em lote da REST API do SharePoint. Quando você envia uma solicitação em lote contendo vários itens, o servidor os processa juntos e gera um único evento. O gatilho ‘Quando um item é criado’ do Power Automate procura eventos individuais de criação, então ele perde itens adicionados em um lote.

Passos para Garantir que Gatilhos Disparem em Importações em Massa

  1. Mude para Métodos de Importação de Item Único
    Use o formulário padrão da lista do SharePoint para adicionar itens um de cada vez. Esse método dispara ItemAdded para cada item. Embora seja mais lento para importações grandes, garante que todos os fluxos e receptores de evento sejam executados. Para importações do Excel, use o aplicativo ‘Importar Planilha’ em vez da Edição Rápida, pois ele cria itens individualmente.
  2. Modifique a Condição do Gatilho do Power Automate
    Se você precisar usar importação em massa, altere seu fluxo para disparar na alteração do campo ‘Modificado’ em vez de ‘Criado’. Adicione uma condição de gatilho que verifique se o campo ‘Modificado’ não está em branco. Isso captura itens que foram importados em massa porque o campo ‘Modificado’ é atualizado mesmo durante operações em lote. No Power Automate, edite o gatilho e adicione uma condição: @equals(triggerOutputs()?['body/Modified'], triggerOutputs()?['body/Created']) — isso garante que o fluxo seja executado apenas quando o item foi realmente modificado após a criação.
  3. Use um Fluxo de Recorrência para Consultar Novos Itens
    Crie um fluxo agendado que seja executado a cada 5 a 15 minutos. Use a ação ‘Obter itens’ para recuperar todos os itens da lista onde a data de ‘Criado’ é maior que a última execução. Em seguida, percorra cada item e execute a ação desejada. Esse método funciona independentemente de como os itens foram importados e não depende de gatilhos de evento.
  4. Implemente um Receptor de Evento Personalizado com Processamento Adiado
    Se você tiver experiência com SharePoint Server ou SharePoint Framework, crie um receptor de evento remoto que escute o evento ItemAdded. Use um trabalho de timer para processar itens que foram importados em massa. O trabalho de timer é executado periodicamente e verifica itens que ainda não foram processados, garantindo que nenhum item seja perdido.
  5. Use Fluxos de Trabalho do SharePoint Designer em Vez de Receptores de Evento
    Os fluxos de trabalho do SharePoint Designer são executados em um agendamento e podem verificar itens novos ou modificados. Crie um fluxo de trabalho no escopo do site que seja executado a cada hora. Use a ação ‘Aguardar evento’ para pausar até que um item seja adicionado ou alterado. Essa abordagem é mais confiável para importações em massa porque não depende de eventos em tempo real.

ADVERTISEMENT

Problemas Comuns e Soluções Alternativas para Gatilhos de Importação em Massa

Fluxo do Power Automate Não Executa Após Importação em Massa

Se o seu fluxo estiver configurado para disparar ‘Quando um item é criado’, ele não será executado para itens adicionados via Edição Rápida ou lote CSOM. Para corrigir, altere o gatilho para ‘Quando um item é criado ou modificado’ e adicione uma condição que verifique se os carimbos de data/hora de ‘Criado’ e ‘Modificado’ são iguais. Isso garante que o fluxo seja executado para itens recém-criados, mesmo que tenham sido importados em massa.

Receptor de Evento Dispara Uma Vez para Todo o Lote

Ao usar um receptor de evento personalizado, você pode ver apenas um evento para toda a importação em massa. Para lidar com isso, substitua o método ItemAdded e verifique a contagem de itens na lista. Se a contagem for maior que o esperado, processe os novos itens individualmente. Alternativamente, use o evento ItemUpdated com uma coluna de sinalização que marca itens como processados.

Importação em Massa do Excel Causa Dados Ausentes em Fluxos de Trabalho

Ao importar do Excel usando o aplicativo ‘Importar Planilha’, os dados são adicionados via serviço web da lista, que dispara eventos individuais. No entanto, se você usar ‘Exportar para Excel’ e depois reimportar usando Edição Rápida, os eventos são perdidos. Sempre use o aplicativo ‘Importar Planilha’ para importações do Excel para garantir que os gatilhos por item sejam disparados.

Comparação de Comportamento de Gatilho: Importação de Item Único vs. Em Massa

Item Importação de Item Único Importação em Massa
Receptor de evento dispara Por item Uma vez por lote
Gatilho do Power Automate Dispara imediatamente Pode não disparar
Fluxo de trabalho do SharePoint Designer Funciona como esperado Pode exigir agendamento
Método de criação de item Formulário da lista, REST API item único Edição Rápida, lote CSOM, exportação Excel
Desempenho Mais lento para importações grandes Mais rápido, mas quebra gatilhos

Agora você pode garantir que seus gatilhos de lista sejam executados corretamente mesmo ao importar itens em massa. Comece mudando para métodos de importação de item único para fluxos de trabalho críticos. Se a importação em massa for inevitável, use um fluxo do Power Automate baseado em recorrência que consulte novos itens a cada poucos minutos. Para cenários avançados, implemente um trabalho de timer personalizado que processe itens não tratados após uma importação em massa.

ADVERTISEMENT