Ir para conteúdo
  • Cadastre-se

dev botao

Erro Ao Pegar Os Títulos Pagos Da Ultima Rz.


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 4067 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

É 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. 

 

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

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.

Link para o comentário
Compartilhar em outros sites

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?
Link para o comentário
Compartilhar em outros sites

  • Fundadores

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.

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • Fundadores

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.

Link para o comentário
Compartilhar em outros sites

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