Sub-relatório/Subleiaute

Objeto representando sub-relatório/subleiaute.

Através da barra de ferramentas ou do menu Inserir, escolha o objeto Sub-Relatório.

Atenção

Todo o texto abaixo referente ao sub-relatório se aplica também a subleiaute.

Esta funcionalidade visa possibilitar ao Gen.te Relata - Gerador de Relatórios criar relatórios mais complexos, sem, contudo, exigir muito esforço na criação dos mesmos. Isto é possível porque o relatório principal é dividido em partes menores que depois se inter-relacionam. Ou seja, o que teremos é um relatório principal agregando o resultado de outros relatórios menores e mais específicos.

O processo de criação de um sub-relatório é exatamente o mesmo de um relatório normal. A mudança fica por conta do relatório que vai utilizar os sub-relatórios.

A inserção de sub-relatórios ao relatório denominado de principal é feita através do objeto disponível na barra de ferramentas. Ao inserir o objeto, uma janela será aberta solicitando a identificação do arquivo contendo o relatório a ser usado como sub-relatório.

Antes de o relatório ser Publicado ou Visualizado no Gen.te Relata - Gerador de Relatórios, é necessário fazer a configuração dos relacionamentos entre o relatório principal e os sub-relatórios, para que os dados gerados pelo sub-relatório sejam condizentes com o relatório principal. Isso é feito através da tela de Configuração dos Relacionamentos dos Sub-relatórios. Esta tela de configuração de relacionamentos pode ser apresentada pelo duplo clique em algum sub-relatório, pela opção Relacionamentos do menu de contexto (clique com botão direito do mouse) de algum sub-relatório, pela barra de ferramentas e ainda pelo menu Exibir, opção Relacionamentos sub-relatórios.

Um mesmo sub-relatório pode ser utilizado várias vezes dentro de um mesmo relatório principal, neste caso eles serão identificados por uma numeração crescente adicionada ao nome. Essa prática é útil quando um determinado sub-relatório pode gerar diferentes informações para diferentes valores de Seleção de Registros.

Os objetos de sub-relatórios possuem alguns comandos próprios em seu menu de contexto (clique com botão direito do mouse):

Atenção

Os objetos de sub-relatórios possuem uma característica específica de impressão em relação aos outros objetos. Na impressão de cada seção, esses objetos são impressos apenas após a impressão dos demais objetos, independente da sequência de impressão previamente definida.

Os sub-relatórios existentes dentro de sub-relatório não são processados, ou seja, caso algum arquivo de sub-relatório inserido no relatório principal também possua objetos de sub-relatório, estes últimos serão ignorados.

Exemplo

Considere o caso de existirem três sub-relatórios chamados de XXX, YYY e ZZZ.

Para imprimir o sub-relatório YYY só depois da impressão de XXX, seleciona-se XXX na propriedade de Imprimir Após de YYY; e para imprimir o sub-relatório ZZZ só depois da impressão de YYY, seleciona-se YYY na propriedade de Imprimir após de ZZZ.

A propriedade Processar Quando determina quando o sub-relatório será processado. Os valores possíveis para esta propriedade são: Seção Visível, onde o sub-relatório é processado apenas se a seção estiver visível, esse é o valor padrão dessa propriedade e o valor Sempre, que indica que o sub-relatório será processado mesmo quando a seção, aonde ele está presente, estiver invisível.

Atenção

Relatórios processados em seções invisíveis não imprimem nenhuma informação, apenas processam e retornam valores.

Adicionalmente às opções Seção Visível e Sempre, é possível determinar através de uma fórmula condicional, quando um sub-relatório será processado. Assim, se o resultado desta fórmula for Verdadeiro e a condição Sempre Visível ou Sempre for satisfeita, o sub-relatório será processado, caso contrário, o seu processo será inibido.

Para criar uma fórmula condicional, basta clicar sobre o botão , que apresenta a funcionalidade Editor de Fórmulas para que a fórmula possa ser criada ou editada.

Para remover uma fórmula condicional existente, clique sobre o botão .

Na geração do relatório em formato CSV, a forma de impressão do relatório principal é diferente da forma de impressão dos sub-relatórios. Assumindo a visualização do arquivo CSV no formato de planilha, como no Excel, o relatório principal imprime cada seção em uma linha enquanto que os sub-relatórios têm suas informações impressas todas na mesma linha em que forem' iniciados, independente da quantidade destas informações. A propriedade Quebra Linha CSV permite que seja aplicado no sub-relatório o mesmo comportamento de quebras de linhas por seção que o relatório principal aplica, incluindo a impressão das informações a partir da primeira coluna quando a quebra de linha ocorrer. Além disso, quando o sub-relatório com esta propriedade não for processado, por não retornar registros ou por não obedecer à eventual regra de fórmula condicional da propriedade Processar Quando, uma quebra de linha ocorrerá para indicar o ponto de processamento do sub-relatório.

A Quebra Página Após força uma quebra de página após o processamento de tal sub-relatório, desde que não exista outro sub-relatório ainda sendo processado (ainda sendo impresso). Para sub-relatórios dentro de outros sub-relatórios está propriedade é suprimida, ou seja, mesmo que o sub-relatório dentro de outro sub-relatório estiver marcado para quebrar página, ele não quebrará. Está propriedade só é válida para sub-relatórios presentes diretamente no relatório principal.

A configuração da propriedade de Quebra página pode ser melhor orientada se realizada em conjunto com a configuração da propriedade de Imprimir após.

Atenção

Aos objetos de sub-relatório Não são permitidas configurações de Fontes e Cor de Fundo, mas as configurações de fontes e cores feitas aos objetos e às seções dentro do arquivo do sub-relatório serão mantidas;