Ir para conteúdo
  • Cadastre-se

dev botao

CarregaFormasPagamento ecfEpson


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

Recommended Posts

Boa tarde.

Nesse método caso tenha um intervalo nos índices das formas de pagamento, esse código não funciona, pois ele para o while.

Original:

              if (pos('090C',E.Message) > 0) then
                 Break
              else
                 raise ;

Alteração proposta:

              if pos('090C',E.Message) = 0 then
                 raise ;
 

Segue em anexo arquivo alterado com essa correção.

ACBrECFEpson.pas

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Quando implementei tinha em mente a otimização de velocidade... (não fazia sentido ler posições vazias).... mas realmente traz esse problema...

apliquei a modificação no SVN

Obrigado...

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

Interessante.. você usou o comando 09 01 para ler o numero de formas de pagamento cadastradas...

Mas se pularmos um índice (uma sequencia), ele retornará o número de Formas de Pagamento cadastrados, ou o último índice da Forma de Pagamento cadastrada ?

  • Curtir 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

Irá ler, pois incremento a variável de contagem do while, somente quando der certo a leitura da forma de pagamento.

Caso der erro irá cair no except com a mesma verificação que ele fazia anteriormente.

Porém, caso haja um índice vazio, ira ser feita uma leitura desnecessária, mas não vai fazer as 20 necessárias anteriormente.

Editado por Luiz Fernando
Link para o comentário
Compartilhar em outros sites

Daniel, fiz um arquivo de log demonstrando o resultado da rotina implementada.

Observe que a leitura do índice 4 retorna o erro de tipo de pagamento não definido, porém dá sequência para o 5 e 6 no meu caso, sendo que essa impressora possui somente 5 formas de pagamento.

 

log.txt

Editado por Luiz Fernando
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Tem razão... lendo com mais calma compreendi a sua lógica... Ficou muito bom... Acabei de enviar para o SVN, obrigado

 

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á 2990 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.