Ir para conteúdo
  • Cadastre-se

dev botao

Rotina de impressão da segunda via com problema para TEF Elgin


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

Recommended Posts

Postado

Bom dia!

A impressão da segunda via neste comprovante  Comprovante Venda ELGIN.txtTEF está tendo problema.

A primeira via carrega normal até a linha 28, após isso, incrementa mais um, buscando a informação da linha 29, que é o início da segunda via, mas a próxima linha é em branco, e por esse motivo não pega mais nenhuma linha. Sendo assim, a impressão da segunda via sai apenas com a primeira linha. Não poderia sair da rotina se a linha for em branco, isso para esse comprovante, então não sei qual a melhor prática para ajustar isso, pois acredito que para os demais TEFs que foram testados a segunda linha da segunda VIA sempre teria alguma informação. Anexei as imagens e comprovante para melhor entendimento.

Visualização.png

Fonte.png

  • Moderadores
Postado
5 horas atrás, Gabriel Rogelin disse:

Bom dia!

A impressão da segunda via neste comprovante  Comprovante Venda ELGIN.txtTEF está tendo problema.

A primeira via carrega normal até a linha 28, após isso, incrementa mais um, buscando a informação da linha 29, que é o início da segunda via, mas a próxima linha é em branco, e por esse motivo não pega mais nenhuma linha. Sendo assim, a impressão da segunda via sai apenas com a primeira linha. Não poderia sair da rotina se a linha for em branco, isso para esse comprovante, então não sei qual a melhor prática para ajustar isso, pois acredito que para os demais TEFs que foram testados a segunda linha da segunda VIA sempre teria alguma informação. Anexei as imagens e comprovante para melhor entendimento.

Visualização.png

Fonte.png

Olha só no 028-000 diz o total e no 028-001 diz o tamanho da primeira via e dali pra frente até o que veio na primeira é a segunda via.

onde do 029-001 conta 28 é a primeira via e 29 até 56 é a segunda via.

 

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
 

 

Postado (editado)

Boa tarde Juliomar.

Esse funcionamento eu entendi. O fato é justamente que o componente não faz a leitura da 29 até a 56, pois a 30 está em branco. Se olhar a marcação no fonte que eu fiz vai entender. A leitura da segunda via começa na 29, mas a próxima linha(30) está em branco, então já sai do loop, mantendo apenas a primeira linha da segunda via. 

     LinhaComprovante := Trim(LeInformacao(29 , I).AsString);
     while (LinhaComprovante <> '' ) do
     begin
       fpImagemComprovante2aVia.Add( AjustaLinhaImagemComprovante(LinhaComprovante) );
       Inc(I);
       LinhaComprovante := Trim(LeInformacao(29 , I).AsString);
     end;

Só adiciona se têm informação em todas as linhas da segunda via, e como pode ver no comporvante não têm informação na linha 30. 

Editado por Gabriel Rogelin
  • Moderadores
Postado
47 minutos atrás, Gabriel Rogelin disse:

Boa tarde Juliomar.

Esse funcionamento eu entendi. O fato é justamente que o componente não faz a leitura da 29 até a 56, pois a 30 está em branco. Se olhar a marcação no fonte que eu fiz vai entender. A leitura da segunda via começa na 29, mas a próxima linha(30) está em branco, então já sai do loop, mantendo apenas a primeira linha da segunda via. 

     LinhaComprovante := Trim(LeInformacao(29 , I).AsString);
     while (LinhaComprovante <> '' ) do
     begin
       fpImagemComprovante2aVia.Add( AjustaLinhaImagemComprovante(LinhaComprovante) );
       Inc(I);
       LinhaComprovante := Trim(LeInformacao(29 , I).AsString);
     end;

Só adiciona se têm informação em todas as linhas da segunda via, e como pode ver no comporvante não têm informação na linha 30. 

Vou ver se faço um código e posto aqui pra ti testar. só que não lembro se isso é padrão.

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
 

 

  • Fundadores
Postado
8 minutos atrás, Juliomar Marchetti disse:

Vou ver se faço um código e posto aqui pra ti testar. só que não lembro se isso é padrão.

Isso era um padrão muito antigo... nos primórdios do TEF discado.. quando não havia o conceito de vias diferenciadas...

Hoje em dia, tem campos específicos para a Segunda via, mas parece que o TEF da Elgin não está usando...

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

Sim, acredito ser algo mais antigo esta parte do fonte, justamente por esse motivo chamei vocês que conhecem mais do assunto de TEF. Estamos iniciando também a homologação com o TEF da PayGo para atender de melhor forma os clientes. 

Vou enviar um vídeo com uma explicação sobre o fonte do componente. Acredito que vai ficar mais fácil a compreensão.

https://drive.google.com/file/d/1G0FmO7zzTeJ8G_9FIVDFpuOmsLf9P8Xq/view?usp=share_link

Agradeço pela atenção

 

  • Fundadores
Postado

@Gabriel Rogelin, notei que o código abaixo, que está em ACBrTEFDClass.pas:863 já processaria as linhas restantes, na segunda via...

     while (I <= fpQtdLinhasComprovante) do
     begin
       LinhaComprovante := LeInformacao(29 , I).AsString;
       fpImagemComprovante1aVia.Add( AjustaLinhaImagemComprovante(LinhaComprovante) );
       Inc(I);
     end;

     LinhaComprovante := Trim(LeInformacao(29 , I).AsString);
     while (LinhaComprovante <> '' ) do
     begin
       fpImagemComprovante2aVia.Add( AjustaLinhaImagemComprovante(LinhaComprovante) );
       Inc(I);
       LinhaComprovante := Trim(LeInformacao(29 , I).AsString);
     end;    

 

Mas observe que ele para de ler as próximas linhas, assim que detecta uma Linha em branco...

Teremos que pensar uma outra forma, de detectar se ainda restam linhas para serem lidas...

 

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

Bom dia!

Com a alteração funcionou perfeitamente, saindo a via do estabelecimento e do cliente. A rotina ficou ok, tanto para esse TEF que gera a via do cliente e estabelecimento, quanto para outro que testamos aqui que gera apenas uma via e na segunda apenas é copiado as informações da primeira via, então para ambos deu certo. 

Agradeço pela atenção. Ótima semana a todos!

image.thumb.png.7a6da71538179282bb810acf12f20ec7.png

  • Obrigado 1
  • Este tópico foi criado há 580 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.