1. Sintoma
Ao tentar sincronizar dados no aplicativo, o usuário perde a conexão com o ERP Sankhya durante a sincronização e recebe a mensagem "Dados não sincronizados! Perdemos conexão com o ERP Sankhya durante a sincronização de dados. Por favor, sincronize novamente."
Ao abrir os Logs de sincronização, aparecem erros como:
- Produtos →
Error: Erro na requisição - Preços →
Error: Cannot read property 'user' of undefined - Cabeçalho →
Error: Cannot read property 'user' of undefined - Parceiros → sem log de erro específico (
--), pois o processo é interrompido antes de chegar nessa etapa
2. Causa
Esse erro ocorre quando o tipo de banco de dados cadastrado para o cliente está invertido em relação ao banco real do ambiente dele. Ou seja:
- O cliente utiliza banco SQL Server, mas foi cadastrado no backend unificado como Oracle; ou
- O cliente utiliza banco Oracle, mas foi cadastrado no backend unificado como SQL Server.
Essa inconsistência normalmente acontece em dois pontos:
- No arquivo
.wargerado no Spring Tools para o cliente, quando ele é gerado com o banco errado; ou - No cadastro do cliente no backend unificado, quando alguém seleciona o tipo de banco incorreto na hora de cadastrar.
Como o app tenta se comunicar com o backend usando as chamadas/queries do banco configurado (que não corresponde ao banco real do cliente), as requisições falham — e é isso que gera os erros Erro na requisição e Cannot read property 'user' of undefined durante a sincronização de Produtos, Preços e Cabeçalho.
3. Diagnóstico
Antes de aplicar a correção, confirme a causa:
- Verifique qual é o banco de dados real do cliente (Oracle ou SQL Server) — pode confirmar com o time responsável pelo ambiente do cliente ou pela string de conexão usada.
- Verifique como o cliente está cadastrado hoje:
- No backend unificado, checar o tipo de banco selecionado no cadastro do cliente.
- Ou, se o acesso foi feito via
.wargerado manualmente no Spring Tools, checar com qual configuração de banco esse.warfoi gerado.
- Se o tipo cadastrado for diferente do banco real do cliente, essa é a causa do erro.
4. Solução
A correção consiste em recadastrar/regerar com o banco correto:
- Se o problema estiver no cadastro do backend unificado: corrigir o cadastro do cliente, ajustando o campo de tipo de banco para o valor correto (Oracle ou SQL, conforme o ambiente real do cliente).
- Se o problema estiver no arquivo
.war: gerar um novo.warno Spring Tools, desta vez com a configuração de banco correta (Oracle ou SQL Server, conforme o ambiente real do cliente), e substituir o arquivo anterior.
Após a correção, orientar o usuário a sincronizar novamente o aplicativo.
5. Prevenção
- Ao cadastrar um novo cliente no backend unificado, sempre confirmar previamente com o time de implantação/infra qual é o banco de dados real do ambiente (Oracle ou SQL Server) antes de salvar o cadastro.
- Ao gerar um
.warmanualmente no Spring Tools, conferir a configuração de banco selecionada antes de disponibilizar o arquivo, evitando gerar com o tipo trocado. - Caso o erro apareça em um cliente já em produção, esse é o primeiro ponto a ser checado, antes de investigar outras causas (rede, credenciais, etc.), já que o padrão de erro (
Erro na requisição+Cannot read property 'user' of undefinednas etapas de Produtos/Preços/Cabeçalho) é bastante característico desse cenário.
Comentários
0 comentário
Escreva seu comentário aqui
Por favor, entre para comentar.