Aqui você vê as diferenças entre duas revisões dessa página.
manuais:report_builder [2021/08/31 18:53] moliveira [Barras de Ferramentas] |
manuais:report_builder [2021/08/31 20:59] (atual) moliveira [DBCalc] |
||
---|---|---|---|
Linha 68: | Linha 68: | ||
Semelhante ao **Variable** mas possui operações pré-programadas como **SOMA** e **MÉDIA**, por exemplo, que isão atuar sobre um **DBText**. Por exemplo, imagine uma tabela cuja última coluna seja **Subtotal** e no **Footer** haverá o campo **Total**. Então, o campo com o valor Total pode ser um DBCalc com a soma do DBText que recebe o valor de Subtotal. | Semelhante ao **Variable** mas possui operações pré-programadas como **SOMA** e **MÉDIA**, por exemplo, que isão atuar sobre um **DBText**. Por exemplo, imagine uma tabela cuja última coluna seja **Subtotal** e no **Footer** haverá o campo **Total**. Então, o campo com o valor Total pode ser um DBCalc com a soma do DBText que recebe o valor de Subtotal. | ||
+ | |||
+ | |||
+ | ==== SubReports ==== | ||
+ | |||
+ | Subreports são relatórios como quaisquer outros entretanto, dependendo de onde é colocado e qual é sua fonte de dados, seu comportamento pode variar bastante. | ||
+ | |||
+ | {{ :manuais:subreport.png |}} | ||
+ | |||
+ | Por exemplo: | ||
+ | |||
+ | Imagine que para cada item de uma compra, seja necessário listar todos os atributos deste item. | ||
+ | |||
+ | No relatório principal o cdsItem seria vinculado e então seria adicionado um subreport em Details. Dentro deste subreport, os dados do item seriam exibidos, e nos details seriam incluídos os dados do cdsAtributos, que seria vinculado ao subreport. | ||
+ | |||
+ | É possível trocar a visualização de um relatório para um subreport pelas abas da parte inferior da área de edição do relatório. | ||
+ | ===== Elementos e Propriedades ===== | ||
+ | |||
+ | As caixas laterais de ferramentas podem ser muito úteis, especialmente em relatórios muito robustos e com alta densidade de componentes. | ||
+ | |||
+ | {{ :manuais:elementosproperties.png |}} | ||
+ | |||
+ | ==== Report Tree ==== | ||
+ | |||
+ | A primeira das caixas exibe todos os elementos presentes no relatório. A disposição em árvore facilita encontrar um elmento dependendo de onde ele se encontra. As divisões da árvore representam os componentes do relatório com os objetos aparecendo um nível abaixo. | ||
+ | |||
+ | ==== Properties ==== | ||
+ | |||
+ | Cada objeto, ou elemento, possui propriedades que podem ser editadas. Por exemplo, na imagem acima o objeto **Variable1** está selecionado, e na propriedade **UserName** é possível renomeá-lo para **resumo**. A renomeação dos objetos facilita a manipulação de códigos escritos na aba **Calc**. | ||
+ | |||
+ | Cada elemento possui características própria, além das características comuns a todos elementos. Vale a pena aprender um pouco sobre essas configurações para ter maior controle do comportamento de cada elemento. | ||
+ | |||
+ | |||
+ | ===== Área de Edição ===== | ||
+ | |||
+ | A área de edição do relatório é dividida em seções. A parte correspondente a cada seção fica acima da barra que define seu nome, ou seja, acima da barra **Header** é onde ficam os objetos do cabeçalho. | ||
+ | |||
+ | Cada uma dessas seções possui um comportamento próprio. | ||
+ | O **Header** acontece apenas uma vez durante a criação do relatório e fica sempre no topo da página. | ||
+ | |||
+ | Na seção **Detail** ficam os objetos vinculados a fonte de dados principal do relatório. Os itens de uma compra, por exemplo, ficam na parte de Detail e os dados o cliente no Header. Essa seção executa um loop redesenhando tudo que está dentro dessa seção para cada dado contido na fonte. | ||
+ | |||
+ | O **PageSummary** é apresentado logo após o final da seção Detail. | ||
+ | |||
+ | Já o **Footer** aparece no final de cada página. | ||
+ | |||
+ | ===== Fontes de Dados ===== | ||
+ | |||
+ | Nos quadros das direita é possível observar as fontes de dados para o relatório. | ||
+ | |||
+ | {{ :manuais:fontededados.png |}} | ||
+ | |||
+ | A maior parte dos dados são enviados ao editor do Report Builder pelo executável, sendo definido no projeto do programa, dessa forma, se uma informação não existir nos Data Sets e também não forem possíveis de calcular, a correção deverá vir acompanhada de um novo executável do programa. | ||
+ | |||
+ | No quadro **Data Tree** estão os Data Sets e abaixo no quadro **Fields for ** são exibidos os campos de cada Data Set. | ||
+ | |||
+ | ===== Calc ===== | ||
+ | |||
+ | A aba Calc é responsável pelos códigos que irão realizar cálculos e manipular as propriedades dos objetos. Por exemplo, é possível mudar a cor de fundo de um objeto de acordo com uma condição. | ||
+ | |||
+ | {{ :manuais:calc.png |}} | ||
+ | |||
+ | ==== Report Bands / Objects ==== | ||
+ | |||
+ | No canto superior esquerdo há uma caixa que possui três filtros: **Variables**, **Events**, **Module**. A exibição de eventos é mais apropriada, pois o comportamento de cada seção do relatório se comporta de uma determinada forma em cada evento. | ||
+ | |||
+ | ==== Código ==== | ||
+ | |||
+ | No canto inferior esquerdo fica o código, propriamente dito. O código segue a sintaxe do Pascal. Existem alguns recursos muito úteis que podem facilitar na hora de montar um código, mesemo sem saber muito de programação. Essas facilidades são dadas pela função de Arrasta e solta do **Code Toolbox**. | ||
+ | |||
+ | ==== Code Toolbox ==== | ||
+ | |||
+ | Code Toolbox possui três abas: **Data**, **Objects**, **Language**. | ||
+ | |||
+ | **Data**: Permite arrastar para dentro do código um campo para usar seu valor, por exemplo. | ||
+ | |||
+ | **Objects**: Permite arrastar a propriedade de um objeto do relatório para o código. Por exemplo, é possível arrastar a propriedade **cor** de um label e dependendo da condição, alterar o valor da propriedade. | ||
+ | |||
+ | **Language**: Especialmente útil pelos elementos do nó **Function** que trazem exemplos das funções disponíveis. | ||
+ | |||