Imprimi Página | Fechar janela

Selecionar porta USB para impressão

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=43006
Data da Impressão: segunda-feira, 9 de dezembro de 2019 at 12:57


Topico: Selecionar porta USB para impressão

Postado por: EDUARDONET
Assunto: Selecionar porta USB para impressão
Data Postagem: quinta-feira, 28 de novembro de 2019 at 11:09

Bom dia pessoal !

Instalei duas impressoras térmicas(ALLEGRO) num computador utilizando portas USB.
Numa impressora utilizo etiquetas grandes e na outra etiquetas pequenas.
Via programa ADVL quero imprimir na devida impressora o modelo de etiqueta selecionada.

Meu problema ocorre exatamente nesse ponto, a impressão acontece somente numa impressora, independente do modelo de etiqueta selecionada.

Como endereçar a impressão via programa, ora para USB001, ora para USB002 ?

Desde já agradeço a atenção dos colegas.



Respostas:

Postado Por: CELSODC
Data Postagem: quinta-feira, 28 de novembro de 2019 at 15:03

Boa tarde EDUARDONET, segue:

MsCBPrinter( "ALLEGRO", _cPorta,,, .F.,,,,, )

Onde _cPorta = "USB001" ou "USB002"

Caso utilize uma impressora em rede, deve utilizar NETUSE, ok?

Celso Costa
TI9 Consultoria
(19) 99696-2979



Postado Por: EDUARDONET
Data Postagem: sexta-feira, 29 de novembro de 2019 at 09:17

Bom dia Celso, obrigado pelo retorno !

Infelizmente já realizei esse teste, mas sem sucesso.
O Windows não aceita utilizar esse nome de recurso.

Ocorre erro conforme abaixo:

C:\Users\eduardo>net use usb001 \\T-TI-03\ETIQUETA_GRANDE
Erro de sistema 67.

O nome da rede não foi encontrado.

Como LPT1 consigo mapear, mas sem sucesso na impressão.

C:\Users\eduardo>net use lpt1 \\T-TI-03\ETIQUETA_GRANDE
Comando concluído com êxito.

Segue abaixo código ADVPL:

cDirBat := "\\gaviao\Public\Atalhos\SETA_IMPR_ALLEGRO.BAT"
//                                  NET USE %1 /del; NET USE %1 %2
Do Case
   Case cPorta == ‘1‘
        cPorta := ‘USB001‘               
        shellExecute("Open",cDirBat,cPorta + " \\T-TI-03\ETIQUETA_GRANDE","D:\",1)

   OtherWise // cPorta == 2
        cPorta := ‘USB002‘               
        shellExecute("Open",cDirBat,cPorta + " \\T-TI-03\ETIQUETA_PEQUETA","D:\",1)

EndCase

MSCBPRINTER("ALLEGRO",cPorta,,10,.F.,,,,,,.F.,)






Imprimir Página | Fechar Janela