×
Linguagem de Programação ADVPL
Perguntas Etiqueta Termica
- mbrigagao
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 350
- Obrigados Recebidos: 1
10 anos 6 meses atrás #22648
por mbrigagao
Respondido por mbrigagao no tópico Etiqueta Termica
Henrique, boa tarde.
Não consegui o fonte e inclusive parei o desenvolvimento da impressão.
Vou desenvolver apenas a montagem do conteudo da etiqueta (montar um arquivo temporario) que é a parte mais 'dificil' da minha necessidade.
A segunda etapa, vou passar para a TOTVS ou um terceiro, desenvolver o layout e efetuar impressão das etiquetas.
Não tenho tempo de ficar na tentativa e erro.
Abraço.
Não consegui o fonte e inclusive parei o desenvolvimento da impressão.
Vou desenvolver apenas a montagem do conteudo da etiqueta (montar um arquivo temporario) que é a parte mais 'dificil' da minha necessidade.
A segunda etapa, vou passar para a TOTVS ou um terceiro, desenvolver o layout e efetuar impressão das etiquetas.
Não tenho tempo de ficar na tentativa e erro.
Abraço.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 6 meses atrás #22649
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Etiqueta Termica
Marcelão assim que for contratar me dá um toque que passo um orçamento ok.
Abraços
Abraços
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Hanoch
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 1
- Obrigados Recebidos: 0
8 anos 9 meses atrás #29991
por Hanoch
Respondido por Hanoch no tópico Etiqueta Termica
Boa noite Henry.
Estou programando a impressão de etiquetas na Zebra modelo S4M usando o seu modelo.
Em que linha do fonte abaixo descrito, você define o tamanho da etiqueta?
#Include "PROTHEUS.CH"
#Include "RWMAKE.CH"
User Function REST002()
Local oReport
Private cPerg := 'REST002'
CriaSx1(cPerg)
Pergunte(cPerg,.T.)
Processa({ || xPrintRel(),OemToAnsi('Gerando o relatório.')}, OemToAnsi('Aguarde...'))
Return
Static Function xPrintRel()
Local nX := 0
Local nQtdPag := 0
Private oPrint
Private cAlias := getNextAlias() //cria um alias temporário
Private oFont06 := TFont():New('Arial',,06,,.F.,,,,.F.,.F.)
Private oFont06n := TFont():New('Arial',,06,,.T.,,,,.F.,.F.)
Private oFont08 := TFont():New('Arial',,08,,.F.,,,,.F.,.F.)
Private oFont08n := TFont():New('Arial',,08,,.T.,,,,.F.,.F.)
Private oFont10 := TFont():New('Arial',,10,,.F.,,,,.F.,.F.)
Private oFont10n := TFont():New('Arial',,10,,.T.,,,,.F.,.F.)
Private oFont12 := TFont():New('Arial',,12,,.F.,,,,.F.,.F.)
Private oFont12n := TFont():New('Arial',,12,,.T.,,,,.F.,.F.)
Private oFont13n := TFont():New('Arial',,13,,.T.,,,,.F.,.F.)
Private oFont14 := TFont():New('Arial',,14,,.F.,,,,.F.,.F.)
Private oFont14n := TFont():New('Arial',,14,,.T.,,,,.F.,.F.)
Private oFont26 := TFont():New('Arial',,26,,.F.,,,,.F.,.F.)
Private oFont26n := TFont():New('Arial',,26,,.T.,,,,.F.,.F.)
Private nLin := 0
BeginSql Alias cAlias
SELECT
PRO.B1_COD,
PRO.B1_DESC
FROM
SB1010 PRO
WHERE
PRO.B1_COD >= %exp:mv_par01%
AND PRO.B1_COD <= %exp:mv_par02%
AND PRO.D_E_L_E_T_ = %Exp:''%
AND PRO.B1_MSBLQL = %Exp:'2'%
ORDER BY
PROD.B1_COD
EndSql
(cAlias)->(dbGoTop())
oPrint := TMSPrinter():New(OemToAnsi('Etiqueta de produto'))
oPrint:SetPortrait()
//1cm +/- 117,5 px
//nQtdPag := (mv_par03 % 2)
//iif(nQtdPag = 0, nQtdPag := Int(mv_par03/2), nQtdPag := Int(mv_par03/2) + 1)
While !(cAlias)->(Eof())
oPrint:StartPage()
nLin := 0060
oPrint:Say(nLin,0045,alltrim((cAlias)->B1_DESC),oFont13n,,,,0)
MSBAR('CODE128',1.8,1.5,alltrim((cAlias)->B1_COD),oPrint,.F.,,.T.,0.080,4.5,,,,.F.)
nLin += 00680
oPrint:Say(nLin,0500,OemToAnsi(alltrim((cAlias)->B1_COD)),oFont13n,,,,0)
oPrint:EndPage()
(cAlias)->(dbSkip())
enddo
(cAlias)->(dbCloseArea())
oPrint:Preview()
oPrint:end()
Return
Static Function CriaSx1(cPerg)
PutSx1(cPerg,"01","Do Código Interno?" ,"Do Código Interno?" ,"Do Código Interno?" ,"mv_ch1","C",15,0,0,"G","","SB1","","","mv_par01")
PutSx1(cPerg,"02","Até Código Interno?" ,"Até Código Interno?","Até Código Interno?","mv_ch2","C",15,0,0,"G","","SB1","","","mv_par02")
//PutSx1(cPerg,"03","Qtde Etiquetas" ,"Qtde Etiquetas" ,"Qtde Etiquetas" ,"mv_ch3","N",05,0,0,"G","","" ,"","","mv_par03")
return
Estou programando a impressão de etiquetas na Zebra modelo S4M usando o seu modelo.
Em que linha do fonte abaixo descrito, você define o tamanho da etiqueta?
#Include "PROTHEUS.CH"
#Include "RWMAKE.CH"
User Function REST002()
Local oReport
Private cPerg := 'REST002'
CriaSx1(cPerg)
Pergunte(cPerg,.T.)
Processa({ || xPrintRel(),OemToAnsi('Gerando o relatório.')}, OemToAnsi('Aguarde...'))
Return
Static Function xPrintRel()
Local nX := 0
Local nQtdPag := 0
Private oPrint
Private cAlias := getNextAlias() //cria um alias temporário
Private oFont06 := TFont():New('Arial',,06,,.F.,,,,.F.,.F.)
Private oFont06n := TFont():New('Arial',,06,,.T.,,,,.F.,.F.)
Private oFont08 := TFont():New('Arial',,08,,.F.,,,,.F.,.F.)
Private oFont08n := TFont():New('Arial',,08,,.T.,,,,.F.,.F.)
Private oFont10 := TFont():New('Arial',,10,,.F.,,,,.F.,.F.)
Private oFont10n := TFont():New('Arial',,10,,.T.,,,,.F.,.F.)
Private oFont12 := TFont():New('Arial',,12,,.F.,,,,.F.,.F.)
Private oFont12n := TFont():New('Arial',,12,,.T.,,,,.F.,.F.)
Private oFont13n := TFont():New('Arial',,13,,.T.,,,,.F.,.F.)
Private oFont14 := TFont():New('Arial',,14,,.F.,,,,.F.,.F.)
Private oFont14n := TFont():New('Arial',,14,,.T.,,,,.F.,.F.)
Private oFont26 := TFont():New('Arial',,26,,.F.,,,,.F.,.F.)
Private oFont26n := TFont():New('Arial',,26,,.T.,,,,.F.,.F.)
Private nLin := 0
BeginSql Alias cAlias
SELECT
PRO.B1_COD,
PRO.B1_DESC
FROM
SB1010 PRO
WHERE
PRO.B1_COD >= %exp:mv_par01%
AND PRO.B1_COD <= %exp:mv_par02%
AND PRO.D_E_L_E_T_ = %Exp:''%
AND PRO.B1_MSBLQL = %Exp:'2'%
ORDER BY
PROD.B1_COD
EndSql
(cAlias)->(dbGoTop())
oPrint := TMSPrinter():New(OemToAnsi('Etiqueta de produto'))
oPrint:SetPortrait()
//1cm +/- 117,5 px
//nQtdPag := (mv_par03 % 2)
//iif(nQtdPag = 0, nQtdPag := Int(mv_par03/2), nQtdPag := Int(mv_par03/2) + 1)
While !(cAlias)->(Eof())
oPrint:StartPage()
nLin := 0060
oPrint:Say(nLin,0045,alltrim((cAlias)->B1_DESC),oFont13n,,,,0)
MSBAR('CODE128',1.8,1.5,alltrim((cAlias)->B1_COD),oPrint,.F.,,.T.,0.080,4.5,,,,.F.)
nLin += 00680
oPrint:Say(nLin,0500,OemToAnsi(alltrim((cAlias)->B1_COD)),oFont13n,,,,0)
oPrint:EndPage()
(cAlias)->(dbSkip())
enddo
(cAlias)->(dbCloseArea())
oPrint:Preview()
oPrint:end()
Return
Static Function CriaSx1(cPerg)
PutSx1(cPerg,"01","Do Código Interno?" ,"Do Código Interno?" ,"Do Código Interno?" ,"mv_ch1","C",15,0,0,"G","","SB1","","","mv_par01")
PutSx1(cPerg,"02","Até Código Interno?" ,"Até Código Interno?","Até Código Interno?","mv_ch2","C",15,0,0,"G","","SB1","","","mv_par02")
//PutSx1(cPerg,"03","Qtde Etiquetas" ,"Qtde Etiquetas" ,"Qtde Etiquetas" ,"mv_ch3","N",05,0,0,"G","","" ,"","","mv_par03")
return
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.082 segundos