Ir para conteúdo
  • Cadastre-se

dev botao

AcbrECF - Arredondamento


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

Recommended Posts

  • Fundadores

Você está confundindo Arredonda com ArredondaItemMFD... A primeira é programada na intervenção fiscal, e existe apenas em ECFs anteriores ao advento da MFD (matriciais), a segunda existem apenas na nova geração de MFDs... Ou seja, alguns modelos de MFD apenas Truncam, sempre...

O que está ocorrendo, é que a classe da Bematech quando interrogada se o ECF "Arredonda" não está considerando se o ECF é ou não compatível com o ArredondaMFD... isso precisará ser revisto nos fontes

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

  • Respostas 58
  • Created
  • Última resposta

Top Posters In This Topic

Mesmo caso já foi reportado antigamente pelo "Joir Soares":

http://www.forumweb.com.br/foruns/topic ... o-nas-ecf/

Função desenvolvida por ele para efetuar este arredondamento:

function ABNTround(valor:extended;decimals:smallint):Extended;

var vm:extended;

        p,f,p2,f2:extended;

Begin

   (* Nova função de arredondamento *)

   vm:=Power(10,Decimals);

   p:=int(valor);

   { A conversão para string e depois para float evita

        erros indesejáveis. Que apareceria na comparação f2=0.5 }

   f:=StrToFloat(FloatToStr(Frac(valor)*vm));

   p2:=int(f);

   f2:=Frac(f);

   if f2>0.5 then

          p2:=p2+1

   else

          if f2=0.5 then

          if frac(p2/2)>0 then p2:=p2+1;


   p2:=p2/vm;

   result:=p+p2;

end;

Caso precisem de uma função de arredondamento ABNT, esta funcionou perfeitamente!

Apenas fica faltando a parte de rever o "arredondamento" da impressora bematech.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não é uma questão de mudar a função para arredondar... a questão é que o MemoBobina pensa que o ECF está truncando.. por isso ele exibe o calculo para truncamento...

Se aceitar a sua modificação, ele quebraria a compatibilidade com os ECFs que apenas truncam...

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

  • 2 semanas depois ...
  • Fundadores

Estou analisando neste momento... ontem enviei uma correção semelhante para a classe da SwedaSTX...

O problema da Bematech é que atualmente não saberemos se o ArredondaItemMFD funcionará a não ser quando tentarmos vender um Item e o comando falhar... Vou tentar alguma informação com o suporte da Bematech para saber se há como identificar quais modelos de ECF suportam esse comando

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

Apliquei uma possível correção no SVN...

Por favor atualize pelo SVN e teste

Leia uma descrição das modificações em ACBrSerial-Change-Log.txt

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

Não sei se é coerente esta sugestão, mas vejam:

- Caso o arredondamento seja FIXO na impressora, ao ativar o componente, a propriedade "ArredondaItemMFD" é ajustada conforme o que está na impressora (True/False).

- Caso não seja compatível com arredondamento, automaticamente é setado para False.

Pois hoje estou me baseando na propriedade "ArredondaItemMFD" para saber se devo efetuar o arredondamento.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O correto é você proceder conforme descrito no Change-Log.TXT,

[*] Modificada funcionamento da propriedade "Arredonda", para que a mesma leve

em consideração as propriedades (MFD e ArredondaItemMFD) além de verificar

se o ECF possue o flag de Arredondamento Interno ajustado.

É importante frisar que o valor das propriedades "ArredondaItemMFD" e

portanto agora de "Arredonda" só é confiável após a primiera Venda de Item

(por: DSA)

ou seja, usar a propriedade "Arredonda", e apenas após a primeira venda de item

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

...usar a propriedade "Arredonda" e apenas após a primeira venda de item.

Fiquei um pouco confuso, mas e se o primeiro item depender de um arredondamento, vou ter problemas?

Vou testar e posto novamente sobre este caso em breve.

--

criado um novo tópico com o novo assunto.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Por favor crie tópicos novos para assuntos diferentes...

Em relação ao arredondamento, você pode setar o ArredondaItemMFD para True, isso fará com que Arredonda retorne True... porém, após a venda do 1o Item, se o mesmo não suportar Arredondamento ou ArredondaItemMFD, o Arredonda e ArredondaItemMFD serão False

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

Daniel, tudo certo com o caso do arredondamento e truncamento em relação ao cupom fiscal, meu aplicativo e ao espelho do cupom!

Mas como nem tudo são rosas, achei mais um caso relacionado com isto, veja só:

Entrei em contato com o Suporte da Toledo e me informaram que as balanças seguem uma legislação que obriga a arredondar os valores. Conversei com uma empresa aqui da minha cidade que lacra ECF e me informaram que por padrão estão programando os ECF para truncamento (os possíveis).

Caso um cliente tente usar o código gerado por uma balança em um cupom fiscal, terei uma divergência no valor total do produto e no valor total da etiqueta.

Vocês tem alguma sugestão do que fazer neste caso?

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Para os ECFs que suportam ArredondaItemMFD, basta informa-lo antes da venda do item...

Para os que apenas truncam, o (POG) ArredondaPorQtd pode ser uma saída..

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

  • 1 ano depois...

Oi, Galera vi que conseguiram resolver o problema do arredondamento de varias Maneiras diferentes...

tenho um problema aqui, e não consegui resolver ainda..

 

faço a venda de um item, onde a quandidade é 3,333 o valor unitario é 10,00 e o valor total deveria ser 33,33

 

porém no emulador da Bematech sai

qtd 3,331 o unitario  9,999 e o total 33,30

 

Alguma idéia do que pode estar errado??

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • Fundadores

Só mesmo analisando o LOG... para ver o que realmente foi enviado para o ECF na QTD e Valor

 

Já tentou usar ACBrECF.ArredondaPorQtd = True ?

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

  • 1 mês depois ...
  • 2 meses depois ...

Olá,

estou com problema de arredondamento com uma impressora Epson TM 81, pelo ecf teste ela retorna arredonda = não mas pelo sistema de intervenção da Epson diz que esta configurada para arredondar.
O problema que se mando um item para ela e principalmente ao usar desconto ou acréscimo por %
ela trunca o resultado desse calculo.

alguma idéia do que fazer?

Link para o comentário
Compartilhar em outros sites

  • Moderadores

olha o seu campo IAT, está como A ou T?

 

Te pergunto pois faz diferença. Semana passada tive problemas com isso e tenho impressão que essa configuração da ECF não vale muito, mas sim o que vc passa no momento de vender o item.

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

Vou verificar no cliente pra ter plena certeza, mas o comando para enviar o item para a impressora

não recebe informações desse campo.

 

DM.ECF.VendeItem(Codigo,
      Descricao,
      AliquotaICMS,
      Qtd,
      ValorUnitario,
      ValorDescontoAcrescimo,
      Unidade,
      TipoDescontoAcrescimo,
      DescAcres);

Assim que eu conferir respondo com mais certeza.

Desde já.
Obrigado pela resposta.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2852 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.

The popup will be closed in 10 segundos...