Á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.

Exemplo

     

...

 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

...

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

       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

...

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)