Telescope (core)
Como criar um report PDF ou TXT no Telescope com quebra (agrupador)?
ADS.FAQ-13251
Para criar um report no Telescope com opção de quebra (agrupador) deve-se:
- Acessar o cadastro da interface no Telescope (p.ex. PROD_RELAT.LST_ITEM_PEDIDOS_VENDA).
- Sugere-se que seja primeira definida a tela de list para que o report seja desenvolvido a partir desta tela.
- Acessar a tela de list na guia "Func" (Funcionalidades).
- Clonar a tela de list, utilizando o botão "Clonar".
- Informar um "Título" para o report (p.ex.: Relatório por cliente).
- Informar uma "Função" para o report (p.ex.: RELATORIO_POR_CLIENTE).
- Informar REPORT como "Tipo" da tela.
- Selecionar os atributos para impressão no relatório (os atributos deverão ser os mesmos que constam na tela de list da qual a tela de report foi gerada/clonada).
Definição de uma quebra para o relatório:
- Criar um atributo unbound da interface com o elemento de quebra (p.ex.: CLIENTE):
- Informar o "Título" para o unbound (p.ex.: Cliente).
- Informar o "Nome" para o unbound (p.ex.: SQL_CLIENTE). Recomenda-se utilizar o prefixo SQL_ antes do nome do unbound para distinção do tipo de elemento na interface.
- Informar o "Domínio" para o unbound (p.ex.: ADSRT.TEXT).
- Informar o "Tipo" como "SQL Expression".
- Na "Descrição" informar a finalidade do unbound (p.ex.: Cliente (nome completo + id da pessoa) para quebra do relatório por cliente.).
- Informar a "Expressão SQL" que será aplicada para composição do texto (expressão) para o unbound (p.ex.: nome_completo || ' (pessoa=' || pessoa || ')', que retornará um texto como CLIENTE FULANO (pessoa=113)).
Definição da Func de quebra:
- Criar uma Function:
- Informar "Função" de quebra (nome da Function de report com complemento _B1 (primeira quebra), _B2 (segunda quebra) e assim por diante) (p.ex.: RELATORIO_POR_CLIENTE_B1).
- Informar REPORT_BREAK em "Tipo".
- Na "Descrição" informar a finalidade da function de quebra (p.ex.: Quebra de relatório por cliente.).
- Informar os "Campos da tela" com o campo unbound criado para a quebra (p.ex.: RELATORIO_POR_CLIENTE_B1). Devem ser informados, também, os campos que devem ser totalizados nos detalhes do relatório (p.ex.: QUANTIDADE e QUANTIDADE_PENDENTE).
- Informar o atributo unbound como "key" da function de quebra.
- Informar os demais atributos como "sum" da function de quebra.
Ver Como configurar relatórios em tempo de execução? para propriedades que podem ser aplicadas aos reports.