Correção de travamento em pedidos por processamento de estoque pendente - NT nº 0226/2026
Resumo da Nota Técnica
Foi identificado um travamento no carregamento de pedidos na tela de Pedido de Vendas do FACILITE Comércio - Integrado.
Durante a gravação de pedidos com negociação de atendimento de estoque, o sistema exibia continuamente a mensagem:
"Aguarde... Processando Transações Pendentes..."
Com isso, não eram gravados ficando em um travamento da tela mantendo a menssagem acima mensionada.
No caso analisado, havia registros presos na tabela PEDIVEPROCESSAMENTO desde o dia anterior. Como medida emergencial, o suporte realizou a limpeza manual da tabela: DELETE FROM PEDIVEPROCESSAMENTO;
Após a limpeza, o ambiente foi destravado e os pedidos voltaram a carregar normalmente.
Foram feitas algumas customizações para sanar o problema.
Detalhes da Nota Técnica
Impacto ao usuário:
O problema afetava clientes que utilizam controle de estoque com recursos de estoque por localização e/ou controle de lote.
• Estoque por localização, controlado pelo ParamG 4.18.217; • Controle de lote, controlado pelos ParamG 4.18.490 e 4.18.491; • Fluxos em que o Integrado grava movimentações para posterior processamento pelo PEstoque.
Quando o registro permanecia preso em PEDIVEPROCESSAMENTO, o Integrado entendia que ainda havia processamento pendente relacionado ao pedido, bloqueando o carregamento e impedindo a continuidade da rotina operacional.
Causa raiz!
A causa principal estava relacionada à permanência de registros órfãos na tabela PEDIVEPROCESSAMENTO. Esses registros podiam ocorrer quando o Integrado gravava o pedido como em processamento, mas o processo não era finalizado corretamente por queda do sistema, erro, interrupção ou falha no fluxo de exclusão do registro.
Também foram identificados fatores adicionais:
• A tabela utilizava apenas o campo de hora PEDVP_HORAPROCESSAMENTO, dificultando a identificação correta de registros criados no dia anterior; • Após a virada de dia, o cálculo baseado apenas em hora podia interpretar incorretamente o tempo decorrido; • A auto-limpeza anterior dependia de não haver transações pendentes em todo o banco, e não somente na empresa do pedido; • Algumas rotinas exibiam mensagem de espera, mas não aguardavam efetivamente a finalização da fila TRANSACAO; • O PEstoque não participava da limpeza da tabela PEDIVEPROCESSAMENTO, permitindo que registros antigos continuassem bloqueando o fluxo no Integrado.
Solução implementada!
Foi reintroduzido o campo PEDVP_DATAPROCESSAMENTO do tipo DATE. Com isso, o sistema passa a gravardata e hora do processamento:
• PEDVP_DATAPROCESSAMENTO recebe a data atual; • PEDVP_HORAPROCESSAMENTO recebe a hora atual.
A validação passou a considerar data + hora, permitindo identificar corretamente registros de dias anteriores.
Quando um registro possui PEDVP_DATAPROCESSAMENTO menor que a data atual, ele é considerado órfão e pode ser removido automaticamente.
Foi mantida a regra de auto-limpeza após 2 minutos, desde que não exista transação pendente para a mesma empresa.
A validação foi ajustada para consultar pendências da própria empresa, evitando que transações de outras empresas impeçam a liberação do pedido.
As rotinas do Integrado foram ajustadas para aguardar corretamente o processamento da fila de estoque. Foi criada ou ajustada a rotina "Aguardar Liberacao PediveProcessamento".
Também foi ampliada a rotina AguardaTransacao, permitindo aguardar por empresa quando não houver produto informado. Além disso, foi incluído intervalo de espera com meio segundo no processo e reativada a rotina de espera aleatória entre 1 e 3 segundos, reduzindo concorrência e conflitos no processamento.
Foi incluída uma rotina de limpeza automática no PEstoque: "Limpar PediveProcessamento Dia Anterior".
Essa rotina remove registros de PEDIVEPROCESSAMENTO com data anterior à data atual ou sem data informada.
A limpeza é executada no início de cada ciclo do ProcessamentoEstoque, antes da contagem e processamento das transações pendentes.
A correção implementada trata o travamento causado por registros órfãos na tabela PEDIVEPROCESSAMENTO, principalmente em ambientes que utilizam estoque por localização e/ou controle de lote.
Com a reintrodução do campo de data, a auto-limpeza no Integrado, a limpeza automática no PEstoque e a melhoria na espera do processamento de estoque, o sistema passa a identificar e remover registros antigos de forma mais segura, reduzindo a necessidade de intervenção manual do suporte e evitando bloqueios recorrentes no carregamento de pedidos.
Parâmetros Envolvidos
Através do aplicativo FACILITE Comércio - Integrado, menu Utilitários, Parâmetros do Sistema, aba Parâmetros Gerais.
- "4.18.217 - TRATA ESTOQUE POR LOCALIZAÇÃO", este parâmetro deve estar com o status igual a "Sim".
- "4.18.490 - TRATA ESTOQUE POR LOTE", este parâmetro deve estar com o status igual a "Sim".
- "4.18.750 - PROCESSAR ESTOQUE PELO PESTOQUE.EXE", este parâmetro deve estar com o status igual a "Sim".