Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Boa tarde.

Estou com problemas para abrir uma gaveta com a Elgin VOX+

Segue o código utilizado :

v_acbr_ecf := TACBrECF.Create(Self);
v_acbr_ecf.Modelo := ecfNaoFiscal;
v_acbr_ecf.Porta := '\\localhost\VOX+';
v_acbr_ecf.Ativar;
v_acbr_ecf.EnviaComando( #27 + 'v' + #100);
v_acbr_ecf.Free;
Sleep(500);

 

Funciona em um cliente e no outro não, em ambiente de testes funciona normal. A impressora está compartilhada conforme Porta (Nome do compartilhamento VOX+).

O erro : I/O error 67

Alguém sabe o que é isso ?

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Membros Pro
Postado
17 horas atrás, Daniel Simoes disse:

Use o ACBrPosPrinter com o modelo ppEscElgin... no demo do ACBrPosPrinter você encontrará as Tags de abertura de gaveta 

image.png.7abe99643d5e90a922da91fe289d29f1.png

Não achei as tags de abertura de gaveta !!!

Seria :

 

ACBrPosPrinter1.Imprimir('<abre_gaveta>') ??

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Membros Pro
Postado
Em 03/08/2017 at 14:00, Daniel Simoes disse:

O Demo em Delphi parece estar desatualizado...

image.png

Daniel, eu atualizei os fontes e mesmo assim permanece o mesmo form que eu postei anteriormente.

Atualizei os fontes tanto do Delphi 7 quanto no delphi Seattle em duas máquinas diferentes.

Eu testei assim : ACBrPosPrinter1.Imprimir('<abre_gaveta>')  Não abriu a gaveta e não deu erro

Testei assim tb : ACBrPosPrinter1.Imprimir('</abre_gaveta>')  Também não abriu a geveta e gerou o mesmo erro quando usando o ACBrECF ou ACBrGAV !!

O que será que estou errando ?

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • 3 semanas depois ...
  • Membros Pro
Postado
Em 04/08/2017 at 19:11, Daniel Simoes disse:

o correto seria:


  ACBrPosPrinter1.Imprimir('</abre_gaveta>') 

Por favor tente com o PosPrinterTeste disponível para download... (acabei de atualizá-lo)

 

Daniel desenterrando o post, até agora não consegui abrir a gaveta.Mesmo usando o PosPrinter que você me passou. Dá o mesmo erro.

O maior problema é que fomos nós que vendemos a gaveta pro cliente e ele está uma fera.

Tem alguma outra idéia ?

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Fundadores
Postado

O problema pode estar na Impressora, que não está enviando o "pulso" corretamente...

Use o PosPrinterTeste e faça algumas variações nas opções demarcadas abaixo:

image.png

- Teste com outra Impressora, de outra marca e modelo...

  • 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 anos depois...
  • Membros Pro
Postado (editado)
Em 25/08/2017 at 14:18, Daniel Simoes disse:

O problema pode estar na Impressora, que não está enviando o "pulso" corretamente...

Use o PosPrinterTeste e faça algumas variações nas opções demarcadas abaixo:

image.png

- Teste com outra Impressora, de outra marca e modelo...

@Daniel Simoes olha eu voltando mais uma vez com este problema... Ainda não consigo fazer abrir a gaveta usando uma impressora VOX (em todos os clientes, deve ter uns 5 que ainda usam este demônio de impressora velha)

Segue o trecho do Log, no PosPrinterTeste eu consigo abrir a gaveta e no meu sistema não....

Log Meu Sistema (Aqui não abre a gaveta)

--------------------------------------------------------------------------------
ATIVAR - 27/04/20 18:23:31:659
  - Modelo.: EscElgin
  - TimeOut: 3
  - Arquivo: \\localhost\VOX
--------------------------------------------------------------------------------

-- 27/04 18:23:31:684 - LerStatusImpressora( 1 )
-- 27/04 18:23:31:684 -    stNaoSerial, 
-- 27/04 18:23:31:684 - Imprimir, Copias:1, DecodificarTags:SIM, TraduzirTags:SIM
-- 27/04 18:23:31:684 - </abre_gaveta>[CR][LF][LF]
-- 27/04 18:23:31:684 - TraduzirTag(</abre_gaveta>) -> [ESC]vnd
-- 27/04 18:23:31:684 - EnviarStringDevice - Inicializando: [GS][249] [NUL][ESC]2
-- 27/04 18:23:31:684 - EnviarStringDevice( [GS][249] [NUL][ESC]2[ESC]vnd[LF][LF])
-- 27/04 18:23:39:884 - Desativando a porta: \\localhost\VOX

--------------------------------------------------------------------------------
DESATIVAR - 27/04/20 18:23:39:884
--------------------------------------------------------------------------------


Log PosPrinterTeste (Aqui abre a gaveta)

--------------------------------------------------------------------------------
ATIVAR - 27/04/20 18:22:29:320
  - Modelo.: EscElgin
  - TimeOut: 3
  - Arquivo: \\localhost\VOX
--------------------------------------------------------------------------------

-- 27/04 18:22:31:012 - LerStatusImpressora( 1 )
-- 27/04 18:22:31:012 -    stNaoSerial, 
-- 27/04 18:22:31:012 - Imprimir, Copias:1, DecodificarTags:SIM, TraduzirTags:SIM
-- 27/04 18:22:31:012 - </abre_gaveta>[LF]
-- 27/04 18:22:31:017 - TraduzirTag(</abre_gaveta>) -> [ESC]vn[200]
-- 27/04 18:22:31:017 - EnviarStringDevice - Inicializando: [GS][249] [NUL][ESC]2
-- 27/04 18:22:31:017 - EnviarStringDevice( [GS][249] [NUL][ESC]2[ESC]vn[200][LF])
-- 27/04 18:22:31:022 - Desativando a porta: \\localhost\VOX

--------------------------------------------------------------------------------
DESATIVAR - 27/04/20 18:22:42:724
--------------------------------------------------------------------------------


A única coisa que ví diferente entre os 2 é um [200] em 2 linhas que no meu log não tem, e um [CR][LF] em outra linha, do resto idêntico... Já não sei mais o que fazer !!!

Se alguém conseguir me dar uma luz eu agradeço muito (pago um almoço na churrascaria rsssss)....

Editado por Edevair Viesa Junior
Esqueci de marcar quem está me ajudando

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Membros Pro
Postado
Em 25/08/2017 at 14:18, Daniel Simoes disse:

O problema pode estar na Impressora, que não está enviando o "pulso" corretamente...

Use o PosPrinterTeste e faça algumas variações nas opções demarcadas abaixo:

image.png

- Teste com outra Impressora, de outra marca e modelo...

Em todas as outras impressoras e marcas tudo ok, funcionando perfeito, sei que o problema é com meu sistema, só não sei onde estou errando. Só com a vox que não vai...

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Moderadores
Postado
25 minutos atrás, Edevair Viesa Junior disse:

A única coisa que ví diferente entre os 2 é um [200] em 2 linhas que no meu log não tem, e um [CR][LF] em outra linha, do resto idêntico... Já não sei mais o que fazer !!!

Também tem diferença no comando de abertura:

25 minutos atrás, Edevair Viesa Junior disse:

-- 27/04 18:23:31:684 - TraduzirTag(</abre_gaveta>) -> [ESC]vnd

para

25 minutos atrás, Edevair Viesa Junior disse:

-- 27/04 18:22:31:017 - TraduzirTag(</abre_gaveta>) -> [ESC]vn[200]

Aparentemente as configurações ACBrPosPrinter1.ConfigGaveta.TempoON e ACBrPosPrinter1.ConfigGaveta.TempoOFF estão diferentes na sua aplicação.

 

  • Curtir 2
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado
14 horas atrás, BigWings disse:

Também tem diferença no comando de abertura:

para

Aparentemente as configurações ACBrPosPrinter1.ConfigGaveta.TempoON e ACBrPosPrinter1.ConfigGaveta.TempoOFF estão diferentes na sua aplicação.

 

Ok. Eu mudei a configuração dos tempos, segue o log :

 

 

--------------------------------------------------------------------------------
ATIVAR - 28/04/20 09:03:13:259
  - Modelo.: EscElgin
  - TimeOut: 3
  - Arquivo: \\localhost\VOX
--------------------------------------------------------------------------------

-- 28/04 09:03:13:279 - LerStatusImpressora( 1 )
-- 28/04 09:03:13:279 -    stNaoSerial, 
-- 28/04 09:03:13:279 - Imprimir, Copias:1, DecodificarTags:SIM, TraduzirTags:SIM
-- 28/04 09:03:13:284 - </abre_gaveta>[CR][LF][LF]
-- 28/04 09:03:13:284 - TraduzirTag(</abre_gaveta>) -> [ESC]vn[200]
-- 28/04 09:03:13:284 - EnviarStringDevice - Inicializando: [GS][249] [NUL][ESC]2
-- 28/04 09:03:13:284 - EnviarStringDevice( [GS][249] [NUL][ESC]2[ESC]vn[200][LF][LF])
-- 28/04 09:03:21:503 - Desativando a porta: \\localhost\VOX

--------------------------------------------------------------------------------
DESATIVAR - 28/04/20 09:03:21:503
--------------------------------------------------------------------------------


Mesmo assim não abriu !

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Moderadores
Postado
11 minutos atrás, Edevair Viesa Junior disse:

Mesmo assim não abriu !

Hum... a única diferença agora é a quebra de linha (CR+LF) no final da string que você está enviando.

Consegue testar pela sua aplicação sem a quebra de linha no final?

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado
11 minutos atrás, BigWings disse:

Hum... a única diferença agora é a quebra de linha (CR+LF) no final da string que você está enviando.

Consegue testar pela sua aplicação sem a quebra de linha no final?

Exato, reparei exatamente nisso e retirei no meu sistema isso, achoi que estava indo pq usei da mesma forma que uso para impressão, com uma variável TStringList

						if g_usa_padrao_gaveta_esc_pos = 'S' then
						begin
							{v_texto := TStringList.Create;
							v_texto.Add('</abre_gaveta>');
							MD.ACBrPosPrinterGaveta.Buffer.Add(v_texto.Text);
							MD.ACBrPosPrinterGaveta.Imprimir;
							v_texto.Free;}
							MD.ACBrPosPrinterGaveta.Buffer.Add('</abre_gaveta>');
							MD.ACBrPosPrinterGaveta.Imprimir;
						end
						else
						begin
							{v_texto := TStringList.Create;
							v_texto.Add('<abre_gaveta>'+IntToStr(g_num_gaveta_esc_pos)+'</abre_gaveta>');
							MD.ACBrPosPrinterGaveta.Buffer.Add(v_texto.Text);
							MD.ACBrPosPrinterGaveta.Imprimir;
							v_texto.Free;}
							MD.ACBrPosPrinterGaveta.Buffer.Add('<abre_gaveta>'+IntToStr(g_num_gaveta_esc_pos)+'</abre_gaveta>');
							MD.ACBrPosPrinterGaveta.Imprimir;
						end;

Coloquei pra enviar o comando direto no add do método do PosPrinter e gerou um log exatamente igual ao do PosPrinterTeste e mesmo assim não abriu a gaveta !!

Segue o log gerado

--------------------------------------------------------------------------------
ATIVAR - 28/04/20 09:34:16:971
  - Modelo.: EscElgin
  - TimeOut: 3
  - Arquivo: \\localhost\VOX
--------------------------------------------------------------------------------

-- 28/04 09:34:16:986 - LerStatusImpressora( 1 )
-- 28/04 09:34:16:986 -    stNaoSerial, 
-- 28/04 09:34:16:986 - Imprimir, Copias:1, DecodificarTags:SIM, TraduzirTags:SIM
-- 28/04 09:34:16:991 - </abre_gaveta>[LF]
-- 28/04 09:34:16:991 - TraduzirTag(</abre_gaveta>) -> [ESC]vn[200]
-- 28/04 09:34:16:991 - EnviarStringDevice - Inicializando: [GS][249] [NUL][ESC]2
-- 28/04 09:34:16:991 - EnviarStringDevice( [GS][249] [NUL][ESC]2[ESC]vn[200][LF])
-- 28/04 09:34:25:186 - Desativando a porta: \\localhost\VOX

--------------------------------------------------------------------------------
DESATIVAR - 28/04/20 09:34:25:186
--------------------------------------------------------------------------------

 

Um detalhe, no ativar do PosPrinterTeste está indo rápido, quando dou o comando ativar pelo meu sistema dá um delay de uns 4 segundos e depois libera, no log não acusa este tempo...

Estou achando que o problema pode estar na hora de ativar não ? Mas o que pode ser ?

Segue código da configuração do componente :

					MD.ACBrPosPrinterGaveta.Modelo := TACBrPosPrinterModelo(g_modelo_gaveta_esc_pos);
					MD.ACBrPosPrinterGaveta.Porta := g_porta_gaveta_esc_pos;
					MD.ACBrPosPrinterGaveta.PaginaDeCodigo := TACBrPosPaginaCodigo(g_pag_cod_gaveta_esc_pos);
					MD.ACBrPosPrinterGaveta.TraduzirTags := True;
					MD.ACBrPosPrinterGaveta.ControlePorta := True;
					MD.ACBrPosPrinterGaveta.EspacoEntreLinhas := 0;
					MD.ACBrPosPrinterGaveta.LinhasEntreCupons := 0;
					MD.ACBrPosPrinterGaveta.ArqLOG := ExtractFileDir(Application.ExeName)+'\Logs\Esc Pos\Gaveta\Log '+FormatDateTime('dd-mm-yyyy', Now)+'.txt';
					MD.ACBrPosPrinterGaveta.Device.SendBytesCount := g_send_bytes_count_gaveta_esc_pos;
					MD.ACBrPosPrinterGaveta.Device.SendBytesInterval := g_send_bytes_interval_gaveta_esc_pos;
					MD.ACBrPosPrinterGaveta.Device.TimeOut := g_time_out_gaveta_esc_pos;
					MD.ACBrPosPrinterGaveta.Device.Baud := g_baud_gaveta_esc_pos;
					MD.ACBrPosPrinterGaveta.ConfigGaveta.SinalInvertido := g_sinal_invertido_gaveta_esc_pos;
					MD.ACBrPosPrinterGaveta.ConfigGaveta.TempoON := g_tempo_on_gaveta_esc_pos;
					MD.ACBrPosPrinterGaveta.ConfigGaveta.TempoOFF := g_tempo_off_gaveta_esc_pos;
					MD.ACBrPosPrinterGaveta.Ativar;

 

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Fundadores
Postado

Experimente chamar o método do componente

    procedure AbrirGaveta(NumGaveta: Integer = 1);

Experimente informar Gaveta 1 ou 2

Notei que a Porta é Rede compartilhada... experimente usa o modo RAW, ou USB

 

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

  • Moderadores
Postado
2 horas atrás, Edevair Viesa Junior disse:

Coloquei um teste de ativação e a ativação vai rápido mesmo, o que está demorando é o envio do comando para abertura...

No seu teste é feito apenas abertura de gaveta, ou tem impressão pelo spooler antes?

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
  • Solution
Postado
3 horas atrás, Daniel Simoes disse:

Experimente chamar o método do componente

    procedure AbrirGaveta(NumGaveta: Integer = 1);

Experimente informar Gaveta 1 ou 2

Notei que a Porta é Rede compartilhada... experimente usa o modo RAW, ou USB

 

@Daniel Simoes eu tentei usar o comando sim, inclusive usando o spooler do windows com o RAW mas mesmo assim não abriu a gaveta...

3 horas atrás, BigWings disse:

No seu teste é feito apenas abertura de gaveta, ou tem impressão pelo spooler antes?

@BigWings o teste é feito apenas na abertura da gaveta sem impressão, nem esc pos e nem spooler....

Agradeço aos dois pelas dicas, mas acabei achando a solução... Aliás uma das dicas ajudou bastante, de acordo com a informação do @Daniel Simoes referente ao compartilhamento, eu fiz a desinstalação TOTAL da impressora incluindo o spooler, aí instalei ela novamente, mas usando o método de instalação de Porta Serial Virtual, conforme artigo aqui mesmo do fórum, que fizeram para instalação da I7 e I9, e voilá funcionou que é uma beleza, até o ESC POS na impressão que as vezes cortava um pouco no lado direito com a VOX agora está perfeito... Fizemos já em mais 2 outros clientes e está tudo funcionando, inclusive com a abertura da gaveta, usando a porta serial virtual....

Agradeço muito a paciência e ajuda de todos !!!

Muito Obrigado !

  • Curtir 1
  • Obrigado 1

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Obrigado 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 !!

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