PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Aposentar a LX300
Versão:
12.1.33
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário HEITOROF HEITOROF em 28/02/2024, 09:15 h
Local: MG  Registro: 03/09/2009  Postagens: 20
Boa noite,

Pretendo aposentar a LX300.
Imprimo hj em dia um comprovante de Ordem de Serviço (Customizado), em papel carbonado de 2 vias em uma LX300. Papel de 80 colunas em formato bobina.
Desejo substituir a LX por um Bematech 4200 (térmica não fiscal).

Se eu rodar na 4200, perco a formatação.

O fonte utiliza SetPrint, e li que se trata de um método específico para matriciais e sem muito recurso para formatar o PRW, e encaixar tudo na bobina da 4200.

Emfim...

Preciso de uma ajuda e direcionamento para apontar o melhor método para eu poder alterar meu PRW.

Seria o FWMSPrinter?
Ou existe algum método mais indicado para lidar com a MP4200 e realizar o update?

Desde já, agradeço quem puder ajudar.

E tb parabenizar o mantenedor deste portal. Muito bom!

Atte,

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 11/03/2024, 15:52 h
Local: PR  Registro: 04/07/2017  Postagens: 546
BOA TARDE.

Vc vai ter quer fazer alguns ajustes no fonte de impressão.

tenho um fonte que fiz aqui para este tipo de impressora, veja se os comandos são os mesmos.

O envio para a impressora pode ser via setprint



SD3->(dbsetorder(2)) ; SD3->(dbseek(xfilial("SD3")+MV_PAR01))

SF5->(dbsetorder(1)) ; SF5->(dbseek(xfilial("SF5")+SD3->D3_TM))


cTexto := ""

cTexto += CHR(27) + "!" + Chr(00) + "EMP TESTE " + CRLF

cTexto += CHR(27) + "!" + Chr(09) + "COMPROVANTE DE MOVIMENTO    ARMAZEM " + SD3->D3_LOCAL + CRLF          // Inicializa e finaliza compactado

cTexto += CHR(27) + "!" + Chr(01) + "Nr DOCUMENTO "+SD3->D3_DOC+" EMISSAO "+dtoc(SD3->D3_EMISSAO) + CRLF // Inicializa e finaliza compactado

cTexto += CHR(27) + "!" + Chr(01) + "OPERADOR "+SD3->D3_USUARIO + CRLF                                    // Inicializa e finaliza compactado

cTexto += CHR(27) + "!" + Chr(01) + "TIPO MOV "+SD3->D3_TM + CRLF
cTexto += ltrim(subs(SF5->F5_TEXTO,1,42)) + CRLF              

cTexto += CHR(27) + "!" + Chr(01) + repl("-",42) + CRLF

cTexto += " " + CRLF
cTexto += " " + CRLF
cTexto += " " + CRLF

cTexto += repl("-",42) + CRLF

cTexto += " " + CRLF
cTexto += " " + CRLF
cTexto += " " + CRLF

@ Prow(),pCol() psay cTexto

Set Device To Screen

If aReturn[5] == 1
   Set Printer TO
   dbcommitAll()
   ourspool(wnrel)
Endif

MS_FLUSH()


return





/cManda := ""
//cManda += CHR(27) + "!" + CHR(00) + "INICIAR NORMAL "               + CRLF // Inicializa a impressora
//cManda += CHR(27) + "!" + CHR(01) + "INICIAR COMPACTADO "            + CRLF // Inicializa e finaliza compactado
//cManda += CHR(27) + "!" + Chr(09) + "INICIAR COMPACTADO COM NEGRITO" + CRLF // Inicializa e finaliza compactado
//cManda += CHR(27) + "!" + CHR(08) + "ATIVA NEGRITO "                 + CRLF // Ativa e desativa negrito
//cManda += CHR(27) + "!" + CHR(00) + "INICIAR NORMAL "               + CRLF // Inicializa a impressora
//cManda += CHR(27) + "!" + Chr(16) + "ATIVA DUPLA LINHHA"             + CRLF // Inicializa e finaliza o negrito
//cManda += CHR(27) + "!" + Chr(128) + "ATIVA SUBLINHADO"               + CRLF // Inicializa e finaliza o negrito
//cManda += CHR(27) + "!" + Chr(32) + "ATIVA EXPANDIDO"               + CRLF // Inicializa e finaliza o negrito

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário HEITOROF HEITOROF em 14/03/2024, 17:06 h
Local: MG  Registro: 03/09/2009  Postagens: 20
Boa tarde Roberto.

Obrigado pela ajuda.

Você pode me enviar o fonte de exemplo para eu poder analisar como posso adaptar o meu?

Agradeço,


Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 15/03/2024, 13:03 h
Local: PR  Registro: 04/07/2017  Postagens: 546

//***********************
User Function etiqSAlmox(lPtoEnt)
//***********************

tamanho          :=     "P"
limite          :=     80
titulo           :=     "Etiquetas para Saída de Matéria Prima no Almoxarifado"
cDesc1           :=     " "
cDesc2           :=     "Este programa ira emitir Etiquetas para Saída de Matéria Prima no Almoxarifado"
cDesc3           :=     " "
aReturn      :=      { "Especial", 1,"Administracao", 1, 2, 2,"",1 }
nomeprog     :=      "EtiqSAlmox"
cPerg          :=     "ETIQSALMOX"
nLastKey     :=     0
lContinua      :=     .T.
nLin          :=     0
wnrel           :=     "EtiqSAlmox"
cString          :=     "SD3"


//SetPrint( cAlias,cProgram , [ cPergunte ] , [ cTitle ] [ cDesc1 ] [ cDesc2 ] [ cDesc3 ] [ lDic ] [ aOrd ] [ lCompres ] [ cSize ] [ uParm12 ] [ lFilter ] [ lCrystal ] [ cNameDrv ] [ uParm16 ] [ lServer ] [ cPortPrint ] ) --> cReturn

//wnrel     :=     SetPrint(cString,wnrel,cPerg,Titulo,cDesc1,cDesc2,cDesc3,.F.,,,,,,,,.T.,,"LPT1")

wnrel := SetPrint(cString,wnrel,cPerg,Titulo,cDesc1,cDesc2,cDesc3,.T.)

if nLastKey == 27
   return
endif

// MV_PAR01 Numero da MOvimentação Interna

   MV_PAR01:=D3_DOC

   setdefault(aReturn,cString) // Verifica Posicao do Formulario na Impressora
   rptstatus({|| RptDetail(),Titulo})

return




************************
STATIC FUNCTION RPTDETAIL()
************************

SD3->(dbsetorder(2)) ; SD3->(dbseek(xfilial("SD3")+MV_PAR01))

SF5->(dbsetorder(1)) ; SF5->(dbseek(xfilial("SF5")+SD3->D3_TM))


cTexto := ""

cTexto += CHR(27) + "!" + Chr(00) + "EMP TESTE " + CRLF

cTexto += CHR(27) + "!" + Chr(09) + "COMPROVANTE DE MOVIMENTO    ARMAZEM " + SD3->D3_LOCAL + CRLF          // Inicializa e finaliza compactado

cTexto += CHR(27) + "!" + Chr(01) + "Nr DOCUMENTO "+SD3->D3_DOC+" EMISSAO "+dtoc(SD3->D3_EMISSAO) + CRLF // Inicializa e finaliza compactado

cTexto += CHR(27) + "!" + Chr(01) + "OPERADOR "+SD3->D3_USUARIO + CRLF                                    // Inicializa e finaliza compactado

cTexto += CHR(27) + "!" + Chr(01) + "TIPO MOV "+SD3->D3_TM + CRLF
cTexto += ltrim(subs(SF5->F5_TEXTO,1,42)) + CRLF              

cTexto += CHR(27) + "!" + Chr(01) + repl("-",42) + CRLF

cTexto += " " + CRLF
cTexto += " " + CRLF
cTexto += " " + CRLF

cTexto += repl("-",42) + CRLF

cTexto += " " + CRLF
cTexto += " " + CRLF
cTexto += " " + CRLF

@ Prow(),pCol() psay cTexto

Set Device To Screen

If aReturn[5] == 1
   Set Printer TO
   dbcommitAll()
   ourspool(wnrel)
Endif

MS_FLUSH()


return


Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário HEITOROF HEITOROF em 27/03/2024, 09:15 h
Local: MG  Registro: 03/09/2009  Postagens: 20
Obrigado Roberto.
Vou testar o fonte aqui.
Valeu!

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal