Tempo aproximado para leitura: 00:03:00 min
Dúvida
É possível imprimir via rede utilizando a Classe MSCBprinter ou apenas via LPT ou COM* ?
Ambiente
Cross Segmentos - Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.80
Solução
Como as portas homologadas para impressão térmica são somente Serial(COM) e Paralela(LPT), temos como alternativa paliativa a emulação da porta, que neste exemplo seria via NET USE do Windows.
Seguem as orientações para configuração:
1º) Instalar a impressora e seus drivers no servidor de impressão.
2º) Compartilhar a impressora na rede.
3º) Em cada máquina que enviará a impressão, instalar a impressora que foi compartilhada na rede.
4º) Na máquina que enviará a impressão, via CMD.exe, mapear a impressora na porta LPT* utilizando o comando:
NET USE * \\ IP \IMPRESSORA
'*' é a porta que irá mapear: LPT1, LPT2, COM1, COM2...) Posteriormente testar a impressão das etiquetas passando como porta o nome * que foi mapeado (ex: LPT1)
Exemplo de código:
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
User Function Impressora()
Local cPorta := "LPT1" // Mapeamento feito através de NET USE
Local cModelo := "ZEBRA"
MSCBPRINTER(cModelo, cPorta,,10,.F.,,,,,,.F.,)
MSCBCHKSTATUS(.F.)
MSCBBEGIN(1,6)
MSCBSAY(10,10,"TESTE IMPRESSAO EM REDE", "N","A","040,030")
MSCBEND()
MSCBCLOSEPRINTER()
Return
Reforçamos que essa solução é paliativa, caso não funcione com determinado modelo de impressora, a equipe ADVPL somente realizará os testes na porta direta, conforme homologado.
0 Comentários