Impressao direta na impressora de rede sem interface

Olá pessoal, temos aqui uma demanda de impressão de requisições ao almoxarifado de forma automática quando uma nota fiscal for emitida via faturamento ou seja realizada a entrada via documento de entrada. Neste sentido temos lá uma impressora não fiscal. No caso, a impressora é homologada da marca Bematech.

Configuramos a impressora em um servidor de impressão na rede e realizamos o compartilhamento. Gostaria do apoio de vocês sobre como executar essa impressão sem chamar a interface. Atualmente estou fazendo testes com a classe FwMsPrinter com os seguintes parâmetros.

nQtdCopy := 1

lViewPdf := .f.

lRaw := .f.

lServer := .f.

lAdjustToLegacy := .t.

lDisableSetup := .t.

cNomRel := 'Requisicao_'+StrTran(Time(), ":", "")

cPrinter := '\10.11.119.18\iR1643i'

FWMsPrinter():New(cNomRel, IMP_SPOOL, lAdjustToLegacy, Nil, lDisableSetup, NIL, NIL, cPrinter, lServer, NIL, lRaw, lViewPdf, nQtdCopy )

Ao executar a chamada com o Disable Setup = .T. ele apresenta a mensagem "Impressão via client exige impressora instalada na estação". Sendo assim, gostaria de entender se, realmente a impressora tem que estar instalada na máquina do usuário ou se pode ser usada desta forma via rede, visto que haverá apenas uma impressora no almoxarifado para as requisições irem de forma automática. Também sou aberto a exemplos ou uso de outra classe para tal uso.

Obrigado.

compartilhar
  • Bom dia Charles,

    Fizemos da seguinte forma aqui, deixamos a impressora como padrão na maquina local e utilizamos a classe TMSPrinter.

    E para validação da impressão sem apresentar a tela utilizamos o trecho de código abaixo:

    oPrn:EndPage() If !oPrn:IsPrinterActive() oPrn:Preview() Else fwWriteProfString( GetPrinterSession(), "LOCAL","CLIENT", .T. ) fwWriteProfString( GetPrinterSession(), "PRINTTYPE","SPOOL", .T. ) oPrn:Print() Endif

    Edson Maurcio Gonçalves   24 de Nov de 2022
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags imprimirseminterface fwmsprinter ou faça a sua própria pergunta.