| Versões: | Microsiga Protheus® 11 |
| Compatível Países: | Todos |
| Sistemas Operacionais: | Todos |
| Compatível as Bases de Dados: | Todos |
| Idiomas: | Português, Espanhol, Inglês |
Descrição: Função para impressão de código de barras na impressora Deskjet HP e Laser.
Programa Fonte: MSBARHP.PRW
Sintaxe: MSBAR4 - Impressão de código de barras na impressora Deskjet HP e Laser ( [ cTypeBar ] [ nRow ] [ nCol ] [ cCode ] [ oPr ] [ lCheck ] [ Color ] [ lHort ] [ nWidth ] [ nHeigth ] [ lBanner ] [ cFont ] [ cMode ] [ lPrint ] [ nPFWidth ] [ nPFHeigth ] )
Retorno: Nil
Observações
Esta função é de utilização interna do produto Microsiga Protheus®. Não recomendamos sua utilização em customizações, pois, a função está sujeita a alterações conforme melhoria contínua ou revisão do produto. Sua utilização pode ser prejudicada caso sofra qualquer modificação para atender possível especificação e resultado interno esperado.
Esta função não deve ser utilizada para impressoras térmicas, neste caso consulte a função MSCBIMP.
Parâmetros:
| NOME | TIPO | DESCRIÇÃO | OBRIGATÓRIO |
|---|---|---|---|
| cTypeBar | Caractere | String com o tipo do código de barras ("EAN13", "EAN8", "UPCA", "SUP5", "CODE128", "INT25", "MAT25", "IND25", "CODABAR", "CODE3_9", "EAN128") | X |
| nRow | Número | Número da Linha em centímetros | X |
| nCol | Número | Número da Coluna em centímetros | X |
| cCode | Caractere | String com o conteúdo do código | X |
| oPrint | Objeto | Objeto Printer | X |
| lCheck | Lógico | Se calcula o dígito de controle | |
| Color | Array of Records | Número da cor | |
| lHorz | Lógico | Se imprime na horizontal | |
| nWidth | Numérico | Número do tamanho da barra em centímetros | |
| nHeigth | Numérico | Número da altura da barra em milímetros | |
| lBanner | Lógico | Se imprime a linha embaixo do código | |
| cFont | Caractere | String com o tipo de fonte | |
| cMode | Caractere | String com o modo do código de barras CODE128 | |
| lPrint | Lógico | Lógico que indica se imprime ou não | |
| nPFWidth | Numérico | Número do índice de ajuste da largura da fonte | |
| nPFHeigth | Numérico | Número do índice de ajuste da altura da fonte |
IMPORTANTE
Exemplo:
#Include 'Protheus.ch'
User Function TesteBAR()
Local oReport := ReportDef()
oReport:PrintDialog()
Return NIL
Static Function ReportDef()
Local oReport := NIL
Local oSection1 := NIL
Local cTitle := "Exemplo de uso MSBAR4"
oReport:= TReport():New("CODBAR",cTitle,NIL, {|oReport| ReportPrint(oReport)})
oReport:SetPortrait() // Define a orientacao de pagina do relatorio como retrato.
oReport:HideParamPage() // Desabilita a impressao da pagina de parametros.
oReport:nFontBody := 9 // Define o tamanho da fonte.
oReport:nLineHeight := 50 // Define a altura da linha.
oSection1 := TRSection():New(oReport,"Exemplo",{"SB1"},NIL) // "Ordens de Produção"
oSection1:SetLineStyle() //Define a impressao da secao em linha
oSection1:SetReadOnly()
TRCell():New(oSection1,'BARTYPE' ,'SB1',"Tipo Barra",NIL,30,/*lPixel*/,/*{|| code-block de impressao }*/)
Return(oReport)
Static Function ReportPrint(oReport)
Local oSection1 := oReport:Section(1)
Local nX := 1
oReport:SetMeter(3)
oSection1:Init()
oSection1:Cell('BARTYPE'):SetValue('Codigo 128 subset A')
oSection1:PrintLine()
MSBAR4("CODE128",2.6,0.2,"12345678901",@oReport:oPrint,NIL,NIL,NIL,8,NIL,.T.,NIL,"A",.F.)
oReport:IncMeter()
nLoops := 300/oReport:nLineHeight
If nLoops - Int(nLoops) > 0
nLoops := Int(nLoops+1)
EndIf
For nX := 1 to nLoops
oReport:SkipLine()
Next nX
oSection1:Cell('BARTYPE'):SetValue('Codigo 128 subset B')
oSection1:PrintLine()
MSBAR4("CODE128",6.0,0.2,"123456789011010",@oReport:oPrint,NIL,NIL,NIL,8,NIL,.T.,NIL,"B",.F.)
oReport:IncMeter()
nLoops := 300/oReport:nLineHeight
If nLoops - Int(nLoops) > 0
nLoops := Int(nLoops+1)
EndIf
For nX := 1 to nLoops
oReport:SkipLine()
Next nX
oSection1:Cell('BARTYPE'):SetValue('EAN13')
oSection1:PrintLine()
MSBAR4("EAN13",9.6,0.2,"123456789012",@oReport:oPrint,.T.,NIL,NIL,6,NIL,.T.,NIL,NIL,.F.)
oReport:IncMeter()
oSection1:Finish()
Return