ProtheusPedidoOmniElresiduo (STATUS: PARCIAL)
Documentação Técnica
| Nome do cliente | OSKLEN |
| Nome do projeto | Integração LINX → Protheus |
| Biblioteca | wosk_protheus_pedido_omni_elresiduo |
| Data | 27/02/2026 |
Histórico de Versões
| Data | Versão | Modificado por | Descrição da Mudança |
| 27/02/2026 | 1.0 | Maykon | Criação da documentação técnica do processo ProtheusPedidoOmniElresiduo. |
Descrição
Esta biblioteca organiza o envio de exclusão/ajuste de resíduo de itens de Pedido Omni do LINX para o Protheus, garantindo captura consistente e integração com validação de retorno.
Capturador
Descrição Conceitual
Realiza a captura automática (por agendador de tarefas) dos pedidos Omni pendentes, consultando a origem por janela temporal e registrando os itens para processamento assíncrono.
A captura automática segue processamento cronológico (ordenação/paginação por data) para priorizar registros mais antigos e manter continuidade por posição; link conceitual: Processamento cronológico.
Fonte
Origem consultada: view WOSK_SERVICO_ENVIA_PROTHEUS_OMNI_EXCLUSAO.
Consulta utilizada na captura automática (WHERE e paginação construídos dinamicamente conforme posição e configuração de limite):
SELECT
cpedsite,
cproduto,
citem,
nquant,
DATA_PARA_TRANSFERENCIA
FROM
WOSK_SERVICO_ENVIA_PROTHEUS_OMNI_EXCLUSAO (NOLOCK)
WHERE
DATA_PARA_TRANSFERENCIA >= '<DATA_PARA_TRANSFERENCIA>'
ORDER BY
DATA_PARA_TRANSFERENCIA ASC
OFFSET
<OFFSET> ROWS FETCH NEXT <LIMITE> ROWS ONLY
Consulta utilizada na captura manual (chave informada e WHERE construído dinamicamente):
SELECT
cpedsite,
cproduto,
citem,
nquant,
DATA_PARA_TRANSFERENCIA
FROM
WOSK_SERVICO_ENVIA_PROTHEUS_OMNI_EXCLUSAO (NOLOCK)
WHERE
cpedsite = '<CPEDSITE>'
Operações com Dados
- Leitura: consulta a view WOSK_SERVICO_ENVIA_PROTHEUS_OMNI_EXCLUSAO para obter o registro atual de pedido e encaminhar para processamento assíncrono.
- Controle de limite de captura: obtém o limite de itens por ciclo via configuração woskLimiteCaptura::ProtheusPedidoOmniElresiduo, aplicado na paginação da consulta (FETCH NEXT <LIMITE>).
Fila de Processamento
A fila recupera um registro pendente e utiliza o conteúdo do registro como base do payload de integração. Em seguida, aplica transformações obrigatórias de padronização e realiza a chamada ao Protheus.
Estruturação de Dados
| Campo no payload | Origem no item de fila (conteúdo) |
cfilial |
cfilial |
cpedsite |
cpedsite |
cproduto |
cproduto |
nquant |
nquant |
citem |
citem |
Integração com o Protheus
Chamada de integração com o Protheus
- Chamada: Requisição HTTP
- Recurso: rtbomni/elresiduo com parâmetros na URL
- Método HTTP: POST
- Exemplo de recurso com parâmetros:
rtbomni/elresiduo?cpedsite=<CPEDSITE>&cproduto=<CPRODUTO>&citem=<CITEM>&nquant=<NQUANT>
Tratamento de retorno
Ausência de resposta: registra falha com mensagem JSON: NÃO HOUVE RESPOSTA. e finaliza o item como erro.
Resposta inválida/inesperada: quando não for possível obter um código de retorno, registra falha com mensagem JSON: NÃO FOI POSSÍVEL DECODIFICAR A RESPOSTA..
Mapeamento de campos de retorno: quando presentes, COD é reinterpretado como code e MSG como message para padronização de leitura do retorno.
Indicadores de sucesso/erro: considera sucesso quando code for R200 ou X200; demais valores finalizam como erro.
Consolidação de mensagem: a mensagem final é composta por message e, quando existir, complementada por detailedMessage.
Ao final do processamento, o item é atualizado na tabela wosk_queue com o retorno do Protheus (quando existir), a mensagem consolidada e a situação final. O tempo de processamento é registrado e a situação é definida como sucesso (2) ou erro (4) conforme o código retornado.
Encaminhamento em cenário de erro
Quando ocorre erro na integração (ausência de resposta, resposta inválida ou código diferente de R200/X200), o item é finalizado como erro e permanece registrado em wosk_queue com detalhes do retorno e da mensagem para acompanhamento operacional. Quando houver aplicação de suspensão (quando identificada no fluxo), a situação pode ser marcada como suspenso (3).
Notificação
wosk_queue (serviço ProtheusPedidoOmniElresiduo e situação de erro), ordenando pela data de processamento para priorizar ocorrências mais antigas. Para compor a listagem, o campo cpedsite é preenchido a partir da chave do item e a mensagem de erro é normalizada: quando identificado padrão de erro de SQL Server, é extraído apenas o trecho relevante; quando existir separador :, é mantida a parte posterior; quebras de linha são padronizadas para exibição. As datas data_adicionado e data são formatadas para d/m/Y H:i:s.Fluxo do Processo
Critérios de Aceitação
| Processo | Subprocesso | Descrição | Situação esperada |
| Capturador | Captura cronológica e controle de posição | Ao consultar a view WOSK_SERVICO_ENVIA_PROTHEUS_OMNI_EXCLUSAO com filtro por DATA_PARA_TRANSFERENCIA, ordenação ascendente e paginação por OFFSET/FETCH, deve manter a continuidade por posição persistida em wosk_monitor (evento, offset, chave_posicao, data_posicao, filtro). |
Posição atualizada na tabela wosk_monitor e itens pendentes registrados para processamento assíncrono. |
| Capturador | Captura manual por pedido | Ao informar um cpedsite, deve consultar a origem filtrando por cpedsite e registrar o item correspondente para processamento. |
Item pendente registrado para processamento, associado à chave do pedido. |
| Fila de Processamento | Integração com Protheus | Ao processar um item pendente em wosk_queue (serviço ProtheusPedidoOmniElresiduo), deve compor o recurso rtbomni/elresiduo com os parâmetros cpedsite, cproduto, citem e nquant e registrar o retorno e a mensagem final. |
Item atualizado em wosk_queue com retorno/mensagem e situação final coerente (sucesso quando code for R200/X200; erro caso contrário, ou quando não houver resposta/código). |
| Fila de Processamento | Notificação de falhas | Ao existirem itens com erro (situacao = 4) para o serviço ProtheusPedidoOmniElresiduo, deve listar os itens ordenados por data de processamento e normalizar a mensagem para leitura, incluindo ajuste de quebras de linha e formatação de datas. |
Lista gerada com cpedsite consistente (a partir da chave), datas em d/m/Y H:i:s e mensagem consolidada para suporte operacional. |

Nenhum comentário