Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL- É possível imprimir códigos de barras na classe TReport?

time.png Tempo aproximado para leitura: 00:01:00 min

Ocorrência
É possível imprimir códigos de barras na classe TReport?

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Todas as versões

Solução

A classe TReport não possui método específico para impressão de código de barras, entretanto pode ser usado a função MsBar4.

 

gif1.gif

 

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

 

Saiba Mais

TReport

Msbar4

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _