Páginas filhas
  • SetPrint - Configuração impressão de relatórios

Função: SetPrint - Configuração impressão de relatórios


Abrangências: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 SetPrint() cria a interface (diálogo) onde as opções de impressão de um relatório podem ser configuradas.
Programa Fonte:
APLIB080.PRW
Sintaxe:

SetPrint - Configuração impressão de relatórios ( cAliascProgram [ cPergunte ] [ cTitle ] [ cDesc1 ] [ cDesc2 ] [ cDesc3 ] [ lDic ] [ aOrd ] [ lCompres ] [ cSize ] [ uParm12 ] [ lFilter ] [ lCrystal ] [ cNameDrv ] [ uParm16 ] [ lServer ] [ cPortPrint ] ) --> cReturn

Retorno:
cReturn
    (caracter)
  • Nome do relatório.
Observações

Basicamente duas variáveis m_pag (*) e aReturn (**) precisam ser declaradas como privadas (private) antes de executar a SetPrint(). Após confirmada, os dados são armazenados no vetor aReturn que será passado como parâmetro para função SetDefault().
(*) controla o número de páginas.
(**) vetor contendo as opções de impressão, sua estrutura é composta de 8 (oito) elementos:

aReturn

Ordem          Tipo        Conteúdo

aReturn[1]    C            Tipo do formulário

aReturn[2]    N            Opção de margem

aReturn[3]    C            Destinatário

aReturn[4]    N            Formato da impressão

aReturn[5]    N            Dispositivo de impressão

aReturn[6]    reservado

aReturn[7]    reservado

aReturn[8]    N            Ordem.

Exemplos
O exemplo abaixo mostra a utilização da função SetPrint com a utilização das funções SetDefault(), RptStatus(), SetRegua(), IncRegua(), Cabec(), Roda(), OurSpool() e MS_FLUSH()
#include "protheus.ch"

User Function TestImprime()

Local wnrel
Local cString  := "SA1"
Local titulo   := "Teste Impressão de Relatorios"
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.)

If nLastKey <> 27
    SetDefault(aReturn,cString)
    If nLastKey <> 27
        RptStatus({|lEnd| U_TestRel(@lEnd,wnRel,cString,Tamanho,NomeProg)},titulo)
    EndIf
EndIf

Return 

User Function TestRel(lEnd,WnRel,cString,Tamanho,NomeProg)
LOCAL cabec1,cabec2
LOCAL cRodaTxt := oemtoansi("Rodapé")
Local nCntImpr 
Local nTipo                   

nCntImpr := 0
li := 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()

EndDO

If li != 80     
    Roda(nCntImpr,cRodaTxt,Tamanho)
EndIf

Set Device to Screen
If aReturn[5] = 1       
    Set Printer To      
    dbCommitAll()       
    OurSpool(wnrel)
Endif

MS_FLUSH()

Return




Parâmetros:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

cAlias

Caracter

Alias do arquivo a ser impresso.




X




cProgram

Caracter

Nome do arquivo a ser gerado em disco.




X




cPergunte

Caracter

Grupo de perguntas cadastrado no dicionário SX1.










cTitle

Caracter

Título do relatório.










cDesc1

Caracter

Descrição do relatório.










cDesc2

Caracter

Continuação da descrição do relatório.










cDesc3

Caracter

Continuação da descrição do relatório.










lDic

Lógico

Utilizado na impressão de cadastro genérico permite a escolha dos campos a serem impressos.

.F.







aOrd

Vetor

Ordem(s) de impressão.










lCompres

Lógico

Se verdadeiro (.T.) permite escolher o formato da impressão.

.T.







cSize

Caracter

Tamanho do relatório: "P";"M" ou "G".










uParm12

Qualquer

Parâmetro reservado










lFilter

Lógico

Se verdadeiro (.T.) permite a utilização do assistente de filtro.

.T.







lCrystal

Lógico

Se verdadeiro (.T.) permite integração com Crystal Report.

.F.







cNameDrv

Caracter

Nome de um driver de impressão.










uParm16

Qualquer

Parâmetro reservado.










lServer

Lógico

Se verdadeiro (.T.) força impressão no servidor.










cPortPrint

Caracter

Define uma porta de impressão padrão.











  • Sem rótulos