Clipper On Line • Ver Tópico - Truncar/Arredondar na ecf

Truncar/Arredondar na ecf

Discussão sobre outras linguagens de programação.

Moderador: Moderadores

 

Truncar/Arredondar na ecf

Mensagempor negrao » 10 Mar 2010 13:36

Mocada, ve se tem como me ajudar.
O meu cliente usa balanca(ela arredonda).
A ecf que eu uso so trunca,e no final de cada venda sai um troco de 0,01

Ex: 1,984 * 6,9 = 13,689
Como eu arredondo , na tela sai 13,69 so que no cupom 13,68
Como é a ecf que faz a conta nao posso fazer nada e nao to achando saida.

obrigado por qqer ajuda.
negrao
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 183
Data de registro: 06 Jul 2004 08:38
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Truncar/Arredondar na ecf

Mensagempor Pablo César » 11 Mar 2010 00:12

Não sei em que linguagem você está se referindo colega. Mas acho que ja ví um tópico similar em que o valor obtido vinha com vírgula e para cáculos deve ser com "ponto" para decimal. Outra coisa, para garantir o valor certo você poderia trabalhar com 3 casa decimais e até mesmo transformar em string, pegar até a segunda casa decimal desprezando o resto e depois transformar para numérico.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5539
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Re: Truncar/Arredondar na ecf

Mensagempor alaminojunior » 11 Mar 2010 00:38

Esse problema já foi muito discutido aqui neste fórum e em outros. Mas felizmente já foi superado. Use a busca que com certeza vai encontrar.
Como as balanças só arredondam, e os ECF´s arredondam e na maioria das vezes truncam, não existe uma maneira exata de compatibilizar os resultados de ambos. Sendo assim adota-se duas alternativas:

1ª A etiqueta da balança vem com o valor total e o código do item;
o sistema lê e vai buscar na tabela de produtos o valor unitário;
faz o calculo inverso para obter o preço por kg;
com o preço por kg, multiplica pelo peso e confere com o total da etiqueta;
se bater, abraço;
se não bater, vai somando ou diminuindo 0,001 ao peso, e multiplicando pelo preço por kg até bater; (e algumas vezes não bate, acredite)
se mesmo assim não se chegar ao equilíbrio, você faz bater na marra, usando o valor que mais se aproxima, de maneira que os 2 dígitos decimais do valor total batam, e com isso o ecf informe o valor total corretamente e o peso alterado em alguns centésimos.

2ª A etiqueta da balança vem com o valor total e o código do item;
o sistema lê e vai buscar na tabela de produtos o valor unitário;
faz o calculo inverso para obter o preço por kg;
com o preço por kg, multiplica pelo peso e confere com o total da etiqueta;
se bater, abraço;
se não bater, manda-se para o ecf 01 unidade do produto e coloca-se na descrição, a conta: pesoXunitário e como valor unitário o valor total da etiqueta.
Esta sería a maneira menos profissional e que vai dar furo no estoque.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar de usuário

alaminojunior
Colaborador

Colaborador
 
Mensagens: 1688
Data de registro: 16 Dez 2005 20:26
Cidade/Estado: Ubatuba - SP
Curtiu: 18 vezes
Mens.Curtidas: 11 vezes

Re: Truncar/Arredondar na ecf

Mensagempor Eric.Developer » 12 Set 2010 22:46

Normalmente para tudo sempre tem uma boa saída eficiente.

um cliente da empresa onde trabalhei, usavam ECFs que truncavam e arredondavam (no mesmo estabelecimento), uma saída simples que adotei foi usar o cadastro de ECFs e criar um "flag" para indicar qual regra seguir.

alaminojunior escreveu:Como as balanças só arredondam, e os ECF´s arredondam e na maioria das vezes truncam, não existe uma maneira exata de compatibilizar os resultados de ambos. Sendo assim adota-se duas alternativas
Delphi, SQL, FastReport | Xailer VxH Fivewin Minigui Hwgui [x]Harbour
Contate-me: Desenvolvimentos em geral | Treinamentos
Overview/Download: Xailer / Harbour Ferramenta profissional e mais completa.
Avatar de usuário

Eric.Developer
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 159
Data de registro: 31 Ago 2010 22:16
Curtiu: 0 vez
Mens.Curtidas: 7 vezes

Re: Truncar/Arredondar na ecf

Mensagempor sambomb » 13 Set 2010 08:47

Existe a possibilidade de forçar o ECF a truncar/arredondar
Não me recordo agora se isso procede para os ECF's matriciais, mas existe essa possibilidade sim..
Imagem

Rca Sistemas - Itaocara - RJ
Avatar de usuário

sambomb
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 251
Data de registro: 24 Out 2008 16:02
Cidade/Estado: Itaocara - RJ - Brasil
Curtiu: 16 vezes
Mens.Curtidas: 10 vezes

Re: Truncar/Arredondar na ecf

Mensagempor Eric.Developer » 20 Out 2010 15:04

O software deve ter a inteligencia de saber trabalhar com os dois modos sem depender forçar o equipamento, inclusive resumi o que fiz na situação (atípica) onde o estabelecimento trabalha simultaneamente com equipamentos truncando e outros arredondando.

sambomb escreveu:Existe a possibilidade de forçar o ECF a truncar/arredondar
Não me recordo agora se isso procede para os ECF's matriciais, mas existe essa possibilidade sim..
Delphi, SQL, FastReport | Xailer VxH Fivewin Minigui Hwgui [x]Harbour
Contate-me: Desenvolvimentos em geral | Treinamentos
Overview/Download: Xailer / Harbour Ferramenta profissional e mais completa.
Avatar de usuário

Eric.Developer
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 159
Data de registro: 31 Ago 2010 22:16
Curtiu: 0 vez
Mens.Curtidas: 7 vezes




Retornar para Outras linguagens de programação

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro