01. DADOS GERAIS
Produto: |
TOTVS Varejo Franquias e Redes |
---|
Linha de Produto: | |
---|
Segmento: | |
---|
Módulo: | |
---|
Função: | Processamento de Mensagens |
---|
País: | Brasil |
---|
Ticket: |
|
---|
Requisito/Story/Issue (informe o requisito relacionado) : | DVARLIVEBT-10895 |
---|
02. SITUAÇÃO/REQUISITO
Algumas mensagens de vendas são processadas no servidor de fila porém não são incluídas no TVFR Retaguarda, causando assim uma ausência de vendas e divergência de informações.
Em análise ao problema, identificamos que esta situação só poderia ocorrer nos casos em que a rotina responsável pelo processamento da mensagem de venda não execute nada e também não gere nenhum erro pois o mesmo seria gravado no registro da mensagem no banco de dados e isso não ocorreu.
As únicas formas desse cenário ocorrer é:
- Caso a rotina identifique que o objectid da venda enviado na mensagem existe na tabela operacao e, neste caso, está correto pois a mensagem já foi processada então sai da rotina sem executar nada e atualiza a situação da mensagem para processado ( status=1 ).
- Se a validação anterior não for efetiva, a rotina valida se já existe uma mesma venda com essas informações: DataHora, Loja, Número Cupom e Número PDV. Também está correto pelo mesmo motivo do item anterior, porém identificamos casos em que cai nessa situação mas a venda gravada tem o ObjectID diferente do enviado na mensagem, ou seja, o PDV está enviando duas vendas iguais com IDs diferentes.
- Caso o parâmetro "9124 PDV Utiliza integração com EAI - Integração de Venda? (1=SIM | 0=NAO)" esteja habilitado.
- Caso, por algum motivo, não consiga associar os itens da venda ao objeto que será enviado para gravação da venda no banco de dados.
Acreditamos que os itens 3 e 4 possam estar causando o problema.
03. SOLUÇÃO
Após análise de todas as regras envolvidas na rotina de processamento da mensagem de venda identificamos que os itens 3 e 4, anteriormente mencionados, possam ter contribuido para o problema em questão e foram tratados da seguinte forma:
- Removemos o trecho de código que tratava o parâmetro 9124. Esse parêmetro é algo antigo e não é mais usado pelo cliente, caso esteja ativo é por configuração incorreta.
- A validação referente aos itens da venda foi alterada para gerar uma mensagem de erro na tabela e consequentemente não mudar o status do registro para processado.
- Também identificamos que, em alguns casos, o campo IDReferencia da tabela de mensagens está ficando errado e realizamos um ajuste para corrigir esse problema.
05. ASSUNTOS RELACIONADOS