Reimportação de Abastecimentos
O que fazem os botões Reimportar e Reprocessar, e quando cada um recria (ou não) os lotes de abastecimento.
- Visão geral
- Campos
- Reimportar
- Reprocessar
- Reimportar × Reprocessar
- Comboio (Polisoftware)
- Mensagens e erros
Visão geral
A tela Reimportação de Abastecimentos (Configurações do Sistema > Manutenção) serve para, de forma manual, buscar novamente os abastecimentos de um período junto ao posto/API e para reprocessar lotes que ficaram pendentes. É usada, por exemplo, quando um posto foi cadastrado depois e é preciso trazer o histórico, ou quando um lote não foi processado no dia.
A tela tem dois botões, Reimportar e Reprocessar, que fazem coisas diferentes. A confusão mais comum é achar que ambos recriam ou duplicam lotes: este manual detalha exatamente o que cada um faz.
Campos
| Campo | Obrigatório | Descrição |
|---|---|---|
| Período | Sim | Data inicial do intervalo a reimportar/reprocessar. |
| Período até | Sim | Data final do intervalo. |
| Configuração | Sim | Configuração de integração (posto/API) sobre a qual a operação será executada. |
Limite de intervalo: o período máximo é de 31 dias. Para a integração Polisoftware, o limite é de 15 dias. Intervalos maiores são recusados na validação.
Reimportar
O que faz: vai novamente até a API/posto, busca os abastecimentos do período informado e (re)popula os itens dos lotes daquele intervalo.
Recria ou não o lote?
O comportamento é por dia do intervalo:
| Situação do dia | O que acontece |
|---|---|
| Não existe lote para o dia | Cria um lote novo (registra “Criação Automática de Lote” no log do lote). |
| Já existe lote pendente para o dia | Reutiliza o lote existente. Não cria outro, não duplica o lote. |
| Já existe lote liberado ou processado para o dia | Ignora o lote. A reimportação não toca nele, não recria e não reimporta os itens. |
Ou seja: reimportar não duplica lotes. Para cada dia ele usa o lote pendente que já existir, ou cria um se não houver. Lotes que já foram liberados ou processados ficam intactos.
A “chave” que identifica se já existe lote no dia é a filial da configuração. A única exceção é a integração Polisoftware com Separar por Comboio, em que a chave é a própria configuração (ver Comboio).
E os itens que já estavam no lote?
Dentro de um lote pendente, a reimportação substitui os itens correspondentes: antes de reinserir, remove do lote os abastecimentos com o mesmo identificador de origem e grava a versão nova. Portanto, reimportar o mesmo dia num lote pendente não duplica itens dentro dele.
Atenção — itens do tipo “Alteração”: se um abastecimento já existe em algum lote e volta na reimportação, ele entra marcado como Alteração. Um lote que contém itens de Alteração não pode ser processado até que a situação seja resolvida manualmente (a tela do lote exibe a mensagem “possui itens do tipo ‘Alteração’”). Isso é uma proteção, não um erro de importação.
Lote já liberado e duplicação
Como a reimportação só atua em lotes pendentes, um lote já liberado nunca é reimportado por esta tela. Por isso, a recomendação geral continua valendo: libere o lote apenas quando o dia estiver encerrado. Se novos abastecimentos do mesmo dia chegarem depois que o lote foi liberado, eles não são absorvidos pela proteção anti-duplicação daquele lote (que só vale enquanto pendente).
Reprocessar
O que faz: não vai à API e não cria lote nenhum. Ele apenas pega os lotes pendentes já existentes no intervalo que possuem itens e faz, para cada um, liberar + processar (gerando a saída/entrada de estoque correspondente).
- Lotes sem itens, ou que não estejam pendentes, são ignorados.
- Se nenhum lote elegível for encontrado no intervalo, a operação informa que não havia nada a reprocessar.
- Se algum lote falhar ao processar, ele volta para pendente e a operação segue nos demais; ao final é exibido um resumo indicando quantos foram processados e quais falharam (esses precisam ser corrigidos manualmente).
Use Reprocessar quando os itens já foram trazidos (o lote existe e tem itens), mas o lote ficou pendente e precisa virar movimento de estoque. Não use esperando que ele busque dados novos, para isso é o Reimportar.
Reimportar × Reprocessar
| Aspecto | Reimportar | Reprocessar |
|---|---|---|
| Busca dados na API/posto? | Sim | Não |
| Cria lote que está faltando? | Sim (por dia do intervalo) | Não |
| Popula/atualiza os itens do lote? | Sim (substitui em lote pendente) | Não |
| Libera e processa o lote (gera estoque)? | Não | Sim |
| Atua sobre lotes já processados? | Não (ignora) | Não |
| Quando usar | Trazer/atualizar os abastecimentos do período | Efetivar lotes pendentes que já têm itens |
Comboio (Polisoftware)
Para integrações Polisoftware com Separar por Comboio, a reimportação distribui os abastecimentos por filial de destino do comboio:
- Se já existe lote processado para aquela data, configuração e filial de destino, aquela filial é ignorada (não recria).
- Caso contrário, reutiliza o lote pendente do dia daquela filial, ou cria um lote novo para a filial de destino (registra a criação de comboio no log).
- Se a filial for destino de um comboio de outra configuração, o sistema não cria lote mestre próprio para ela ao reimportar diretamente por essa filial: ela recebe os abastecimentos apenas pelo comboio da configuração de origem.
Mensagens e erros
- API indisponível: se o posto/API não responder (ou responder com erro), a operação é interrompida e a tela exibe “API Indisponível - …“. Nada é gravado além do registro da falha no log; tente novamente mais tarde.
- Período sem abastecimentos (Reimportar): a reimportação conclui com sucesso mesmo que um dia não retorne itens; nesse caso o lote fica sem itens para aquele dia (registrado no log como “Nenhum item encontrado”).
- Sucesso: “Reimportação realizada com sucesso!” ou “Reprocessar realizado com sucesso!”.