Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Nosso cliente utiliza uma impressora Epson TH-T20 (térmica não fiscal) para impressão dos cupons SAT.

No final da impressão, o corte da guilhotina, corta uma parte do QRCode.

Tentamos ajustar a propriedade 'linhas entre cupons' para um valor maior, mas aparentemente a impressora não esta acatando essa configuração.

Daí na propriedade 'corte de papel' passamos pra 'false'. Mas mesmo assim a impressora continua cortando o papel automaticamente.

Então pelo que parece a impressora não esta acatando as configurações do componente 'ACBrPosPrinter'.

Onde pode estar o problema?

 

PS: Utilizamos o componente ACBrSAT/ACBrExtratoEscPos.

  • Membros Pro
Postado

No caso do não acatamento da configuração do componente para 'não cortar papel' o problema parece ser este:

TACBrSATExtratoESCPOS.GerarRodape(CortaPapel: Boolean = True; Cancelamento: Boolean = False);

A chamada a função acima 'GerarRodape' está como padrão: CortaPapel = True.

na função que imprime cupom, a função acima é chamada sem parâmetros ou seja ele esta sempre cortando o papel pois não checa a propriedade:[FPosPrinter.CortaPapel].

veja abaixo:

procedure TACBrSATExtratoESCPOS.ImprimirExtrato(ACFe: TCFe);
begin
  inherited;

  AtivarPosPrinter;

  GerarCabecalho;
  GerarItens;
  GerarTotais;
  GerarPagamentos;
  GerarObsFisco;
  GerarDadosEntrega;
  GerarObsContribuinte;
  GerarRodape; // aqui nesse ponto poderia ficar assim: GerarRodape(FPosPrinter.CortaPapel);

  ImprimirCopias;
end;

 

 

  • Fundadores
Postado

Daniel, boa tarde.

Sei que esta pagina é sobre o SAT, mais estou com problemas para instalar o trunk2 no DELPHI 7. Pelo que li ainda não está 100% testado para o 7. É isso mesmo ?

Use o fórum do Trunk2...

http://www.projetoacbr.com.br/forum/forum/55-trunk2/

e sempre abra um novo tópico para um novo assunto... Veja as regras do fórum: http://www.projetoacbr.com.br/forum/announcement/1-sim-nós-temos-regras/

 

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

Ainda não descobrimos o problema, nosso cliente fica quase 200km de distancia e fazer testes assim é complicado. Talvez vamos ter que buscar a impressora. Mas assim que acharmos uma solução a gente posta aqui.

 

  • Fundadores
Postado

 

Ainda não descobrimos o problema, nosso cliente fica quase 200km de distancia e fazer testes assim é complicado. Talvez vamos ter que buscar a impressora. Mas assim que acharmos uma solução a gente posta aqui.

Não compreendi...

Existe algum problema no Trunk2, que você deseja relatar ?

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 Daniel,

eu estava com o mesmo problema do nosso amigo sgeInformatica, ou seja, estava cortando o qrcode pela metade, ai vi mais a cima que você fez uma correção  "procedure TACBrSATExtratoESCPOS.ImprimirExtrato(ACFe: TCFe);" e subiu para o svn. Após eu fazer a atualização a minha impressora (Elgin i9) parou de imprimir o qrcode e não corta mais o papel. O que poderia ser?

Postado

Certo, fiz um teste agora Imprimindo o Extrato de Venda pelo SATTeste (07/05/2015) e saiu normal o QRCode, só que cortou, ja com o meu sistema com os fontes (trunk2) que eu atualizei hoje nao imprime mais o QRCode. Vou ver se consigo achar alguma coisa referente as modificações feitas e depois dou um feedback aqui.

Postado

Bom, pelo que eu conferi, só foi alterado mesmo a parte que verifica se faz ou não o corte do papel, na procedure GerarRodape, mas ao invés de imprimir o código de barra esta imprimindo <barra_mostrar>0</barra_mostrar><barra...> e assim por diante, e o QRCode não imprime nada.

  • Membros Pro
Postado

Daniel, nao tinha visto sua mensagem acima.

O problema que ainda não conseguimos resolver é que a impressora esta cortando um pedaço do QRCode ao final da impressão do cupom fiscal.

Isso esta ocorrendo na impressora Epson TM-T20

Nosso cliente essa semana vai despachar a impressora dele para tentarmos descobirmos o problema

Postado

Ainda não tive tempo de olhar o trunk2, mas tive esse mesmo problema no trunk1 com o QRCode cortado.

Estava usando uma Daruma DR700 e a melhor impressão foi configurando a propriedade LinhasEntreCupons do ACBrSATExtratoESCPOS com o valor 3, já na Epson TH-T20 o QRCode estava sendo cortado ao meio. Consegui resolver o problema para Epson TH-T20 deixando o valor padrão da propriedade (valor = 16). Isso usando o trunk1.

 

  • Fundadores
Postado

sgeinformatica,

Você está usando o Trunk2 ?  Houve correções nos fontes, recentemente, referente a esse problema...

Uma dica é analisar o Log gerado pelo TACBrPosPrinter (desde que você configure ele para gerá-lo)

Veja um exemplo:

-- 18/08 19:27:49:673 - TraduzirTagBloco(<code128>, 3515081111111111111159) -> [GS]w[STX][GS]h([GS]H[NUL][GS]kI[24]{B3515081111111111111159
-- 18/08 19:27:49:677 - TraduzirTagBloco(<code128>, 1234567890001631993910) -> [GS]w[STX][GS]h([GS]H[NUL][GS]kI[24]{B1234567890001631993910
-- 18/08 19:27:49:680 - TraduzirTagBloco(<barra_mostrar>, 1) -> 
-- 18/08 19:27:49:684 - TraduzirTagBloco(<barra_largura>, 0) -> 
-- 18/08 19:27:49:687 - TraduzirTagBloco(<barra_altura>, 0) -> 
-- 18/08 19:27:49:691 - TraduzirTagBloco(<qrcode_tipo>, 2) -> 
-- 18/08 19:27:49:694 - TraduzirTagBloco(<qrcode_error>, 0) -> 
-- 18/08 19:27:49:698 - TraduzirTagBloco(<qrcode>, 35150811111111111111591234567890001631993910|20150818192554|118.72|05481336000137|VqZIVSya0qp+BimdZB5SjLAE8EstzL9hL6Ea/llkc9Dt6v7Tat/pLpQ5IxdtgQbDeTpjvCf+DsVuYbA6HH2TOV27+OXmw1qZyLYZmpZtABxxhcjRluaSFiCUBfGFidVHAkDupqMHYjF1mxY+0hxwd4jc2WcNhrNkxVxjZ31fR6yp4jg22AAN88vkhY+0bdIj+zFWNve6Apneju9CT9dfZhcmVjnV2LeoeQ2WmYDZdvBkjGzNMMyZj/dSuvs41E+hOWYUhd+u68Pxd3EGPAKpbNED8eDbZEc68c6n5wAQIA0H7v5uxFMkwdPXAeJRZx7cHfqEvNxwS8eRIpVkk6BDMw==hygljwuohmmoewarfnmighlxzke7k2bjlto4sb2vltorgm26khhangknnfvpzydt5terudyw5vuvtzlhlqs3qrzvplfnlvw==) -> [GS]kQ[NUL][LF][4][SOH][11][STX]35150811111111111111591234567890001631993910|20150818192554|118.72|05481336000137|VqZIVSya0qp+BimdZB5SjLAE8EstzL9hL6Ea/llkc9Dt6v7Tat/pLpQ5IxdtgQbDeTpjvCf+DsVuYbA6HH2TOV27+OXmw1qZyLYZmpZtABxxhcjRluaSFiCUBfGFidVHAkDupqMHYjF1mxY+0hxwd4jc2WcNhrNkxVxjZ31fR6yp4jg22AAN88vkhY+0bdIj+zFWNve6Apneju9CT9dfZhcmVjnV2LeoeQ2WmYDZdvBkjGzNMMyZj/dSuvs41E+hOWYUhd+u68Pxd3EGPAKpbNED8eDbZEc68c6n5wAQIA0H7v5uxFMkwdPXAeJRZx7cHfqEvNxwS8eRIpVkk6BDMw==hygljwuohmmoewarfnmighlxzke7k2bjlto4sb2vltorgm26khhangknnfvpzydt5terudyw5vuvtzlhlqs3qrzvplfnlvw==
-- 18/08 19:27:49:701 - TraduzirTagBloco(<qrcode_tipo>, 2) -> 
-- 18/08 19:27:49:705 - TraduzirTagBloco(<qrcode_error>, 0) -> 
-- 18/08 19:27:49:708 - TraduzirTag(</corte_total>) -> [LF][LF][LF][LF][LF][LF][LF][LF][ESC]w

Observe que na última Linha, ele está traduzindo o Corte total... para vários pulos de Linha (LF) e no final o ESC+'w' para disparar a guillhotina

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

Daniel, boa tarde

Nós recebemos a impressora do cliente( EPSON TM-T20),  e estamos usando o TRUNK2

Como já disse acima, usando o componente, ele esta cortando uma parte do Qrcode.

Então fizemos a seguinte mudanca no ACBrPosPrinter

ORIGINAL DO COMPONENTE QUE FUNCIONA NA DARUMA DR700
  else if ATag = cTagCorteParcial then
    TagTraduzida := StringOfChar(LF,LinhasEntreCupons) + FPosPrinterClass.Cmd.CorteParcial

  else if ATag = cTagCorteTotal then
    TagTraduzida := StringOfChar(LF,LinhasEntreCupons) + FPosPrinterClass.Cmd.CorteTotal


MODIFICADO E TESTADO P/ FUNCIONAR NA ESPON TM-T20 e DARUMA DR700
  else if ATag = cTagCorteParcial then
    TagTraduzida := StringReplace(StringOfChar(LF,LinhasEntreCupons),LF,LF+#32,[rfReplaceAll, rfIgnoreCase]) + FPosPrinterClass.Cmd.Zera + FPosPrinterClass.Cmd.CorteParcial

  else if ATag = cTagCorteTotal then
    TagTraduzida := StringReplace(StringOfChar(LF,LinhasEntreCupons),LF,LF+#32,[rfReplaceAll, rfIgnoreCase]) + FPosPrinterClass.Cmd.Zera + FPosPrinterClass.Cmd.CorteTotal

Não sei se isso que fizemos ficou o ideal, e sabemos que é muito difícil debugar um erro assim sem ter a impressora para testar, e se vc quiser podemos enviar a impressora do nosso cliente pra vc, depois nos devolveria, o frete de ida e volta seria por nossa conta.

Obrigado

 

  • Fundadores
Postado

Prezado,

Uso e recomendo a Epson TM-T20 aqui... e não notei esse problema... 

Observe o código abaixo:

StringOfChar(LF,LinhasEntreCupons)

Ou seja, basta você programar em ACBrPosPrinter.LinhasEntreCupons quantas linhas você quer avançar antes do corte ocorrer...

  • Obrigado 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.

  • Membros Pro
Postado

Bom dia,

Copiamos o ACBrSatTeste já compilado por vocês e deu o mesmo problema, corta o QRCode

Sera que é alguma maneira de instalar a impressora ?

Você pode me passar como que foi a instalação que você fez ?

Obrigado

 

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