Métodos da Biblioteca de Funções – Relatórios Gráficos

Objetivo

Demonstrar alguns recursos adicionais que podem ser utilizados através do uso de Fontes Livres, específicos para Relatórios Gráficos.

Pré-requisitos

São pré-requisitos para execução dessa função:

Conhecimento da linguagem de programação Progress.

Descrição

Execução da Biblioteca de Funções

A Biblioteca de Funções, responsável por obter os dados do relatório e os dados do layout e transformar no PDF final, é executada automaticamente pelo Data Viewer da seguinte forma:

run dvrt/lib/dvlib.p persistent set h-FunctionLibrary.

Onde:

A seguir serão demonstrados os métodos disponíveis na Biblioteca de Funções que podem ser utilizados a partir do “.P” gerado. Esses métodos estão classificados em duas categorias:

 

Métodos utilizados automaticamente pelo Data Viewer

A seguir é apresentada a lista de métodos utilizadas automaticamente pelo Data Viewer. Os métodos serão explicados para um maior entendimento de usuários avançados que utilizem codificação. Todos as chamadas dos métodos abaixo são geradas e executadas automaticamente pelo Data Viewer. Dessa forma, não é recomendado alterar essas execuções geradas.Para cada método será listado o nome do método, os parâmetros necessários, o objetivo e um exemplo de execução.

 

Método

LoadLayout

Objetivo

Carregar na Biblioteca de Funções qual o layout será utilizado durante a execução do relatório.

 

Parâmetros

INPUT PARAMETER p-nome-arquivo AS CHAR

 

Exemplo

run loadLayout in h-FunctionLibrary
(input <nome-do-arquivo>).

 

 

Método

SetConstant

Objetivo

Carregar na Biblioteca de Funções o valor de cada uma das constantes existentes do editor de Layouts.

As constantes devem ser carregadas ANTES da execução do método startPage (listagens) ou writePage (formulários) para que os valores possam ser considerados no resultado final.

É possível sobrescrever o valor de uma constante re-executando esse método e passando o código/valor da constante.

 

Parâmetros

- INPUT PARAMETER p-cod-constante AS CHAR

- INPUT PARAMETER p-valor-constante AS CHAR

 

Exemplo

run setConstant in h-FunctionLibrary
(<codigo>, <valor >).

 

 

Método

PrintForm

Objetivo

Imprime no PDF todos os objetos do layout que estão assinalados como “Objetos do Formulário”.

Esse método é executado apenas para layout do tipo de formulário. Nesse caso, o mesmo é executado quando NÃO está assinalada na interface a opção “Imprimir Somente Dados” (essa opção significa que o usuário estará utilizando formulário pré-impresso).

 

Parâmetros

 

 

Exemplo

run printForm in h-FunctionLibrary.

 

 

Método

SetObject

Objetivo

Envia para a Biblioteca de Funções o valor a ser impresso de cada objeto no determinado grupo/tabela informado.

Caso o usuário desejar sobrescrever o valor de um objeto, deve fazer através do uso do método setObjectNewValue.

 

Parâmetros

- INPUT PARAMETER p-nome-tabela AS CHAR

- INPUT PARAMETER p-nome-objeto AS CHAR

- INPUT PARAMETER p-valor                AS CHAR

 

Exemplo

run setObject in h-FunctionLibrary
(input <tabela|grupo>, input <objeto>, input <valor>).

 

 

Método

WritePage

Objetivo

Confirma a geração final de uma página de formulário. Após efetuado o método de writePage, não é mais possível manipular os dados e propriedades dos objetos da página corrente.

O parâmetro refere-se se a próxima página será referente a um novo registro (sim) ou será a continuação do registro atual.

Exemplo
página 2 do Pedido de Compra 100.000

 

Parâmetros

- INPUT PARAM p-elimina-dados AS LOGICAL

 

Exemplo

run writePage in h-FunctionLibrary

(input <yes/no>).

 

 

Método

PageParam

Objetivo

Envia as informações parametrizadas na interface para serem impressas no relatório final, quando a opção “Imprime parâmetros” é selecionada pelo usuário.

O número da página compreende os valores:

1 – Seleção

2 – Parâmetros

3 – Impressão

 

Parâmetros

- INPUT PARAM p-numero-pagina AS INT

- INPUT PARAM p-rotulo-objeto AS CHAR

- INPUT PARAM p-valo               AS CHAR

 

Exemplo

run pageParam in h-FunctionLibrary
(input <numero-pagina>, input <rotulo>, input <valor>).

 

 

Método

SaveXML

Objetivo

Responsável por criar o PDF através do .FO gerado anteriormente, conforme o nome de arquivo parametrizado.

 

Parâmetros

- INPUT PARAMETER p-nome-arquivo AS CHAR

 

Exemplo

run saveXML in h-FunctionLibrary
(input <nome-arquivo-pdf>).

 

 

Método

StartPage

Objetivo

Utilizado para definir a cabeçalho e rodapé para o PDF final. Esse método é aplicado apenas para layouts do tipo Listagem. Depois de executado o método startPage não é mais possível manipular as informações do cabeçalho e rodapé (as alterações efetuadas após a execução desse método não terão efeito no relatório final gerado).

 

Parâmetros

 

Exemplo

run startPage in h-FunctionLibrary.

 

 

Método

WriteBody

Objetivo

Confirma a geração final de um registro da tabela informada. Depois de efetuado o método de writeBody, não é mais possível manipular os dados e propriedades dos objetos do registro corrente.

 

Parâmetros

- INPUT PARAMETER p-nome-tabela AS CHAR

 

Exemplo

run writeBody in h-FunctionLibrary
(input <tabela>).

 

 

Método

WriteCalc

Objetivo

Confirma a geração final de um registro da tabela de cálculo informada. Depois de efetuado o método de writeCalc, não é mais possível manipular os dados e propriedades dos objetos do registro corrente.

 

Parâmetros

- INPUT PARAMETER p-nome-tabela AS CHAR

 

Exemplo

run writeCalc in h-FunctionLibrary
(input <tabela-calculo>).

 

 

Métodos utilizados pelo Usuário

Segue abaixo a lista de métodos que podem ser utilizados pelo usuário, permitindo manipular os dados e propriedades dos objetos. Os métodos serão explicados para um maior entendimento de usuários avançados que utilizem codificação. Para cada método será listado o nome do método, os parâmetros necessários, o objetivo e um exemplo de execução.

Método

SetColor

Objetivo

Permite ao usuário alterar a cor do objeto de uma tabela/grupo em tempo de execução do relatório. Dessa forma, é possível através de codificação imprimir um determinado valor de objeto de uma cor X caso atenda uma condição e de uma cor Z caso a condição não seja atendida.

No parâmetro referente à cor podem ser utilizados:

black, silver, gray, white, maroon, red, purple, fuchsia, green, lime, olive, yellow, navy, blue, teal, acqa.

Hexadecimal - Exemplo: #FFFF00

Formato RGB - Exemplo: rgb(255,0,0)

 

Parâmetros

- INPUT PARAMETER p-nome-tabela AS CHAR

- INPUT PARAMETER p-nome-objeto AS CHAR

- INPUT PARAMETER p-cor                   AS CHAR

 

Exemplo

run setColor in h-FunctionLibrary
(<tabela|grupo >,<objeto>,<cor>).

 

 

Método

SetBackgroundColor

Objetivo

Permite ao usuário alterar a cor de fundo do objeto de uma tabela/grupo em tempo de execução do relatório. Dessa forma, é possível através de codificação imprimir um determinado valor de objeto de uma cor X caso atenda uma condição e de uma cor Z caso a condição não seja atendida.

No parâmetro referente à cor podem ser utilizados:

black, silver, gray, white, maroon, red, purple, fuchsia, green, lime, olive, yellow, navy, blue, teal, acqa.

Hexadecimal - Exemplo: #FFFF00

Formato RGB - Exemplo: rgb(255,0,0)

 

Parâmetros:

- INPUT PARAMETER p-nome-tabela AS CHAR

- INPUT PARAMETER p-nome-objeto AS CHAR

- INPUT PARAMETER p-cor                   AS CHAR

 

Exemplo

run setBackgroundColor in h-FunctionLibrary
(<tabela|grupo >,<objeto>,<cor>).

 

 

Método

SetInvisible

Objetivo

Permite ao usuário ocultar o valor de um campo calculado ou de campos do Banco de Dados.

 

Parâmetros

- INPUT PARAMETER p-nome-tabela AS CHAR

- INPUT PARAMETER p-nome-objeto AS CHAR

- INPUT PARAMETER p-valor                AS CHAR

 

Exemplo

rum setInvisible in h-Functionalibrary
(<tabela|grupo >,<objeto>,<yes|no>).

 

 

Método

SetObjectNewValue

Objetivo

Permite ao usuário alterar o valor do objeto de uma tabela/grupo em tempo de execução do relatório.

O uso do método setObjectNewValue deve ser efetuado ANTES dos métodos writePage, writeBody e writeCalc, através de fontes livres.

 

Parâmetros:

- INPUT PARAMETER p-nome-tabela AS CHAR

- INPUT PARAMETER p-nome-objeto AS CHAR

- INPUT PARAMETER p-valor                AS CHAR

 

Exemplo

run setObjectNewValue in h-FunctionLibrary
(<tabela|grupo>,<objeto>,<valor>).

 

 

 

 

| Topo |