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".

» Nota Técnica