Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

É realmente fui um pouco egoísta, mas o que eu quis dizer é que até agora não ví nenhum caso onde precise pegar um totalizador não fiscal específico(sangria, por exemplo) ,

até agora sempre ví pedindo apenas o total geral dos totalizadores não fiscais. Acho que o certo seria, preencher essa String com base no índice dos totalizadores não fiscais cadastrados, ainda não dei uma olhada a dentro no código mas a parte do código que retorna a String que tem todos os totalizadores é essa: RetCmd := BcdToAsc(EnviaComando( #88, 5 )); Que pelo visto esse EnviaComando( #88, 5 )); deve utilizar a função Bematech_FI_DadosUltimaReducaoMFD da bematech, se você verificar na bematech, retorna da mesma forma que o EnviaComando está retornando. Por isso acho que não há uma forma de preencher os totalizadores de acordo com o cadastrado, se nem a bematech implementa assim. 

Na daruma por exemplo tem a função rRetornarInformacao_ECF_Daruma('9', fTotalizador); Sendo fTotalizador uma variável do tipo String e 9 o índice que contém

os totalizadores não fiscais. Outra vez, não tem como pegar a informação de um totalizador específico, apenas o total geral (fazendo um loop na string de 13 em 13 e somando

os valores).

 

Até agora não ví em lei nenhuma pedindo o valor de um totalizador específico, por isso acho que não é necessário implementar no ACBr, mas se quiser

da uma olhada nas leis do paf. Espero ter ajudado. 

 

Postado (editado)

O problema no ACBr é que a função: ReducaoZ.TotalOperacaoNaoFiscal está retornando errado por que no código não está fazendo o loop até o final da String somando todos

os totalizadores não fiscais. Acho que é isso.

Editado por Anderson William
Postado

Acabei de testar, para o título recebido deu certo, porquê o índice é inteiro, mas o índice da sangria ainda não sei porquê vem 'SA' e o suprimento vem 'SU', mesmo

eu cadastrando como inteiro, acho que deve ser um padrão. Ai de acordo com o código, como ele não consegue converter SA para um inteiro, retornará 0 e diminuirá

- 1, e a sangria e o suprimento irá retornar 00000000000000. Pode ver isso prá mim, porquê se sempre for 'SA' e 'SU' para sangria e suprimento dá para fazer um if.

  • Fundadores
  • Solution
Postado

Acredito que estamos próximo agora... Tente essa nova versão..

 

 

for I := 0 to fpComprovantesNaoFiscais.Count - 1 do
begin
  CNFZ := TACBrECFComprovanteNaoFiscal.Create ;
  CNFZ.Assign( fpComprovantesNaoFiscais[I] );
  P := StrToIntDef(CNFZ.Indice,I+1)-1
  CNFZ.Total    := RoundTo( StrToFloatDef( copy(S,(P*14)+1,14),0) / 100, -2) ;
  CNFZ.Contador := StrToIntDef( copy(SS,(P*4)+1,4), 0);

  TotalizadoresNaoFiscais.Add( CNFZ ) ;
end;   
 
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.

Postado

mas pelo visto, de acordo com o retorno os totalizadores da sangria e do lastro são fixos:

 

 

 //   Sangria Totalizador de Sangria 7 (14)                               1103,1116
 //   Suprimento Totalizador de Suprimento 7 (14)                         1117,1130
 
Dá para pegar, porque independente do índice cadastrado eles sempre vão está no mesmo local. Não é isso Daniel?
  • Fundadores
Postado

Sim... mas a versão do loop que está acima, deve resolver, pois ele usará valor o Indice "I" quando a conversão para Inteiro falhar...

 

A única linha que mudou foi:

P := StrToIntDef(CNFZ.Indice,I+1)-1

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.

Postado (editado)

Sim, não tinha visto ainda, por isso tinha comentado aquilo. Foi mal.

Obs: Pelo que eu estava vendo, nos outros ecf, estão implementando da forma antiga, talvez

esteja errado também, posso testar na daruma para ver se retorna os totalizadores não fiscais corretamente, se quiser.

Editado por Anderson William
  • Fundadores
Postado

Alguns ECFs usam Letras como Indice dos totalizadores... ou ainda valores não lineares (contínuos) como -2, 28, etc... cada um será um caso diferente...

 

Acho que dificilmente teremos um ECF com as mesmas condições de problema, ou seja, com os índices programados de forma não linear como é o caso dessa sua Bematech atual...

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.

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