Árvore de páginas

Versões comparadas

Chave

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

Índice


       

Índice
exclude.*ndice
printablefalse

Objetivo

...


O objetivo deste documento é mostrar o funcionamento

...

do componente de sub-

...

relatórios, que será

...

configurada diretamente no Designer do Relatório. 

...

Um sub-relatório

...

é definido como

...

parte de outro relatório.

...

A inclusão de sub-relatórios permite a criação de layouts complexos com diferentes partes em um único documento, sendo preenchido usando diferentes fontes de dados.

Qualquer relatório pode ser usado como um sub-relatório, respeitando o acesso definido a ele individualmente.

Dica
iconfalse

Por se tratar de um relatório como outro qualquer, o sub-relatório possui sua própria fonte de dados com seus filtros e/ou parâmetros.

Demonstração


       Para melhor exemplificar o uso do recurso, será criado um fluxo de uso a seguir, contendo o seguinte cenário:

       O Conector utilizado, referente a um Provedor Nativo, possui os Objetos de Negócio: Funcionários e o Histórico de Férias desse funcionário, pertencentes à área Simulação.

       Os dados demonstrados, que serão usados para criação dos relatórios, estão disponíveis no seguinte endereço:

Bloco de código
titleConector Nativo
https://run.mocky.io/v3/bec2d116-8298-4ff5-93c2-24a340ed0901

Image Added    

       Conforme a representação, as informações de férias no relatório principal de Funcionários, vêm de um sub-relatório de Histórico de Férias. Para chegar no resultado esperado, os Objetos de Negócio a serem usados se relacionam através do campo "Chapa", que será parametrizado e será responsável por fazer a relação entre o sub-relatório com o Funcionário listado pelo Relatório Principal.

       O primeiro passo será criar o Relatório que será referenciado como um Sub-Relatório. Para ele, será configurado com o Objeto de Negócio Histórico de Férias.

       Seguindo o Modelo de Relatório Final, os dados de Histórico de Férias (Sub-Relatório) serão trazidos para cada Funcionário da Lista de Funcionários (Relatório Principal).

...

Para passagem de valores do relatório principal para o sub-relatório, deve ser definido um parâmetro. Para que isso aconteça, será necessário:

  • Adicionar o Parâmetro "pCHAPA" diretamente pelo Designer do Relatório
  • Adicionar a String de Filtro no relatório, condicionando campo CHAPA da Fonte de Dados com o Parâmetro "pCHAPA" criado:       

Image Added

Informações
titleFiltro do Relatório

O Filtro do Relatório será feito pelo Design do Relatório através da String de Filtro. Dessa forma a geração do sub-relatório acompanha cada linha gerada pelo Relatório Principal, assim, para cada Funcionário listado, será retornado Histórico de Férias referente a ele.

O Filtro feito pelo Objeto de Negócio não se aplica para esse caso, uma vez que seria aplicado para toda a geração do Relatório. Por exemplo, filtrando o funcionário '00001', só seria retornado o Histórico de Férias (sub-relatório) desse Funcionário, não retornando outros funcionários listados pelo Relatório Principal.

       Na geração individual desse Relatório, deve ser informado o valor dos parâmetros criado pelo Designer, resultando no relatório de Histórico de Férias referente ao Funcionário especificado:

Image Added

       

       O próximo passo será criar o Relatório Principal, escolhendo o Objeto de Negócio Funcionários. O relatório será uma lista simples de Funcionários e não conta com a adição de Filtros ou Parâmetros.

       No Designer do Relatório Principal, será trazido para o Layout o Componente de Sub-Relatório, referenciando assim o relatório de Histórico de Férias:

Image Added

...

       O componente de Sub-Relatório se encontra na Barra de Controles na lateral esquerda do Designer e assim como os outros controles,

...

deve ser arrastado para

...

a banda de detalhes do Layout para configuração.

     

...

 Selecionando o componente, na Barra de Propriedades, na lateral direita,

...

encontra-se a propriedade "Relatório Fonte Url" onde será selecionado o relatório a ser vinculado ao relatório principal como um Sub-Relatório.

...

Informações

São listados na propriedade "Relatório Fonte Url" todos os relatórios aos quais o usuário

...

autenticado possui permissão, sendo Proprietário, Editor ou Leitor

...

.

Nota
Ao definir o 'Nome' do componente, é alterado apenas a exibição do componente no layout do Designer e não irá refletir na Visualização/Geração do relatório.

...

     

...

 Ao inserir o sub-relatório no Relatório Principal, é possível fazer a ligação de um valor do Relatório Principal que deverá ser passado ao Parâmetro do sub-relatório.

       Para esse caso, será aplicado da seguinte forma:

  • O Parâmetro pCHAPA do sub-relatório será vinculado ao campo Chapa do Relatório Principal.

Image Added

       O relatório Final será gerado, preenchendo para cada linha do Relatório Principal, o Sub-Relatório referente a essa linha.

       No Modelo de Dados usado é trazido o Histórico de Férias do primeiro Funcionário, trazendo os campos vazios para o segundo funcionário, que não possui um histórico de Férias:

Image Added


Acessando um Relatório através do Componente

Relatório Principal

       Para a criação do relatório principal será configurado o Objeto de Negócio "Histórico de Versões", aplicando um Filtro simples do campo Aplicação igual a um Parâmetro, quer será informado pelo usuário no momento da geração.

       No Designer, além dos campos do Objeto de Negócio, será também trazido para o Layout o Componente de Sub-Relatório, que será configurado posteriormente com o próprio Objeto de Negócio e Parâmetros para geração.

Image Removed

Sub-Relatório


     

...

 O Cadastro de um Relatório para

...

ser usado como um Sub-Relatório

...

iconfalse
  • Cadastro pelo fluxo de Novo Relatório no Menu Inicial do TReports.

       Nesse caso, pela Listagem de Relatórios, o fluxo a seguir será conforme qualquer outra criação de Relatório, seguindo para a definição de Objeto de Negócio e Filtros e Configuração do Layout pelo Designer

...

pode ser feito diretamente no componente de Sub-Relatório.

     

...

 Com o duplo-clique no componente que não está preenchido com nenhum sub-relatório, será aberta uma nova aba no Designer completamente vazia, onde ao clicar em Salvar, será aberta uma

...

janela para informar o nome do Novo Relatório.

Dica

Ao fazer a criação de um Relatório através da abertura de Nova Guia pelo componente de Sub-Relatórios, o relatório criado é automaticamente vinculado como um Sub-Relatório pelo componente, no entanto, é necessário que essa alteração seja salva no Designer do Relatório Principal.

...

       Qualquer relatório referenciado como um sub-relatório pode ser acessado pelo duplo-clique do componente. O Relatório acessado dessa forma, implica apenas

...

em uma nova aba dentro do Designer

...

. Isso significa que qualquer outro fluxo selecionado

...

, como Informações Gerais ou configuração de Objeto de Negócio, será referente ao Relatório Principal em edição.

...

Nota
titleImportante

A definição de Objeto de Negócio

...

       Para o Relatório criado para ser usado como Sub-Relatório, será configurado o Objeto de Negócio "Instalações por Versão", onde será criado também o Filtro da propriedade Aplicação como um Parâmentro, para ser vinculado também ao Filtro criado no Relatório Principal.

       Seguindo o Modelo de geração do Relatório Final, os dados de Quantidades de Instalações (Sub-Relatório), serão trazidos para cada Versão do Histórico de Versões (Relatório Principal), ou seja, para cada linha do Relatório Principal, será retornado o Sub-Relatório correspondente ao campo Versão do Relatório Principal.

       Sendo assim, além do Filtro criado para o Objeto de Negócio, para esse Relatório será configurada também uma Parametrização feita pelo Designer do Relatório, para que a geração do sub-relatório acompanhe cada variação no campo Versão trazida pelo Relatório Principal.

       Com o Parâmetro adicionado pelo Designer do Relatório, será adicionada a String de Filtro no relatório, vinculando a condição ao campo de versão da Fonte de Dados com o Parâmetro "Versão" criado:

Image Removed

       Na geração individual desse Relatório, deverão ser informados os valores dos parâmetros criados pelo Designer e pelo Filtro do Objeto de Negócio, resultando no relatório de Quantidade de Instalações para a versão em específico.

Image Removed

Relatório Final

       Com a conclusão do Sub-Relatório, deve ser configurado o Componente de Sub-Relatórios, como o relatório a ser usado e o vínculo de Parâmetros com o Relatório Principal.

       O Parâmetro de versão será vinculado ao campo Versão do Relatório Principal, e o Parâmetro Aplicação, será vinculado também ao Parâmetro de Aplicação existente no Relatório Principal.

Image Removed

       O relatório Final será gerado, sendo informado pelo usuário o Parâmetro de Aplicação, vinculado  ao Parâmetro de Objeto de Negócio do Sub-Relatório, e o Parâmetro de Designer acompanha cada versão diferente trazida pelo Relatório Principal.

Image Removed

deve ser feita pela edição específica do Relatório, acessada através da Listagem Principal

...

de Relatórios.

Informações
titleDica

Configurando um Sub-Relatório no Protheus: Sub-Relatório – 3 Tabelas

Informações

A aplicação conta com o Design de Relatórios da

...

DevExpress, para documentação sobre o uso de seus componentes, acesse:

...

Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Processo: Relatórios (Novo) - Sub-Relatórios

Informações
iconfalse

Versão: 1.2 ou Superiores

Informações
iconfalse
Informações
iconfalse

Status: Concluído

Informações
iconfalse

Data:  

Informações
iconfalse

Autores:

Aline Cristina Braz de Oliveira

Carlos Philippe de Farias Marques

Cesar Henrique Silva Rodrigues_ 

Diogo Damiani Ferreira

Usuário desconhecido (fernando.souza)