Pular para o conteúdo

Como resolver a mensagem ‘Integer overflow. The result of an integer operarion caused the most significant bit of the result to carry’ no PDV?

Última modificação: 2 de dezembro de 2023
Você está aqui:
Tempo estimado de leitura: 1 min

Neste exemplo, o alerta é acionado ao verificar um relatório em um período específico, mas pode também ocorrer durante outros processos no sistema. Isso acontece quando um ou mais produtos possuem um registro no banco com valores muito elevados, seja em quantidade, preço de venda ou preço de custo.

Integer overlow

1- Conecte ao banco de dados do Sistema. Aprenda aqui como fazer a conexão com o banco de dados.

2- Execute o SELECT abaixo para encontrar possíveis diferenças.

SELECT V.NUMERO, V.D_EMPRESA_NOME CLIENTE, I.CODIGO, I.DESCRICAO DESCRICAO_NORMAL, VI.DESCRICAO_COMPLEMENTO DESCRICAO_COMP, VI.UNIDADE, G.DESCRICAO GRUPO, VI.QUANTIDADE, VI.PRECO_CUSTO, VI.VALOR_UNITARIO, VI.VALOR_TOTAL, VI.VALOR_ACRESCIMO, VI.VALOR_DESCONTO, VI.VALOR_TOTAL_GERAL, U.NOME USUARIO FROM VENDAS V LEFT JOIN USUARIOS U ON (U.ID_USUARIO = V.ID_USUARIO) LEFT JOIN VENDAS_ITENS VI ON (VI.ID_VENDA = V.ID_VENDA) LEFT JOIN ITENS I ON (I.ID_ITEM = VI.ID_ITEM) LEFT JOIN GRUPOS G ON (G.ID_GRUPO = I.ID_GRUPO) WHERE (V.SITUACAO=’Autorizada’) AND (V.EXCLUIDO=’N’) AND (VI.EXCLUIDO=’N’) AND (V.MODELO<>’55’) AND (V.VALOR_FATURA_LIQUIDO > 0) AND (V.TIPO_DOCUMENTO=’2′) AND (V.DATA_HORA_ABERTURA BETWEEN ’01/01/23 00:00:00′ and ’02/13/23 23:59:59′)

3- O SELECT trouxe as colunas principais que precisamos analisar. Comece clicando em QUANTIDADE para organizar do menor ao maior. Verifique se há alguma quantidade excessivamente grande, que pode estar causando o erro. Além disso, examine as colunas de PRECO_CUSTO, VALOR_UNITARIO, PRECO_VENDA e VALOR_TOTAL. Nesta análise, identificamos que o problema está relacionado à coluna de PRECO_CUSTO, especificamente no produto laka 34g.

Preço Custo Integer Overflow

4- Com base na identificação do problema na coluna PRECO_CUSTO, execute o seguinte SELECT para proceder com a correção. Não esqueça d

UPDATE VENDAS_ITENS VI SET VI.PRECO_CUSTO = 0, VI.PRECO_CUSTO_TOTAL = 0 WHERE VI.PRECO_CUSTO > 99999; UPDATE VENDAS_ITENS VI SET VI.PRECO_CUSTO = 0, VI.PRECO_CUSTO_TOTAL = 0 WHERE VI.PRECO_CUSTO < 0;

5- Clique no botão V como indicado na imagem abaixo para salvar as alterações.

ibexpert Commit

Pronto! Abrindo o sistema confirme o preço de custo do produto, realize a correção caso ainda tenha um valor muito grande e verifique o relatório novamente.

Esse artigo foi útil para você?
Não gostei 0 0 de 0 achou este artigo útil.
Visualizações: 129
Abrir chat
1
Fale Conosco
Atendimento Online
Olá! Como podemos te ajudar?