[Resolvido] Problema de impressão na LX300 com Win8.1 em rede...

Moderador: Avelino Sampaio

leandro_clp
Mensagens: 6
Registrado em: 04 Dez 2016, 13:03

[Resolvido] Problema de impressão na LX300 com Win8.1 em rede...

Mensagempor leandro_clp » 26 Jul 2017, 01:53

Amigos, atualizei meu sistema da versao 2003 para a 2016.

Possuo um relatorio personalizado (tamanho de papel 24cm largura x 14cm de altura) usado p/ impressao de cupom nao fiscal.

A impressora LX300 +II está instalada em uma maquina com Win7 Pro (porem com o Office 2013) e compartilhada na rede com seu driver devidamente instalado e configurado esse papel personalizado como padrão e localmente imprime normalmente.

Para uso desse papel personalizado tenho comandos diretos da impressora rm um botao que sao acionados antes e depois da impressao do relatorio que retrocedem e avançam a folha deixando pronto pra proxima impressao.

O problema ocorre que em outra maquina da rede com Win8.1 que ao mandar a impressao (atraves de um botao unico) sai desconfigurada e parece que os comandos diretos da impressora nao sao reconhecidos.

O detalhe é que quando esses comandos sao executados separadamente
(criei botoes separados para teste) a impressao ocorre normalmente.

O driver correto da impressora foi instalado corretamente e me parece ser algo dessa versão, visto que no WinXP funcionava normal. Ou seria referente ao driver dessa impressora para o Win8.1 ?

Ja estou ha uns dias quebrando a cabeça e ate agora nada e ainda so com uma maquina imprimindo.

Abs!
Última edição por leandro_clp em 20 Ago 2017, 15:29, editado 1 vez no total.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


leandro_clp
Mensagens: 6
Registrado em: 04 Dez 2016, 13:03

Re: Problema de impressão na LX300 com Win8.1 em rede...

Mensagempor leandro_clp » 29 Jul 2017, 23:17

Os comandos de impressão separadamente são os abaixo...e o ultimo é quem chama o relatorio:

Private Sub btCOMANDOS_IMPRESSAO1_Click()
Dim caminhoDaImpressora As String
caminhoDaImpressora = "\\PC01\EpsonLX300"

Open caminhoDaImpressora For Output As #1 'Abre a porta de impressão

Print #1, Chr(27) + Chr(106) + Chr$(250)
Print #1, Chr(27) + Chr(106) + Chr$(250)
Print #1, Chr(27) + Chr(106) + Chr$(165)

Print #1, Chr(27) + Chr(106) + Chr$(201)

Close #1
End Sub



Private Sub btCOMANDOS_IMPRESSAO2_Click()
Dim caminhoDaImpressora As String
caminhoDaImpressora = "\\PC01\EpsonLX300"

Open caminhoDaImpressora For Output As #1 'Abre a porta de impressão

Print #1, Chr(10)
Print #1, Chr(10)
Print #1, Chr(10)
Print #1, Chr(10)
Print #1, Chr(10)
Print #1, Chr(10)

Print #1, Chr(10)
Print #1, Chr(10)

Print #1, Chr(10) & Chr(13)

Print #1, Chr(101)
Print #1, Chr(101)

Close #1
End Sub




Private Sub btIMPRIMIR_PERS_Click()
Dim strNomeDoDoc As String
Dim strFiltro As String
strNomeDoDoc = "rptPEDIDO_MINI_FINALIZADO"
strFiltro = "cod_pedido = Forms!frmPEDIDO_FINALIZADO!cod_pedido"

btCOMANDOS_IMPRESSAO1_Click
DoCmd.OpenReport strNomeDoDoc, , , strFiltro
btCOMANDOS_IMPRESSAO2_Click
End Sub



Criei um botão pra cada comando de impressão e um que chama o relatorio e assim é executado corretamente (1 clique por vez)...só por aí percebe-se entao que a impressora reconhece os comandos e que o driver está correto.

Ao chamar esse botão acima "btIMPRIMIR_PERS" (executando os codigos em sequencia num unico botao) o problema ocorre...

E fazendo testes mais aprofundados percebi que o erro ocorre porque o "btCOMANDOS_IMPRESSAO2" é executado antes da impressão do relatorio, ou seja, ele "atropela" os anteriores...e isso só pela rede.

Abs!

leandro_clp
Mensagens: 6
Registrado em: 04 Dez 2016, 13:03

[Resolvido] Problema de impressão na LX300 com Win8.1 em rede...

Mensagempor leandro_clp » 20 Ago 2017, 15:28

A solução foi o comando sleep...isso gerou um tempo entre um comando e outro e a impressão está ocorrendo normalmente.

Resumindo abaixo:

*em sistema de 32bits
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


*em sistema de 64bits
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)



* no botão:

btCOMANDOS_IMPRESSAO1_Click
Sleep (3000)
DoCmd.OpenReport strNomeDoDoc, , , strFiltro
Sleep (3000)
btCOMANDOS_IMPRESSAO2_Click



Abs!

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Relatórios”

Quem está online

Usuários neste fórum: Google [Bot] e 5 visitantes