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 |
A função SetPrint() cria a interface (diálogo) onde as opções de impressão de um relatório podem ser configuradas.
APLIB080.PRW
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
- (caracter)
- Nome do relatório.
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.
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
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. |