Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Como Criar Relatórios de Cotações com Dados Agrupados Usando SQL

img: DALL·E 2024-08-09 07.00.00 - A high-quality image showcasing a detailed SQL query being written in a code editor, such as VS Code, on a dark theme background. ... ## Como Criar Relatórios de Cotações com Dados Agrupados Usando SQL Quando trabalhamos com sistemas ERP e precisamos gerar relatórios de cotações que apresentam dados de múltiplos fornecedores, é comum encontrarmos a necessidade de pivotar registros que, originalmente, são apresentados de forma vertical. Isso é especialmente útil quando o objetivo é comparar preços ou condições de diferentes fornecedores para um mesmo produto em uma única linha do relatório. Neste artigo, vamos explorar uma abordagem para transformar registros verticais em colunas, facilitando a impressão de relatórios que consolidam informações de vários fornecedores em uma única linha. Vamos utilizar SQL com técnicas de pivotagem, e ao final, mostraremos como estender essa técnica para um número variável de fornecedores. ### Estrutura do Relatór

PDFCreator :: Gerando Marca D´agua

Existem duas maneiras para a geração de Marcas D´agua em arquivos PDF  usando o PDFCreator.

A primeira  é definindo o texto a ser impresso como “Marca D´agua”

image

Ao gerarmos um relatório, usando como impressora o PDFCreator, teremos:

image

A segunda opção, para a geração da Marca D´agua, é usar o Script (em VB) desenvolvido por Frank Heindörfer e que se encontra em Scripts\RunProgramAfterSaving\AddWatermarkToPDF.vbs da instalação padrão do PDFCreator. Esse script utiliza o aplicativo pdftk.exe do PDFLabs para inserir a Marca D´agua. Seu uso é bem simples.

Primeiro, baixe o programa pdftk.exe e descompacte-o, de preferência, em \windows\system32  para que possa ser executado via linha  de comando sem a necessidade de mapeamento do “path”.

  1. Abra o PDFCreator e em “Ações” selecione a “aba” “Ações depois de Salvar”;
  2. image 
  3. Abra o “script” para edição e ;
  4. image
  5. modifique os valores das constantes PathToPdftk (indica o diretório de instalação do pdftk.exe)  e WatermarkPDF (indica o arquivo PDF com a marca d´agua a ser utilizado) e salve as alterações;
  6. image
  7. Com isso, todo documento PDF gerado, usando PDFCreator, conterá a marca d´agua definida em WatermarkPDF. Ex.:
  8. image 

Uma outra forma de gerar a marca d´agua, agora sem usar o PDFCreator, é a utilização direta do programa pdftk.exe via linha de comando. Digite pdtfk –help para as opções de linha de comando ou consulte o modelo em VBScript para saber como implementá-lo usando, por exemplo WaitRun ou WaitRunSrv.

Ex.:

Para a inclusão da Marca D´agua no Client.

#INCLUDE "PROTHEUS.CH"
User Function WatermarkPDF( cPDFFile , WatermarkPDF , cPDWatermarkPDF )

    Local cCMD := ""
    cCMD := "pdftk.exe"
    cCMD += " "
    cCMD += cPDFFile
    cCMD += " "
    cCMD += "background"
    cCMD += " "
    cCMD += WatermarkPDF
    cCMD += " "
    cCMD += "output"
    cCMD += " "
    cCMD += cPDWatermarkPDF

Return( WaitRun( cCMD ) )   

Para a inclusão da Marca D´agua no Server

#INCLUDE "PROTHEUS.CH"
User Function WatermarkPDF( cPDFFile , WatermarkPDF , cPDWatermarkPDF )

    Local cCMD := ""
    cCMD := "pdftk.exe"
    cCMD += " "
    cCMD += cPDFFile
    cCMD += " "
    cCMD += "background"
    cCMD += " "
    cCMD += WatermarkPDF
    cCMD += " "
    cCMD += "output"
    cCMD += " "
    cCMD += cPDWatermarkPDF

Return( WaitRunSrv( cCMD , .T. , "c:\windows\system32" ) )

Para maiores informações sobre a WaitRunSrv consulte: Protheus :: Executando aplicações externas no "Server" utilizando WaitRunSrv

[]s
иαldσ dj

Comentários

  1. Ótima dica Naldo,
    Aproveitando...
    Tem alguma maneira de colocar o nome do arquivo PDF no cabeçalho de cada página referente a cada PDF vinculado?

    Atenciosamente,
    Otávio Sparrenberger

    ResponderExcluir

Postar um comentário

Postagens mais visitadas