TESTE Fucntion
Documentação Técnica
| Nome do cliente | OSKLEN |
| Nome do projeto | Integração LINX (Venda PDV) |
| Biblioteca | loja_venda |
| Data | 01/04/2026 |
Histórico de Versões
| Data | Versão | Modificado por | Descrição da Mudança |
| 01/04/2026 | 1.0 | Maykon/Gustavo | Criação da documentação do subprocesso de persistência de item de pedido vitrine na tabela de itens. |
Cabeçalho e identificação
Subprocesso do recurso loja_venda: gravação do item de pedido de vitrine na tabela UNICO_VITRINE_PEDIDO_ITEM quando ainda não existe registro para a combinação de filial, ticket, identificador de item do pedido e data de venda. Integra o fluxo de venda com produtos de vitrine após validação e montagem de contexto de PDV.
Descrição geral
O subprocesso monta a linha a inserir a partir dos parâmetros recebidos: chaves do pedido vitrine, código de barras, quantidade, preço líquido unitário, vendedor e desconto do item.
Quantidade e preço unitário gravados iniciam em zero e só recebem valores quando a quantidade e o preço líquido informados são estritamente positivos; o desconto do item segue a mesma lógica em relação ao desconto informado.
Se não existir linha para a chave consultada, executa-se inclusão e em seguida nova leitura para confirmar o registro; se o item já existir, nenhuma atualização é aplicada neste trecho.
Estrutura de Dados
| Nome | Tipo |
ID_ITEM_VITRINE |
int |
ID_PEDIDO |
int |
CODIGO_FILIAL |
string |
TICKET |
string |
DATA_VENDA |
string |
CODIGO_BARRA |
string |
QTDE |
number |
PRECO_LIQUIDO |
number |
VENDEDOR |
string |
DESCONTO_ITEM |
number |
Fonte
Origem consultada: tabela UNICO_VITRINE_PEDIDO_ITEM, leitura por CODIGO_FILIAL, TICKET, ID_PEDIDO_ITEM (derivado do identificador de item vitrine recebido) e DATA_VENDA, para decidir entre inclusão e ausência de ação.
Integração
Persistência exclusiva no banco LINX via inclusão na tabela UNICO_VITRINE_PEDIDO_ITEM quando aplicável. Não há chamada a serviço HTTP externo nem rotina de integração com o Protheus neste subprocesso.
Tratamento de dados
O identificador de linha do item gravado em ID_PEDIDO_ITEM corresponde ao valor recebido em ID_ITEM_VITRINE. O campo ID_PEDIDO é repassado ao registro. QTDE é convertida para inteiro quando positiva; PRECO_UNITARIO recebe o valor numérico de PRECO_LIQUIDO quando este é positivo; DESCONTO recebe o valor numérico de DESCONTO_ITEM quando positivo.
Após inclusão bem-sucedida, uma nova consulta deve retornar o item; caso contrário é lançada exceção indicando não encontrado na tabela de itens, com filial, ticket, identificador de item e data na mensagem.
Tratamento de retorno
Retorno do array de parâmetros recebido, sem estrutura alterada além do esperado pelo chamador. Em falha de execução SQL ou confirmação ausente após inclusão, a exceção é relançada com prefixo identificando a tabela de itens do pedido vitrine, para integrar a mensagem ao retorno do processamento da venda.
Critérios de Aceitação
| Processo | Subprocesso | Descrição | Situação esperada |
| Venda PDV (recurso) | Item pedido vitrine | Não existe linha em UNICO_VITRINE_PEDIDO_ITEM para filial, ticket, item e data informados. |
Inclusão executada; leitura posterior confirma ID_PEDIDO_ITEM; retorno do array de parâmetros sem exceção. |
| Venda PDV (recurso) | Item pedido vitrine | Já existe linha para a mesma chave. | Nenhuma inclusão nem atualização neste trecho; retorno do array sem exceção. |
| Venda PDV (recurso) | Erro de persistência | Falha na execução SQL ou leitura pós-inclusão sem dados esperados. | Exceção com prefixo da tabela de itens; venda pode retornar erro no fluxo principal conforme tratamento global. |