Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
Postado

Bom dia!

Gostaria de compartilhar com vocês um cenário que tem ocorrido de forma intermitente.  São realizadas impressões a partir da imagem do DANFE utilizando o TACBrPosPrinter(ImprimirCmd()). Acontece que, a cada X impressões, não há um padrão, uma impressão sai com caracteres especiais, conforme imagem abaixo:
 
image.thumb.jpeg.77cb0f88851fee0a7cf38eafcc9f101a.jpeg

 
Uma reimpressão é realizada sem problemas. 
 
Já se depararam com situação semelhante? Quais outras informações seriam necessárias para buscarmos identificar a questão?

Atenciosamente,
 
  • Consultores
Postado

Bom dia !
Qual marca e modelo da sua impressora ?
Quando ela é instalada, ela instala emulador de porta com ?
O Controle de porta está ativo?


 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado (editado)

Bom dia, Daniel!

Qual marca e modelo da sua impressora ?
>> Acontece com as impressoras Daruma(DR800), Bematech(mp4200) e Elgin(i9), sendo com a Elgin a maior incidência.

Quando ela é instalada, ela instala emulador de porta com ?
>> Sim. as impressoras que mencionei emulam uma porta com no SO.

O Controle de porta está ativo?
>> Sim.

 

Obrigado pela atenção.

 

Editado por Próton Sistemas
  • Membros Pro
Postado
15 minutos atrás, Próton Sistemas disse:

Bom dia, Daniel!

Qual marca e modelo da sua impressora ?
>> Acontece com as impressoras Daruma(DR800), Bematech(mp4200) e Elgin(i9), sendo com a Elgin a maior incidência.

Quando ela é instalada, ela instala emulador de porta com ?
>> Sim. as impressoras que mencionei emulam uma porta com no SO.

O Controle de porta está ativo?
>> Sim.

 

Obrigado pela atenção.

 

Favor desconsiderar a Daruma como objeto da sua análise.

  • Consultores
Postado

Eu tenho uma i9 aqui e nao ocorre o problema. mas nao uso emulador de porta COM.
Utilizando utilitario da elgin, deixei apenas conexao com USB
image.png
Pode ser problema com o prolific driver que emula a com.
Vc pode realizar um teste.
 

neste post, mostra como deixar USB ou com

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado (editado)

Daniel, na Elgin, que possui o maior número de ocorrência, já havíamos colocado como USB nativa e ainda assim o problema continua a ocorrer. Não há um padrão, ou seja, há dia sem ocorrência e quando ocorre, não há um indício. Por exemplo, já houve casos de ocorrer na impressão de abertura do caixa, além da impressão do danfe.

Editado por Próton Sistemas
  • Fundadores
Postado

Precisamos analisar um modelo de cada vez...

Cada impressora, tem a sua forma de configuração e peculiaridades...

A imagem do problema em questão, é referente a qual impressora ?

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

A Elgin I9, é uma das melhores impressoras, para impressão emulada em Epson EscPos

Como você configura a "Porta" no componente?  para a I9, apenas atribua "USB"

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.

  • Consultores
Postado

remova as configurações de Serial, passe na configuração de porta como USB

no protocolo passe como ppEscPosEpson.

isso pode ser erro de protocolo ou tambem o byte corrompido da imagem que ele não conseguiu converter a imagem.

se é em escpos, uma alternativa é impressão direta e não modo gráfico

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Membros Pro
Postado (editado)

@Victor H. Gonzales - Panda

1 - remova as configurações de Serial, passe na configuração de porta como USB
Já foi definida como USB.

2 - no protocolo passe como ppEscPosEpson.
Esse já é o modelo que utilizamos (ACBrPosPrinter1.Modelo := TACBrPosPrinterModelo.ppEscPosEpson)

4 - se é em escpos, uma alternativa é impressão direta e não modo gráfico
Essa mudança seria mais complexa pra gente.

Ressaltando que numa reimpressão, em nenhum dos caso o houve a impressão com caracteres especiais, como na impressão.

 

Editado por Próton Sistemas
  • Membros Pro
Postado

@Daniel Simoes

Respondendo ao seu questionamento relacionado a "Como você configura a "Porta" no componente?  para a I9, apenas atribua "USB"":

Utilizamos o método ACBrPosPrinter1.Device.AcharPortasUSB( portas ) , onde portas é um TStringList que será percorrido e onde buscamos informações relacionadas ao nome, modelo e fabricante do equipamento
e setamos o ACBrPosPrinter1.Porta com o retorno.

Aqui na minha máquina por exemplo como porta obtenho do método : 'USB:Printer POS-80'

  • Consultores
Postado

@Próton Sistemas
Bom dia !
Por favor, consegue anexar aqui p nós a primeira página do auto-teste da i9 ?

Semelhante a esta:
image.png

Desligue a impressora, ligue com o botao avanco pressionado. apos o termino, pressione avanco novamente p liberar do teste.

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado (editado)

Bom dia a todos!

@Daniel Simoes

"parece tudo correto...

Por favor nos dê mais subsídios, de como o problema ocorre, e como podemos reproduzir ele"

Essa é a grande questão. Não conseguimos simular e nem há um indício. Ocorre de forma intermitente e sem um padrão....
Já ocorreu na impressão do relatório de abertura do caixa, mas ocorre com mais frequência, mesmo que de forma intermitente, durante
a impressão de um danfe a cada X. 



@Daniel InfoCotidiano

image.thumb.jpeg.49ad2c49797a80c4a399cdcbc20f02a3.jpeg

Editado por Próton Sistemas
  • Fundadores
Postado

O ACBrPosPrinter é sem dúvida um dos nossos componentes mais utilizados... note que não temos relatos semelhantes no forum ou Discord... e como o ACBrPosPrinter apenas envia o Texto com comando EscPos para a impressora eu creio que dificilmente o problema seja nele... pois uma falha no Escpos enviado não geraria erro semelhante na impressora...

Algumas suspeitas:

- Defeito no cabo da Impressora

- Defeito na Impressora

- Resíduo de relatório anterior, do Spool do Windows...

- Uso concorrente da impressora (ACBr e Spool)

 

Se seu sistema envia outros relatórios a impressora, usando Fortes, Fast ou outro gerador de relatórios.... foque nas duas últimas opções

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.

  • Consultores
Postado

esse buffer de imagem geralmente é de qual tamanho?

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Membros Pro
Postado

@Victor H. Gonzales - Panda

Varia bastante. Mas por exemplo,  a imagem que anexei a este post como exemplo da ocorrência do problema, completa, possui 193K.

Para a impressão de imagem algumas impressoras não suportavam enviar toda a imagem de vez. 18k é o máximo que observamos em alguns
modelos e por isso definimos como quantidade de envio   
ACBrPosPrinter1.Device.SendBytesCount := 1024 * 16;

Controlamos tb o intervalo de envio, pois algumas impressoras não suportaram  o envio completo e por garantia, definimos o mesmo tempo para todas
ACBrPosPrinter1.Device.SendBytesInterval := 100;

  • Membros Pro
Postado (editado)
14 minutos atrás, Próton Sistemas disse:

@Victor H. Gonzales - Panda

Varia bastante. Mas por exemplo,  a imagem que anexei a este post como exemplo da ocorrência do problema, completa, possui 193K.

Para a impressão de imagem algumas impressoras não suportavam enviar toda a imagem de vez. 18k é o máximo que observamos em alguns
modelos e por isso definimos como quantidade de envio   
ACBrPosPrinter1.Device.SendBytesCount := 1024 * 16;

Controlamos tb o intervalo de envio, pois algumas impressoras não suportaram  o envio completo e por garantia, definimos o mesmo tempo para todas
ACBrPosPrinter1.Device.SendBytesInterval := 100;

Ou seja, neste caso o texto era relativamente "grande", mas já houve ocorrência em cenários menores.
Tendo havido um caso onde o problema ocorreu na abertura do caixa no momento da impressão da abertura (primeira impressão do dia).

 

Editado por Próton Sistemas
  • Fundadores
Postado

Humm.. algum problema no envio de imagem, poderia sim, causar um problema semelhante ao da foto original...

Você envia o Logotipo ?

Se SIM, Seria mais rápido (e livre de problemas) gravar o Logo na memória da impressora, e só enviar o comando de impressão de Logo

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 (editado)

Bom dia!

@Daniel Simoes @Daniel InfoCotidiano @Victor H. Gonzales - Panda

"Você envia o Logotipo ?

Se SIM, Seria mais rápido (e livre de problemas) gravar o Logo na memória da impressora, e só enviar o comando de impressão de Logo"

Sim, enviamos a logo.  Como fazemos?

1 - Temos um TACBrNFeDANFCEFR conectado ao TACBrNFe e a partir dele fazemos um export para um TfrxBMPExport.
2 - Fazemos um render bitmap a partir do arquivo exportado para passarmos como parâmetro para o TACBrPosPrinter.ImprimirCmd(RenderBitmap).
3 - Como mencionado, não mandamos a imagem de uma única vez, "fatiamos" em blocos de aproximadamente 16k, com intervalos de 100ms entre os blocos.

Sua sugestão, se entendi bem, seria não carregarmos a logo como fazemos e passarmos a enviá-la para a memória da impressora. Mas isso precisaria ser feito através do software de cada impressora. Hoje temos mais mil impressoras ativas, o que tornaria complexa essa mudança. Teríamos alguma outra alternativa para evitarmos o problema, mas mantendo nossa arquitetura??

 

Editado por Próton Sistemas
  • Membros Pro
Postado

Uma outra questão a ser ressaltada, é que temos clientes que não usam logo, mas ocorre o problema. Relatórios de fechamento e abertura não possuem logo, mas também ocorrem

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