Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...


PropriedadeDescriçãoTipo
aImagesLista de imagens do relatório.Vetor
cFileNameNome do arquivo a ser gerado.Caracter
cFilePrintArquivo que conterá o binário do relatório.Caracter
cPathPDFPath do arquivo PDF.Caracter
cPathPrintNome do diretório onde o relatório será gerado.Caracter
cPrinterNome da impressora para impressão do relatório.Caracter
cSessionInformações de configuração da impressora.Caracter
IsFirstPageDetermina se é a primeira página do relatório.Array of Record
lCanceledDefine se o relatório foi cancelado.Lógico
lInJobDetermina se o relatório está sendo executado via Job.Lógico
lServerIndica impressão via Server (.REL Não será copiado para o Client).Lógico
lTReportIndica que o relatório foi chamado pelo TReport.Lógico
lViewPDFIndica se o arquivo será exibido após a impressão em PDF.Lógico
nDeviceDispositivo de impressão.Numérico
nModalResultRetorna o ModalResult do Setup, para que o usuário trate a informaçãoNumérico
nPageCountQuantidade de páginas do relatório.Numérico
nPageHeightAltura da página.Numérico
nPageWidthLargura da página.Numérico
nPaperSizeTamanho da folha do relatório.Numérico
oFontAtuFonte do relatório.Objeto
oPrintObjeto de impressão.Objeto
Informações

A opção do tipo de impressão não é salva pela última escolha feita. Caso exista a necessidade desse comportamento deve-se realizar a implementação diretamente no programa que se utiliza da classe gravando, recuperando e informando qual o tipo.

Image Added


Uma opção desse tipo de controle pode ser vista abaixo 

Bloco de código
Function u_localPrint()
    Local lAdjustToLegacy   := .F.
    Local lDisableSetup     := .T.
    Local oPrinter
    Local cLocal            := "c:\temp"
    Local nPrtType          := 6 // IMP_PDF > 6 || IMP_SPOOL > 2
    Local aDevice           := {}
    Local cSession          := GetPrinterSession()

    AADD(aDevice,"DISCO") // 1
    AADD(aDevice,"SPOOL") // 2
    AADD(aDevice,"EMAIL") // 3
    AADD(aDevice,"EXCEL") // 4
    AADD(aDevice,"HTML" ) // 5
    AADD(aDevice,"PDF"  ) // 6

    cDevice := If(Empty(fwGetProfString(cSession,"PRINTTYPE","SPOOL",.T.)),"PDF",fwGetProfString(cSession,"PRINTTYPE","SPOOL",.T.))
    nPrtType := aScan(aDevice,{|x| x == cDevice })

    oPrinter := FWMSPrinter():New("exemplo", nPrtType, lAdjustToLegacy, cLocal, lDisableSetup, , , , , , .F., )
    oPrinter:Say(10, 0, "teste")
    oPrinter:Setup()

    If oPrinter:nModalResult == PD_OK
        FwWriteProfString(cSession, "PRINTTYPE", If(oPrinter:nDevice==2, "SPOOL", "PDF"), .T. )
        oPrinter:Preview()
    EndIf
Return





Informações

Comportamento de opções de impressão em relação aos acessos dos usuários

No cadastro de usuários existem 4 acessos que podem influenciar nas opções de impressão da classe FwMsPrinter:

  • 111 - Gerar Rel. em Disco Local
  • 112 - Gerar Rel. no Servidor
  • 121 - Usa Impressora no Server
  • 122 - Usa Impressora no Client

Esses acessos devem estar de acordo com a parametrização das configurações de diretório e impressão:

Opções disponíveis na FwMsPrinter:

Os comportamentos esperados de acordo com os acessos dados aos usuários são:

111

Gerar Rel. em Disco Local

112

Gerar Rel. no Servidor

121

Usa Impressora no Server

122

Usa Impressora no Client

DESTINO

TIPO DE IMPRESSÃO




Sem permissão para imprimirX
XXXXLocal | ServidorSpool Server/Client | PDF
X


LocalPDF

X

ServidorPDF
X

XLocalSpool Client | PDF

XX
ServidorSpool Server | PDF
XX
XLocal | ServidorSpool Client | PDF
XXX
Local | ServidorSpool Server | PDF