Conceitos Diversos

 

Layout FLOW

-         Classificação: permite setar quebra de página para as classificações existentes.

-         Grupos:

o       Não é permitido um grupo ao lado do outro, apenas um abaixo do outro (validação). A ordem dos grupos deve ser salva em um atributo “seqüência”.

o       Relacionados: não é permitido adicionar “campos” e “editores” em grupos relacionados.

-         Cálculos / Totais

o       Permitir calcular / totalizar pela classificação [Geral].

o       Permite calcular / totalizar na mesma tabela (representar no editor, permitindo manipular as propriedades do cálculo / total) apenas para grupos múltiplos “Column-Label”.

o       Se a representação do cálculo / total não couber na mesma linha, imprimir primeiramente os totais e na próxima linha os cálculos.

o       Um cálculo só poderá ser representado na mesma tabela se não existir nenhum total para a mesma classificação que seja representada em grupo separado.

 

Layout FORM

-         Classificação: Quebra de página obrigatória e calculada. A classificação principal da última tabela com relacionamento “PAI” do primeiro bloco deve possuir quebra de página = Sim. As outras classificações não poderão setar quebra de página.

-         Grupo:

o       Não é permitido que grupos múltiplos sejam do tipo “Side Label”.

o       Múltiplo: o número de linhas deve ser representado no editor.

o       Criação: é permitido criar totalizações / cálculos de uma mesma classificação em grupos diferentes.

-         Cálculos / Totais: Não é permitido calcular / totalizar pela classificação [Geral].

-         Campos: a opção “Exibir – Sempre / Primeiro / Último” não se aplica para formulários (sempre desabilitado).

-         Query

o       Permitido apenas dois níveis

o       Nos blocos do segundo nível não é permitido que a tabela principal possua uma relação de EACH com outra tabela (apenas FIRST / LAST).

-         Classificação

o       Para cada tabela, é possível ter apenas uma classificação principal, ao qual será possível efetuar totalizações / cálculos (é a última classificação definida).

o       As demais classificações são secundárias, utilizadas apenas para ordenação dos registros.

 

Exemplo 01 – OK

Tabela

Tabela Relac

Relação

Nível

Bloco

Quebra Página

Cliente

-

-

1

1

Não

Pedidos

Cliente

Pai

1

1

Sim

Itens Pedido

Pedido

Pai

2

2

Não

Títulos

Pedido

Pai

2

3

Não

Obs.: a última tabela “EACH” do primeiro nível necessita de quebra de página por registro.

 

 

 

 

Exemplo 02 – Não permitido

Tabela

Tabela Relac

Relação

Nível

Bloco

Cliente

-

-

1

1

Pedido

Cliente

Pai

2

2

Itens Pedido

Pedido

Pai

2

2

Contatos Cliente

Cliente

Pai

2

3

 

-         O exemplo está incorreto pelo fato de que no bloco 2 do segundo nível, não é permitido que a tabela principal ORDER possui uma relação EACH (pai) com ORDER-LINE.

 

Exemplo 03 – Solução para necessidade do exemplo 02.

 

Tabela

Tabela Relac

Relação

Nível

Bloco

Quebra Página

Pedido

-

-

1

1

Sim

Cliente

Pedido

Filho

1

1

Não

Itens Pedido

Pedido

Pai

2

2

Não

Contatos Cliente

Cliente

Pai

2

3

Não

Obs.: a última tabela “EACH” do primeiro nível necessita de quebra de página por registro.

 

Para identificar manualmente qual a tabela que possui quebra de página, basta identificar qual a tabela que representa exatamente um registro por página.

-         Exemplo 01 / 03: Cada página imprimirá um único Pedido. Um cliente poderá estar em várias páginas (vários pedidos).

 

 

Exemplo 04 – Solução 2 para necessidade do exemplo 02.

 

Tabela

Tabela Relac

Relação

Nível

Bloco

Quebra Página

Cliente

-

-

1

1

Não

Pedido

Cliente

Pai

1

1

Sim

Itens Pedido

Pedido

Pai

2

2

Não

Buffer-Cliente

Pedido

Filho

1

1

Não

Contatos Cliente

Buffer-Cliente

Pai

2

3

Não

Obs.: a última tabela “EACH” do primeiro nível necessita de quebra de página por registro.

 

 

Esboço Telas / Relatórios:

 

Observação: os modelos de relatórios representados abaixo foram levantados na fase de requisitos, identificando alguns casos onde devem ser atendidos pela nova release do DV. A definição e alteração das telas (interface) do DV serão detalhadas em uma Engenharia de OS separada.

 

-         Relatório Flow – Listagem de 1 grupo de dados (column-label)

o       Estrutura

§         Grupo cabeçalho (opcional)

§         Grupo para inserção dos textos / Campos

·        Column-label

o       Total Tabela (opcional)

§         Grupo Total (opcional)

§         Grupo rodapé (opcional)

o       Observações

§         Limitação de tamanho XSL-FO (Page-Sequence)

o       Exemplo

§         Classificação: Cliente / Pedido / Item (Obrigatório)

·        Repetição Cliente (Sim / Não)

·        Repetição Pedido (Sim / Não)

§         SubTotais (Obrigatório)

·        Cliente (apenas Total Tipo Tabela)

·        Pedido (apenas Total Tipo Tabela)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   # DataAtual

 

# Nome Empresa

 

 

# Página

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nome Cliente

Pedido

Descrição Item

Vlr Unitário

Qtde

Total

 

 

xxxxxxxxxxxxxxxxxx

999.999

xxxxxxxxxxxxxxxxx

999.999.999,99

>>>9

999.999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<MAX>

<TOTAL>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

QTDE MAX:

>>>>>>9

 

 

 

 

 

 

TOTAL:

999.999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#MsgRodape

 

 

 

#HoraAtual

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-         Relatório Flow – Listagem de 1 grupo de dados (side-labels)

o       Estrutura

§         Grupo cabeçalho (opcional)

§         Grupo para inserção dos textos / Campos

·        Side-Label

o       Quebra Página (opcional)

§         Grupo Total (opcional)

§         Grupo rodapé (opcional)

o       Observações

§         Limitação de tamanho XSL-FO (Page-Sequence)

o       Exemplo

§         Classificação: Cliente / Pedido / Item

·        Repetição Cliente (Sim / Não)

·        Repetição Pedido (Sim / Não)

§         SubTotais

·        Cliente (apenas Total Tipo Tabela?)

·        Pedido (apenas Total Tipo Tabela?)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   # DataAtual

 

# Nome Empresa

 

 

# Página

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nome Cliente:

xxxxxxxxxx

Pedido:

999.999

 

 

 

 

Descrição Item:

xxxxxxxxxxxxxxxx

 

 

 

 

 

 

Valor Unitário:

999.999.999,99

 

 

 

 

 

 

Quantidade:

>>>9

 

 

 

 

 

 

Total:

999.999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

QTDE MAX:

>>>>>>9

 

 

 

 

 

 

TOTAL:

999.999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#MsgRodape

 

 

 

#HoraAtual

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


-         Relatório Flow – Listagem de 2 ou mais grupos de dados

o       Estrutura

§         Grupo cabeçalho (opcional)

§         N Grupos para inserção dos textos / Campos

·        Column-label

·        Side-Label

·        Misto

§         N Grupos Totais (opcional)

§         Grupo rodapé (opcional)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   # DataAtual

 

# Nome Empresa

 

 

# Página

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nome Cliente:

xxxxxxxxxxxxxx

Endereço:

xxxxxxxxxxxxx

 

 

Nr. Pedido:

999.999

 

Vendedor:

xxxxxxxxxxxxx

 

 

 

 

 

 

 

 

 

 

Descrição Item

 

 

Vlr Unitário

Qtde

Total

 

 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

999.999.999,99

>>>9

999.999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<MAX>

<TOTAL>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

QTDE MAX:

>>>>>>9

 

 

 

 

 

 

TOTAL PEDIDO:

999.999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Título

Parcela

Data Emissão

Dt Vencimento

 

Total

 

 

xxxxxxxxxxxxxxxxxx

>9

99/99/9999

99/99/9999

 

999.999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<MAX>

 

 

 

 

 

 

 

<TOTAL>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PARCELA MAX:

>>>>>>9

 

 

 

 

 

 

TOTAL TITULOS:

999.999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#MensagemRodape

 

#HoraAtual

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-         Relatório Form – 1 grupo de dados (Column-label / Side-label)

o       Estrutura

§         Semelhante ao Flow

·        Sem Opção de Total Tabela

·        Sem Opção de Sub-Totais

§         Side-label

·        Quebra de Página automática por registro

 

-         Relatório Form – 2 ou mais Grupos de dados

o       Estrutura

§         Grupo cabeçalho (opcional)

§         N Grupos para textos / campos (Side-Labels)

§         N Grupos para inserção dos textos / campos (com repetição)

§         N Grupos Totais (opcional)

§         Grupo rodapé (opcional)

o       Características

§         Repetição do grupo único em caso de quebra de página (opcional)

§         Verificar quando existem 2 ou mais grupos múltiplos (quebra de página)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   # DataAtual

 

# Nome Empresa

 

 

 

# Página

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nome Cliente:

xxxxxxxxxxxxxx

 

 

 

Endereço:

xxxxxxxxxxxxx

 

 

Nr. Pedido:

999.999

 

 

 

 

Vendedor:

xxxxxxxxxxxxx

 

 

 

 

 

 

 

 

 

 

 

 

 

Descrição Item

Vlr Unitário

Qtde

Total

 

Título

Parc

Vencto

Total

 

 

xxxxxxxxxxxxx

999.999,99

>>>9

999.999,99

 

xxxxxxxxxx

>9

99/99/9999

999.999,99

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<MAX>

 

 

 

 

<MAX>

<TOTAL>

 

 

 

 

<TOTAL>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

QTDE MAX:

>>>>>>9

 

 

 

PARCELA MAX:

>>>>>>9

 

 

 

 

TOTAL PEDIDO:

999.999,99

 

 

 

TOTAL TITULOS:

#########

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#MensagemRodape

 

 

 

 

#HoraAtual

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Classificação

            A classificação não será utilizada para relatórios gráficos. Dessa forma, não será possível gerar classificações para a mesma (a opção deve ser desabilitada).

 

 

Propriedades dos Objetos

            Verificar planilha de propriedades x Objetos.

 

 

Definição da Página de Parâmetros

 

            Trata-se de um formato pré definido de página utilizado para anexar ao relatório gerado os parâmetros (Seleção, variáveis,etc) utilizados na execução do mesmo. Basicamente o novo formato para esta página será como demonstrado abaixo:

 

Datasul
Datasul S.A                         Teste de Parâmetros                          01/02/2003 – 07:45:00

 
 

 

 

 

 


VARIÁVEL

VALOR

Variável temporária

teste

PARÂMETROS

 

 

SELEÇÃO

 

CAMPO

VALOR INICIAL

VALOR FINAL

Cust-num

1

10

Order-num

0

99999

Ordered

01/01/60

21/12/99

 

IMPRESSÃO

 

Destino : Terminal - c:\tmp\testeab.pdf

Execução: On-line

Layout: Padrão

Usuário: sop

 

 

1.      Regras de Negócio: Segue abaixo um descritivo dos componentes necessários para a confecção de relatórios gráficos gerados pelo DataViewer, detectados na análise de requisitos:

 

a)      Relatório

Cada programa definido no DataViewer é considerado um relatório. Até a release DV 2.03, cada classificação estava obrigatoriamente relacionada a um relatório. Dessa forma, uma listagem cuja necessidade é listar uma determinada informação por código ou por descrição, era necessária a construção de dois relatórios (cada relatório possuía apenas um layout a ser definido).

Para a release DV 2.04, cada relatório poderá ter um ou mais layouts relacionados a ele. Dessa forma, o layout desejado passa a ser uma informação parametrizada no relatório (.W) gerado pelo DV. Com isso, será possível construir um único programa “.W” para imprimir uma listagem por código ou por descrição (cada layout possuirá a classificação desejada).

Cada relatório possuirá a seguinte estrutura:

-         Query

-         Layout’s

-         Seleção (semelhante a existente na release DV 2.03)

-         Parâmetros (semelhante a existente na release DV 2.03)

 

b)      Query

É um conjunto de itens (tabelas / totalizações) que representam a ordem e a relação com os demais itens da query. A query é uma informação relacionada ao relatório, sendo que a mesma será utilizada para todos os layout’s disponíveis.

 

Características da Query:

-         Item

o       Tabelas

o       Totalizadores

-         Relacionamentos (para itens do tipo Tabela)

o       Pai x Filho (pode ter quebra de níveis)

o       Tabela Estrangeira (mesmo nível)

 

c)      Layout

É uma possibilidade (forma) de visualização de um relatório. Cada layout de um relatório poderá ter as suas próprias definições da impressão, utilizando a mesma query.

 

Características do Layout

-         Tamanho da página: pré-definidos (A3, A4, ...) e customizado

-         Definição das Margens

-         Orientação: retrato / paisagem

-         Unidades de medida: pixel, milímetros, polegadas

-         Classificação (única por layout), relacionada a estrutura da Query.

-         Para cada layout será gerado um .XML que será utilizado pela biblioteca de funções

-         Tipo Layout:

o       Flow

§         Não possui posicionamento vertical fixo (limitado).

§         Listagem de grupos é seqüencial (a impressão é seqüencial).

o       Form

§         Posicionamento fixo (quebra de página obrigatória)

§         Possibilidade de adicionar N grupos múltiplos lado a lado

§         A impressão não é seqüencial, necessariamente.

§         Permite imprimir objetos do tipo “Formulário”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d)      Grupos

É um recurso utilizado pelo usuário para definir um conjunto de informações diferenciadas, em níveis distintos.

 

Características do Grupo

-         É um objeto com representação visível na edição de layout’s (frame)

-         Conceitos

o       Repetição (definição interna)

§         Grupos Múltiplos: Grupos de dados (tabelas) da Query definidos no último nível da estrutura

§         Grupo Simples: demais grupos de dados (tabelas) da Query que possuem nós filhos

o       Tipos

§         Cabeçalho – Textos e Constantes do DV pré-processadas (Nr. Página / Data, etc.)

§         Rodapé – Textos e Constantes do DV pré-processadas (Nr. Página / Data, etc.)

§         Dados da Tabela

§         Total

o       Posicionamento

§         Column-label (identifica a necessidade de usar Table no XSL-FO)

§         Side-label

-         Características Adicionais conforme Tipo Layout

o       Flow

§         Quebra de página por grupo (Sim / Não)

§         Possibilidade de totalização na própria tabela (mesmo grupo)

o       Form

§         Quebra de Página

·        Total à Imprime apenas na última página, quando acabar os itens múltiplos

·        Grupo Simples à sempre repete os dados

·        Número de linhas é solicitado ao usuário (representar graficamente no editor)

o       Bordas (Tabela): indica se imprime as bordas da tabela ou não

o       Grade (Tabela): indica se imprime a grade da tabela ou não

o       Espaçamento

o       Texto / Campos são pertencentes ao mesmo grupo (mesmo com column-labels)

-         Classificação

o       Cada grupo possui a sua classificação, podendo ser através de um ou mais atributos

o       Para cada atributo da classificação, é possível efetuar sub-totais

 

 

 

 

 

 

e)      Campos / Textos

São objetos utilizados para representar campos de tabela, valores fixos, campos calculados, etc.

           

                 Características dos Campos/Objetos

-         Posicionamento: coordenada X, Y

-         Tamanho

o       Largura (pode ser definido pelo Formato x Estilo Fonte)

o       Altura (calculado automaticamente pelo Estilo da Fonte)

-         Alinhamento Horizontal

o       esquerda

o       direita

o       centro

-         Gerenciador de Estilos: Permitir a combinação de cores / fontes para posterior reaproveitamento.

o       Cores: Cor de Fundo / Frente

o       Fontes: Tipo, Tamanho, Negrito, Itálico,...

-         Quebra automática (editores) – é necessário verificar a viabilidade em XSL-FO

-         Formato

-         Condições para impressão: permitir criar uma condição para indicar se determinado campo será impresso ou não

-         Condições para determinar uma propriedade (Exemplo: Cor à X > 10 = Vermelho; Cor à X <= 10, Azul) – ligados a estilos

-         Possui Rótulo: se determinado objeto possui rótulo ou não

-         Formulário: indica se o objeto faz parte do formulário ou não (caso faça parte, será parametrizado no layout de os objetos pertencentes ao formulário serão impressos).

 

f)       Retângulos

Características dos retângulos

-         Posicionamento

-         Tamanho

-         Cor

-         Bordas Arredondadas

-         Preenchido

-         Tracejado

-         Espessura

-         Formulário: indica se o objeto faz parte do formulário ou não (caso faça parte, será parametrizado no layout de os objetos pertencentes ao formulário serão impressos).

 

g)      Linhas

Características das linhas

-         Posicionamento

-         Tamanho

-         Cor

-         Horizontal / Vertical (apenas para Form)

-         Formulário: indica se o objeto faz parte do formulário ou não (caso faça parte, será parametrizado no layout de os objetos pertencentes ao formulário serão impressos).

 

 

h)     Imagem

Características da Imagem

-         Localização imagem

o       Caminho Fixo

o       Valor Atributo / Variável

-         Tamanho

-         Posicionamento

-         Formulário: indica se o objeto faz parte do formulário ou não (caso faça parte, será parametrizado no layout de os objetos pertencentes ao formulário serão impressos).

 

 

i)       Características Adicionais do DV 2.04

a.       Templates

 

b.      Wizards

 

c.       Código de Barras

 

d.      Biblioteca de Funções: a impressão dos objetos será feita através de uma biblioteca de funções que será executada através de métodos chamados pelo relatório (RP.P) gerado pelo DV 2.04. Além disso, a biblioteca fará a leitura do layout correspondente e será responsável pela geração do arquivo FO. Segue abaixo algumas características da Biblioteca:

o       Na execução do relatório, a BF terá que carregar o layout correspondente.

o       Os métodos utilizados pelo relatório gerado terão sua composição simplificada, não necessitando parametrizar todas as informações de um objeto quando for necessário, visto que as mesmas serão carregadas pela BF inicialmente.

o       Para o usuário do DV, existirá algumas limitações sobre a customização do relatório, não permitindo alterar o posicionamento dos objetos através da edição do fonte do relatório (será necessário editar o layout através do DV). Através de fonte livre, será possível:

§         Alterar as cores

§         Definir se imprime ou não um objeto

§         Alterar o valor a ser impresso em um campo

 

 

 

 

 

 

 

 

 

 

 

| Topo |

ttulotabela