Ir para conteúdo
  • Cadastre-se

dev botao

Impressão Extrato Epson Tm-T20 - Fortes - Corta A Impressão Do Cf-E


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

Recommended Posts

  • Membros Pro
Postado

Olá a todos,

 

Antes de mais nada, fiz a consulta no fórum para não ter problema de estar abrindo um tópico já existente; (Desculpe-me caso já exista)

 

Bom vamos ao caso:

 

Estou fazendo a impressão do extrato sat em uma Epson TM-T20; Configurei o tipo de extrato em Fortes.

 

No meu CF-e tenho 60 Itens, mas na hora de imprimir o extrato imprimi até o item 037, demais itens, forma de pagamento e QRCode não chegam a imprimir. Simplesmente a impressora ativa o corte.

 

Tentei olhar o fonte, fazer alguns testes mudar o tamanho da variável [TotalPaginaPixel] mas mesmo assim persistiu em cortar o extrato.

 

Segue abaixo os arquivos para teste. Caso precisar de algo mais por favor me avise.

 

Desde já agradeço pela ajuda.

CFe-35150561099008000141599000016110001348291090-rec.xml

post-37984-0-02064700-1430943794_thumb.j

post-37984-0-88676000-1430943807_thumb.j

post-37984-0-20892000-1430943810_thumb.p

Atenciosamente,

 

 Assinatura.png

  • Fundadores
Postado

Parece ser um Bug do Fortes Report... Ou uma característica dele... O que ocorre, é que o Fortes lê as métricas do Papel da Impressora do Windows...

Você precisaria criar uma folha de papel customizada e deixá-la como default ... A meu ver, a solução não é boa, pois exigiria essa modificação em todas as instalações do windows...

 

No FastReport existe uma propriedade "Roll" (ou algo parecido).. mas o Fortes não tem esse recurso...

 

Meu conselho, é usar o modelo ACBrSATExtratoEscPOS

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.

  • Membros Pro
Postado

Boa tarde Daniel,

 

Certo entendi, no EscPos está correto, mas eu achei o layout um pouco "Apertado" nos itens achei que eles ficam muito juntos.

 

Fiz uma alteração para teste, coloquei a cada impressão do item uma linha em branco, ficou melhor, ficou maior a quantidade de "Folha" utilizada, mas ficou muito mais visível.

 

Aproveitando gostaria de saber se posso implementar e lhe enviar algumas propriedades no componente escpos:

 

linhasEntItens padrão 0

 

LinhasEntPagamentos padrão 0

 

LinhasEntDadosEntrega padrão 0

 

LinhasEntObsContribuinte padrão 0

 

Quem quiser preenche com a quantidade de linhas desejadas (como eu desejo)

 

Segue o exemplo dos extratos impressos.:

 

Obrigado novamente.

post-37984-0-88872300-1430945479_thumb.j

Atenciosamente,

 

 Assinatura.png

  • Fundadores
Postado

No "Trunk2" você pode regular o espaço entre linhas em uma propriedade do componente TACBrPosPrinter...

 

Não estou mais trabalhando nos fontes do "trunk", ou seja, eu teria certa dificuldade de migrar as suas modificações do "trunk" para o "trunk2"...

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.

  • Membros Pro
Postado

Boa noite Daniel,

 

Certo, entendo, no momento ainda não tive a oportunidade de ver como está funcionando o trunk2

 

Todos os componentes que estou utilizando é do trunk

 

Pelo que vi o ACBrInstall terei que compilar, vou instalar os componentes necessários para compilar. Assim que tiver pronto a alterações que propus estiverem prontas lhe envio para analise.

 

Obrigado pela ajuda.

Atenciosamente,

 

 Assinatura.png

  • Membros Pro
Postado

Bom dia Daniel,

 

Aham entendi, Ok, como tenho prazo para entregar o projeto aqui para empresa, fiz a alteração no meu Trunk, fiz os devidos testes e acredito que esteja OK. Assim que chegar a "Estreia" ou eu consiga instalar os componentes no Delphi 2010 para compilar, irei implementar no Trunk2 no componente TACBrPosPrinter.

 

Ai lhe envio para analise.

 

Mais uma vez Obrigado.

Atenciosamente,

 

 Assinatura.png

Postado

Parece ser um Bug do Fortes Report... Ou uma característica dele... O que ocorre, é que o Fortes lê as métricas do Papel da Impressora do Windows...

Você precisaria criar uma folha de papel customizada e deixá-la como default ... A meu ver, a solução não é boa, pois exigiria essa modificação em todas as instalações do windows...

 

No FastReport existe uma propriedade "Roll" (ou algo parecido).. mas o Fortes não tem esse recurso...

 

Meu conselho, é usar o modelo ACBrSATExtratoEscPOS

 

Existe alguma esperança em usar o Fortes Reports para o extrato?

Também estou com esse problema aqui na impressão do extrato.

Estou usando uma Bematech MP-4200.

  • Fundadores
Postado

A esperança é a você a comunidade pesquisar a respeito do problema... Opções:

 

- Ler os fontes, verificar se há como contornar o problema do Fortes de alguma maneira...

- Tentar implementar uma propriedade "Roll" no Fortes

- Entrar em contato com o pessoal da comunidade do Fortes, e ver o que pode ser feito...

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.

  • Fundadores
Postado

Pelo visto, a "solução" deve ser aplicada nas configurações do Driver da Impressora...

 

Usando uma DASCOM DT-230, consegui aumentar o tamanho do Papel, nas configurações do Driver do Windows.. e com isso, imprimir corretamente um extrato de 93 itens....

 

post-61-0-04161900-1431105175_thumb.jpg

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

Obrigado Daniel. Já tentei isso na Bematech e mesmo assim não deu certo.

Estou tentando mudar para o esc/pos, mas está saindo meio "torta". Vou pesquisar porque alguém já deve ter passado por isso aqui no fórum.

  • Fundadores
Postado

Nos fontes "Trunk2" a Bematech MP4200 deve funcionar bem melhor... pois tem o componente TACBrPosPrinter

 

Para quem quer ficar no "Trunk", veja qui mesmo nessa área, um Post do João, que tem uma implementação do Extrato em EscPos para a Bematech

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.

  • 2 semanas depois ...
Postado

Bom Dia,

 

Eu não consegui enviar a impressão via ESCPOS para Epson T-20.

 

Já tentei as portas

 

ACBrSATExtratoESCPOS.Device.Porta:= 'ESDPTR001'

ACBrSATExtratoESCPOS.Device.Porta:= 'USB001'

ACBrSATExtratoESCPOS.Device.Porta:= 'USB-001'

ACBrSATExtratoESCPOS.Device.Porta:= '001'

ACBrSATExtratoESCPOS.Device.Porta:= 'EPSON TM-T20 Receipt'

 

Todas informadas pela própria instalação e não da certo...

Usei um emulador apontando a impressora para Lpt1 ai ele funciona.

 

Tem algum macete ou algo que não estou fazendo certo pra funcionar ?

 

 

Anexo um arquivo das propriedades da impressora.

post-32348-0-21375400-1432214621_thumb.j

post-32348-0-21375400-1432214621_thumb.j

Postado

Uma observação, eu compartilhei a impressora e passei os dados \\localhost\nomecompartilhamento no parâmetro da porta e funcionou, mas não acho que essa seja a forma mais viável ou correta já que a impressora esta local.

Postado

Sim, Resumindo farei a identificação de todas as impressoras disponíveis, locais ou não e através da seleção ou definição delas pelo próprio nome o comando de impressão seja interpretado, dispensando assim o uso de portas ou compartilhamento.

 

Fiz um projeto paralelo de testes e funcionou muito bem, acho que ficou bem simples e funcional.

 

Estou implementando ao código e envio assim que finalizar... se acharem viável disponibilizar junto ao fonte oficial depois seria uma boa.

 

Quanto ser ou não a forma mais correta eu só não concordo por ter de compartilhar uma impressora para usa-la localmente, estou pensando 

no usuário final e quero facilitar as coisas no AC pra evitar ao máximo interversão do meu suporte na instalação/configuração, inclusive da impressora...muitos usuários nem sabem o que é um compartilhamento...maasss é apenas uma opinião minha.

 

Obrigado pela atenção.

  • Fundadores
Postado

Tenha em mente, que o ACBr deve compilar em Delphi 7 a XE8 e Lazarus/FPC... (Windows e Linux)...

 

Então.. há de se ter cuidado em criar código Pascal puro, evitando ao máximo, chamadas a API do sistema operacional...

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

Verdade Daniel, por um minuto esqueci desse detalhe....

 

Da forma que fiz estou utilizando a API do windows para o gerenciamento então infelizmente não vai rolar de ser compartilhado junto ao AcBR.

Pra esse caso vou criar uma adaptação para meu sistema apenas, mas espero poder cooperar com o Acbr em outras ocasiões.

 

Obrigado pela atenção.

  • 1 mês depois ...
  • Membros Pro
Postado

nao sei pode ser aqui, neste topico, mas tentei instalar pelo trunk2 para usar acbrsatextratoescpos e posprinter, mas nao consegui instalar pelo acbrinstall no delphi 7, mesmo rodando o apagaracbr, entao instalei na mao, porem quando compilo o satteste, deu erro de acbrsatextratoescpos.device  undeclared identifier 'Device',  bem fui la e substitui por acbrsatextratoescpos.posprinter.device  e ai compilou , mas na hora de rodar o programa da access violation , justo quando passa por  acbrsatextratoescpos.posprinter.device

esse comando foi o que eu achei no componente mas nem sei se pode ser assim , preciso de uma ajuda....

  • 8 meses depois ...
Postado

Boa tarde,

estava com o mesmo problema usando uma Daruma (DR800).

Solucionamos o problema limitando o Tamanho da página do Fortes Report (Provavelmente os drivers possuem um limite desse tamanho). 

- Ao executar a função "CalcularTamanhoDaPagina" ele resultava um valor superior a 4000. Limitando esse valor a 3276, a impressão sai corretamente, sem cortar o QRCode.

Segue a unit em anexo para análise.

Att,

Evandro

ACBrSATExtratoFortesFr.pas

  • Curtir 1
  • Fundadores
Postado

Evandro,

Há alguma explicação para o fato ?  Qual foi o motivo de adotar o valor: 3276 ?

E se tivermos ainda mais itens no Cupom ? Digo, e se 3276 não for o suficiente para a impressão de todos os itens ?

 

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

Boa tarde Daniel,

tomamos o valor 3276 como base nas limitações dos driver's. Segue em anexo os tamanhos máximos de uma Epson TMT81 e de uma Elgin I9. 

Referente ao Cupom fizemos um teste com 350 itens e a impressão foi realizado sem problemas.

E também 3276 seria o tamanho em milímetros, que convertendo para metros seria 3,276 m. Nessa impressão de 350 itens foi utilizado aproximadamente 1,50 m de bobina. Acredito que precisaria de muitos itens para que essa impressão não fosse o suficiente. 

Att,

Evandro

layout.png

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