Tempo aproximado para leitura: 00:05:00 min
Dúvida
Como solucionar situação em pedidos onde estão sobrescrevendo dados de outros pedidos ocorridos por duplicidade de ids?
Ambiente
Cross Segmentos - TOTVS CRM Automação de Força de Vendas (SFA) - WEB - Venda - Pedido - Todas as versões;
Solução:
No banco de dados existem duas tabelas responsáveis por distribuição de faixa de ids: idwsdvidsequence e idwsdvid. Uma tabela de ranges de ids por aparelho/usuário e, outra guarda um ponteiro que é o próximo id a ser utilizado, a aplicação trata o mesmo valor como chave primária nas duas tabelas. Quando ocorre a situação das faixas de ids estarem certas, mas o ponteiro está fora da faixa para o aparelho/usuário, ocorre a utilização de faixa de ids já existentes sobrescrevendo dados. Para solucionar é necessário gerar nova faixa de ids:
1. Visualizar o log de sincronização do usuário para verificar qual mensagem de erro está aparecendo, como no exemplo a seguir:
2. Caso apresente a mensagem de id duplicado, efetuar uma consulta no banco de dados na tabela de wssynclog para analisar a sincronização;
3. Se houver observação em vários pedidos, é necessário efetuar a seguinte consulta para verificar se as faixas de ids estão corretas e se apenas o ponteiro que está fora da faixa:
SELECT * FROM wsdvidsequence WHERE idusuario IN (SELECT idusuario FROM usuario WHERE login = '?')
SELECT * FROM wsdvid WHERE idwsdvid = ?
4. Após identificar duplicidade de id's, entrar em contato telefônico com o usuário e realizar a medida de contorno gerando uma nova faixa de ids. Realizar o processo em chamada telefônica até o fim;
5. Realizar uma primeira sincronização do aparelho para identificar o aparelho correto pelo serial na tabela wssynclog;
6. No banco de dados, alterar o valor do serial na tabela de wsdvidsequence, como no exemplo a seguir:
Serial atual: SAMSUNG&SM-G780G@3CF35145FB1C9F9D||12:2E:39:E7:A8:CB
Serial alterado: SAMSUNG&SM-G780G@3CF3514$#5FB1C9F9D||12:2E:$#39:E7:A8:CB_IGNORAR
Obs.: Aparelhos de versão mais nova geralmente identificam o serial mesmo adicionando o "_IGNORAR", então é necessário adicionar caracteres especiais em alguns pontos do serial, como no exemplo, onde podemos identificar as alterações em negrito.
7. Apagar a pasta DATS do aparelho e realizar uma nova sincronização do usuário para validação no banco de dados para confirmar se gerou o novo número;
Este artigo contém o conhecimento de como efetuar uma ação de contorno quando ocorrer o erro de sobrescrever dados em pedido devido à duplicidade de ids.
0 Comentários