Ir para conteúdo
  • Cadastre-se

dev botao

ACBrECF = Bematech = Arredonda ou Trunca


  • Este tópico foi criado há 4867 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Moderadores

Bom Dia

Estava fazendo testes de descontos com a ECF usando o emulador

no meu caso fiz uma venda de 333,62 e fiz um desconto de 10,08%

dentro do software eu trato se a ecf está para truncar ou arrendodar, no caso ela não arrendonda só trunca

tanto no emulador da bematech quando na ecf

bom os valores que fica gravado no banco caso seja efetuado o desconto de 10,08% é de 299,99

onde no emulador faz a mesma situação e no meu banco também, somente no caso do memo ele coloca o valor de 300 redondo

fui verificar mas ele está tratando para quando for arredondamento e truncamento com RoundTo ou TruncFix e mesmo assim

causa o problema será que seria o caso do TruncFix estar errado no tratamento

em anexo imagens com a venda

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O calculo do Memo está correto... Veja:

333,62 * 10,08 % = 33,628896

Truncando... temos: 33,62

333,62 - 33,62 = 300,00

Provavelmente você está informando o desconto em Valor no ACBrECF1.VendeItem... por isso o ECF não faz a mesma conta...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Notei que a Classe da Bematech sempre usa o desconto por Valor... Ela calcula o Valor do Desconto de acordo com a Porcentagem informada... Esse pode ser o problema...

Acho que na verdade, informando o Parâmetro Desconto em Valor será sempre melhor... pois o ECF não precisará fazer conta, simplesmente aplicará o desconto...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

boa noite a todos

bom o problema de arredondar ou truncar e configurado na impressora fiscal, tive problema ao homologar para o paf-ecf pois coloque no cadastro do produto truncamento e arredondamento pro cliente marcar no produto

depois analizado na tela de venda pesquisa de produtos tem que ter indicaçao do produto se esta truncando ou arredondando , imagine nun supermercado com 4 impressoras fiscais onde 2 esta configurada pra arredondar e 2 configurada pra truncar como o soft vai tratar isso, a sugestao é buscar na impressora se esta fazendo a funçao

grato

designerba

Link para o comentário
Compartilhar em outros sites

  • Consultores

No caso, foi o ECF que arredondou o desconto. Veja lá:

desconto 33,63

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Mas na classe da Bematech, não há como enviar o desconto em Porcentagem para o ECF... apenas por Valor... então o Valor é calculado pelo ACBrECF, mas usando o round... por isso o 33,63...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Daniel

usava o simpleroud ou melhor o TruncFix Criado por vocês para truncar, mas comecei a perceber que mesmo assim problema ocorria

então resolvi fazer um teste, fiz uma função e usei ela no local do truncfix, onde ele estava fazendo correto continuou correto e onde

estava errado começou a ficar correto.

olhe o codigo abaixo


function TruncFix(x: Double; n: integer): Double;

begin

  Result := IntPower(10, n);

  Result := Trunc(StrToFloat(FormatFloat('0.0000000000', x * Result))) / Result;

end;

onde se eu usar ela em toda a minha aplicação ele corrige e fica igual a emissão em ecf normal e o emulador

será que seria o caso de modificar a função????

uso ela nos calculos de desconto e nas minhas telas, só fui pegar o erro por que o pessoal do suporte foi testar

e me questionou pq na ecf estava de um jeito e na bobina de outro.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O problema não é o TruncFix... é em ACBrECFBematech.pas, linha 1535


if TipoDescontoAcrescimo='%' then
DescontoStr := IntToStrZero( Round( RoundTo(ValorUnitario*Qtd,-2) *
ValorDescontoAcrescimo), 8 ) + #0
else
DescontoStr := IntToStrZero(Round(ValorDescontoAcrescimo*100), 8) + #0;
[/code]

O problema reportado só ocorrerá se, for ECF Bematech e Desconto for informado em %

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia Daniel

não cheguei a cojitar o erro na unit da Bematech por que fiquei com a pulga atrás da orelha

você acredita ser necessário nesse caso aplicar as mesmas funções pra quando é verificado se trunca ou arredonda o ecf?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Mas na classe da Bematech, não há como enviar o desconto em Porcentagem para o ECF... apenas por Valor... então o Valor é calculado pelo ACBrECF, mas usando o round... por isso o 33,63...

Hmm... alguns comandos da Bematech permitem desconto em porcentagem.

Eu sei que a MP4000THFI permite no comando ESC 62 73, e que as outras também permitem em certos casos, mas não lembro agora quais são os casos. Vou tentar verificar isso mais tarde.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

sim.. Fiz um teste com o 56 e notei que ele truncou o desconto calculado, imprimindo 300,00

Resolvei implementar uma ampla reforma (sempre adiada) em relação ao método "DescontoAcrescimoItemAnterior", com ele poderiamos tratar essa questão de forma mais segura...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Ok.

Se precisar de alguma ajuda, me avise.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Juliomar,

esqueci de comentar que nessa ultima correção que enviei... fiz uma modificação para a Valor do Desconto ser calculado da mesma maneira que o ECF estiver configurado (Arredondando ou Truncando)

No caso da Bematech preferi não usar o método DescontoAcrescimoItemAnterior dentro do VendeItem, pois notei que quando utilizamos ele, o ECF não imprime o total final do Item. A vantagem do método DescontoAcrescimoItemAnterior , é que podemos informar o desconto em Porcentagem direto pro ECF

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Daniel

sim eu cheguei a cogitar o uso do DescontoAcrescimoItemAnterior mas depois desisti,

fiz os testes e está 100%

tópico pode ser fechado.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4867 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.