import.css=/download/attachments/327912/newLayout.css

Função: Cabec - Impressão de cabeçalho personalizado
Versões: Advanced Protheus 5.08 , Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Nível de Acesso: Nível 1 (Acesso Clientes)
Idiomas: Espanhol , Inglês
Descrição:
A função Cabec() imprime um cabeçalho personalizado nos relatórios.
Programa Fonte:
APLIB080.PRW
Sintaxe:

Cabec - Impressão de cabeçalho personalizado ( cTitulocCabec1cCabec2cProgramacTamanho [ nFormato ] [ uPar7 ] [ lPerg ] [ cLogo ] ) --> nLin

Retorno:
    nLin(numerico)
  • Número da linha
Observações

Parâmetro

lPerg

Caso o parâmetro lPerg não seja passado, o sistema verifica o parâmetro MV_IMPSX1 no SX6.

  • Se MV_IMPSX1 for igual a S, lPerg será .T.
  • Se MV_IMPSX1 for igual a N, lPerg será .F.

 

cLogo

O logo impresso no cabeçalho é uma imagem de extensão ".bmp", cujo nome está associado com a empresa corrente. Ex: "LGRL01.BMP", "01" é a empresa.
 

Exemplos
O exemplo abaixo mostra a utilização da função SetPrint com as funções SetDefault(), RptStatus(), SetRegua(), IncRegua(), Cabec(), Roda(), OurSpool() e MS_FLUSH().#include "protheus.ch"User Function TestImprime()                                             Local wnrelLocal cString  := "SA1"Local titulo   := "Teste Impressão de Relatórios"Local NomeProg := "XXX"                               Local Tamanho := "M"PRIVATE aReturn := { "Zebrado", 1,"Administracao", 1, 2, 1, "",1 }wnrel:=SetPrint(cString,NomeProg,"",@titulo,"", "", "",.F.,.F.,.F.,Tamanho,,.F.)SetDefault(aReturn,cString)RptStatus({|lEnd| TestRel(@lEnd,wnRel,cString,Tamanho,NomeProg)},titulo)Return User Function TestRel(lEnd,WnRel,cString,Tamanho,NomeProg)LOCAL cabec1,cabec2LOCAL cRodaTxt := oemtoansi("Rodapé")Local nCntImpr Local nTipo                   nCntImpr := 0li := 80 m_pag := 1//³ Inicializa os codigos de caracter Comprimido da impressora ³nTipo := 15//³ Monta os Cabecalhos                                          ³titulo:= oemtoansi("Lista de Clientes")cabec1:= oemtoansi("COD LOJA NOME                                     NOME FANTASIA        ")cabec2:=""        dbSelectArea("SA1")dbGoTop()SetRegua(LastRec())While !Eof()    IncRegua()    If Li > 60		cabec(titulo,cabec1,cabec2,nomeprog,tamanho,15)		@ Li,0 PSAY __PrtThinLine()					Endif    nCntImpr++   	Li++    @ Li,01 PSAY A1_COD    @ Li,05 PSAY A1_LOJA    @ Li,10 PSAY A1_NOME    @ Li,51 PSAY A1_NREDUZ    If Li > 60        Li:=66    Endif		    dbSkip()EndDOIf li != 80   	Roda(nCntImpr,cRodaTxt,Tamanho)EndIfSet Device to ScreenIf aReturn[5] = 1   	Set Printer To    	dbCommitAll()   	OurSpool(wnrel)EndifMS_FLUSH()Return
Parâmetros:
NomeTipoDescriçãoDefaultObrigatórioReferência
cTituloCaracterTítulo do relatórioX
cCabec1CaracterPrimeira linha do cabeçalhoX
cCabec2CaracterSegunda linha do cabeçalhoX
cProgramaCaracterNome do relatórioX
cTamanhoCaracterTamanho da página: P, M, GX
nFormatoNuméricoPara imprimir comprimido informe 15
uPar7QualquerParâmetro reservado
lPergLógicoSe verdadeiro, (.T.) imprime as perguntas no início do relatório.
cLogoCaracterNome do bitmap de logotipo para impressão via windows