Ir para conteúdo
  • Cadastre-se

dev botao

impressao do sat para e reinicia apos sair do programa


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

Recommended Posts

  • Membros Pro
Postado

Ola Srs do Acbr esta acontecendo algo intermitente, as vezes a impressao do sat para e apos isso somente saindo do programa e quando inicio novamente o programa,

ai libera a impressao do cupom sat , e como se tivesse algum problema com a porta e interrompesse e depois saindo e entrando no programa novamente libera a impressao

será que tem a ver alguma coisa com o spool do windows , sei lá ...preciso de uma luz....isso acontece as vezes.....umas 5 vezes no dia, num ambiente bem pauleira...

nao estou usando controleporta = true....e nao tem mais ninguem usando as portas, somente meu sistema com sat...

estou usando la como no exemplo do acbr ... prepararimpressao... comeca abcrposprinter.desativar = true.... e depois acbrsat.imprimirextrato...

mas apos o acbrsat.imprimirextrato nao teria que desativar novamente? 

minha pergunta é :  o acbrsat.imprimirextrato se acbrposprinter estiver desativado ele ativa? e apos imprimir ele desativa?  

sei lá ...nao entendi ..isso ainda...talvez o Daniel ou outro membro possa dar uma dica para esse problema da impressao ficar presa e liberar apos sair e entrar

no sistema novamente..... 

  • Consultores
Postado
40 minutos atrás, geanjesus disse:

esta acontecendo algo intermitente, as vezes a impressao do sat para e apos isso somente saindo do programa e quando inicio novamente o programa,

ai libera a impressao do cupom sat

Você verificou se há alguma informação nos logs do componente e do SAT?

Tentou adicionar algum log na sua aplicação para validar o que está acontecendo?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Membros Pro
Postado

como isso esta acontecendo num cliente, ainda nao tive acesso aos logs, somente me foi passado os problemas por enquanto , vou tentar colocar mais 

algum log, para analisar... e depois retorno....mas deve ter a ver com porta de impressao ou spool do windows ,  a minha pergunta ´: 

quando usa escpos quando voce manda para impressora fica armazenado no buffer da impressora ou fica no spool do windows, eu nao entendo isso....

porque apos sair e entrar no programa , comeca a imprimir o cupom?

  • Consultores
Postado
1 hora atrás, geanjesus disse:

quando usa escpos quando voce manda para impressora fica armazenado no buffer da impressora ou fica no spool do windows, eu nao entendo isso....

porque apos sair e entrar no programa , comeca a imprimir o cupom? 

ESC/POS é comunicação direta com a impressora. Geralmente, você configura a porta da impressora e os comandos vão pra ela.

Então a menos que esteja configurado de uma forma diferente, não passa pelo spool do Windows.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Membros Pro
Postado

eu sempre a porta compartilhada . por ex.   \\localhost\elgini9  ,  onde a porta esta na com4 atraves de emulador pela usb,

 sera que se eu colocar a porta direta em vez de compartilhada,  ou desfazer toda instalacao da impressora e instalar como usb e compartilhar , vai resolver?

vou tentar essas possibilidades...

  • Fundadores
Postado

A Elgin I9 pode trabalhar em modo COM Virtual, pela USB... isso é o melhor cenário para essa impressora... pois não dependeria nem mesmo da instalação do Driver Spool no Windows, bastando apontar a porta COMx no componente ACBrPosPrinter

Baixe na página do Fabricante, o Elgin Utility... com ele você pode ativar o modo USB -> COM Virtual.. e após isso, verifique nos Gerenciador de Dispositivos do Windows, qual a porta COM foi criada e atribua-a a Porta do ACBrPosPrinter, Exemplo:

ACBrPosPrinter1.Porta := "COM3"

Ou seus problemas podem estar no compartilhamento do Windows... Se realmente deseja imprimir usando o Spooler do Windows, use na propriedade Porta do ACBrPosPrrinter a Sintaxe "RAW" Exemplo:

ACBrPosPrinter1.Porta := "RAW:Nome da impressora"

 

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

Ola Daniel fiz as sugestoes acima mas o problema continua, porem agora eu dei uma acompanhada no cliente e percebi que o problema esta na hora de imprimir o comprovante

do TEF, voce sabe que o comprovante nos imprimimos atraves do retorno que vem da operadora, ai , eu estava pensando.....

será que está vindo algum caracter estranho , no comprovante que interfere, e para a impressora?....seria uma idéia....

entao como eu poderia lidar com isso? poderia limpar cada linha de dados antes de mandar para o acbrdevice?

a pergunta é , no acbr , nao existe uma verificacao de cada linha que é mandado para impressao ? e se nao é um caracter inválido?

Pois eu suspeito que possa estar vindo junto com o texto do comprovante algo estranho e isso pode estar parando a impressora pois

apareceu uma mensagem Erro ao Imprimir em ELGIN I9  A Impressora não pôde imprimir ACBRDEVICE

 

  • Fundadores
Postado
8 minutos atrás, geanjesus disse:

Pois eu suspeito que possa estar vindo junto com o texto do comprovante algo estranho e isso pode estar parando a impressora pois

Seria necessário analisar o Log do ACBrPosPrinter, para verificar se algum caractere estranho é enviado a impressora...

Não creio que seja esse o problema... pois centenas de aplicações, já homologaram em TEF sem a ocorrência desse problema...

Sem um passo a passo preciso, de como reproduzir o problema, eu não tenho como investigar....

 

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

  • Membros Pro
Postado (editado)

É estranho pois se eu desabilito o TEF , trabalha sem tef ai nao ocorre o erro,  e somente ocorre o erro quando esta comecando ou imprimindo o comprovante do tef.... as vezes e no comeco da 1 via ou no começo da 2 via, e nao é sempre não, isso é bem interminente...porisso da minha suspeita....

o que eu faço, pego a resposta do TEF e armazeno num stringlist e depois passo linha a linha para o acbrposprinter do jeito que veio do

tef sem nenhum tratamento dos dados.... sei lá vou ter que montar dinovo um ambiente com o tef , para poder analizar , ou vou colocar um log  emtudo que é lugar que comunic com o tef ate a impressao....para ver...no que dá...

Editado por geanjesus
  • Membros Pro
Postado

OLA  Daniel , eu estive observando, e na impressao do comprovante do TEF  eu como ja disse acima uma stringlist onde eu carrego os dados vindos do TEF

o que eu percebi é que acbrposprinter.imprimirlinha (linha[x]) com uma quantidade de 30 linhas mais ou menos, esta muito mas muito mais lento do que quando

eu imprimo o cupom do SAT, voce sabe me dizer se talvez nao seja isso, o tempo de impressao pode estar influenciando, pois eu imprimo o cupom logo em seguida

do cupom do tef mas , nao existe uma sequencia, pois um programa imprime o comprovante do tef e outro programa imprime o cupom do Sat, por arquivo texto e num timer acertado para que seja apos o comprovante...

A pergunta é :  como eu faria para imprimir as linhas tao rapido como o cupom , visto que na impressora as configuracoes sao a mesma para ambos, velocidade, porta e etc...

 

  • Membros Pro
Postado

Nao teria uma acbrposprinter.imprimetexto(aTstring:Tstring) ?????, para ativar e inicializar somente uma vez a impressora e depois descarregar todas as linhas???

ai acho que seria tao rapido quanto o cupom....

  • Fundadores
  • Solution
Postado

Use ACBrPosPrinter1.Buffer

Use a força, leia os fontes... Veja o código do botão Imprimir, do Demo PosPrinterTeste

  ACBrPosPrinter1.Buffer.Text := mImp.Lines.Text;
  ACBrPosPrinter1.Imprimir;    

 

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

  • Membros Pro
Postado

Ola Daniel muito obrigado,  mesmo que nao resolva o problema do travamento, pelo menos vai imprimir muito ,mas muito mais rapido o comprovante e assim

ja valeu porisso.. voces tem umas perolas por ai...as vezes precisamos ir cavando ate encontra-las ou pelo menos pedir algo parecido , que voces mesmo mostram o caminho...

valeu....

  • Curtir 2
  • Membros Pro
Postado

Ola Daniel realmente a impressao do Comprovante do tef agora usando buffer ficou extremamente rapido, muito bom....

mas o problema do travamento ainda continua,bem raro mas continua,  e para um paliativo , enquanto nao encontro o problema, vou tentar fazer por dentro do sistema 

o que faço para resolver hoje...

primeiro tenho que sair e entrar novamente do programa,

algumas vezes o cupom ja é liberado e imprime normalmente

isso seria  desativar e ativar a porta da impressora

a impressora as vezes precisa limpar o spool de impressao do windows 

e mandar reimprimir o cupom e o comprovante para  resolver...

entao pensei em colocar uma opcao nesses casos raros para fazer isso sem precisar sair do programa, ate eu descobrir o que realmente esteja acontecendo..

Para Limpar o Spool tenho isso e ja vi que funciona:

 WinExec(pchar('cmd /c net stop spooler') ,SW_HIDE); 
   WinExec(pchar('cmd /c del /f /s %systemroot%\system32\spool\PRINTERS\*.shd') ,SW_HIDE); 
   WinExec(pchar('cmd /c del /f /s %systemroot%\system32\spool\PRINTERS\*.spl') ,SW_HIDE); 
   WinExec(pchar('cmd /c net start spooler') ,SW_HIDE); 

 

Para desativar e ativar a porta Serial Virtual :

Acbrposprinter.desativar;

Acbrposprinter.ativar; 

nao funciona...

eu precisaria os comandos  ....para fechar,resetar,desativar a porta COM,   e depois ativar,abrir,novamente....

como era feito la nas impressoras fiscais

mas usando  os componentes do acbr....para impressoras nao fiscais...

 

 

 

 

  

  • Fundadores
Postado
17 horas atrás, geanjesus disse:

eu precisaria os comandos  ....para fechar,resetar,desativar a porta COM,   e depois ativar,abrir,novamente....

Mas se você está imprimindo por Spool (portas "RAW:Impressora" ou "\\nome\recurso" ), isso não faria sentido...

Se você imprime usando em Porta "COM1", "COMn"... então basta ligar o "ControlePorta", que o componente abre e fecha a porta, a cada comando enviado... (veja nos Logs)

 

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

  • 2 semanas depois ...
  • Membros Pro
Postado

Finalmente resolvido...

Ola Daniel, coloquei como Com3 ,  na impressora elgin i9 porta serial virtual pelo prolific , dai liguei o controleporta, nao funcionou, nao imprimiu nem um cupom....sem o controleporta imprimiu....mas ainda estava travando aleatoriamente..

entao ultilizei RAW:elgin i9  , imprimiu os cupons......mas continuava travando aleatoriamente. os cupm na impressao.....

utilizei compartilhamento \\localhost\i9   , imprimiu os cupons, porem continuava travando aleatoriamente a impressao do cupom....

agora apos mudar a impressora para USB, desisnstalar todos os drivers da impressora e inclusive o prolific...e reinstalar novamente e agora compartilhar a impressora na porta USB, finalmente nao travou mais....

passei aqui somente para relatar a solucao no meu caso...

OBs: ambiente de muita, mas muita pauleira..mesmo.....

 

 

  • Curtir 2
  • Obrigado 1
  • Este tópico foi criado há 2079 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.

The popup will be closed in 10 segundos...