4D View v14

PV REPORT MANY

Página Inicial

 
4D View v14
PV REPORT MANY

PV REPORT MANY 


 

PV REPORT MANY ( area ; coluna ; linha ; master ; tabelaRuptura ; campoRuptura ; operador ; tabelas ; campos ; inserir ; detalhe ; titulo ) 
Parâmetro Tipo   Descrição
area  Inteiro longo in Área 4D View
coluna  Inteiro longo in Número de coluna
linha  Inteiro longo in Número de linha
master  Inteiro in Número de tabela primária
tabelaRuptura  Inteiro in Número de tabela onde ocorre a ruptura
campoRuptura  Array in Número de campo onde ocorre a ruptura
operador  Array inteiro in Operações a executar
tabelas  Array inteiro in Números de tabelas dos campos a mostrar
campos  Array inteiro in Números dos campos a mostrar
inserir  Inteiro in 0 = Substituir; 1 = Inserir linhas
detalhe  Inteiro in Opções de inserção de detalhe
titulo  cadeia in Título de ruptura

O comando PV REPORT MANY cria um relatório na area 4D View utilizando os valores dos campos 4D definidos por tabelas e campos a partir da seleção atual da tabela master. É possível aplicar a cada um destes campos uma operação, definida por operador: subtotal, número, máximo, etc. Para definir o parâmetro operador, utilize as constantes do tema PV Funções relatórios:

Constante Tipo Valor
pv report function average Inteiro longo 1
pv report function count Inteiro longo 4
pv report function max Inteiro longo 3
pv report function min Inteiro longo 2
pv report function none Inteiro longo -1
pv report function sum Inteiro longo 0

O resultado gerado se insere na area a partir da célula designada por linha e coluna.

tabelaRuptura e campoRuptura designam o campo onde se realiza a sequência de ruptura. As rupturas permitem separar os registros em grupos homogêneos e realizar cálculos intermediários para cada grupo.
Uma ruptura é uma mudança de valor em uma tabela de ordem. É necessário associar este nível de ruptura com um critério de ordem. A ordem de uma seleção de registros de tabelaRuptura e campoRuptura é necessária antes de utilizar o comando PV REPORT MANY. Pode ter critérios de ordem adicionais, que não serão levados em conta na ruptura. Para mais informação sobre a construção de relatórios rápidos com rupturas, consulte o Manual de Desenho 4D.

O parâmetro inserir determina se os dados localizados na área 4D View por este comando devem substituir as células que podem estar presentes ou devem ser inseridas nas novas linhas. Se passar 0, os dados são apagados e substituídos. Se passar 1, as linhas adicionais se inserem.

O parâmetro detalhe permite definir a forma em que 4D View irá inserir o detalhe, assim como as linhas de ruptura no relatório:

  • Se passar 0 em detalhe, só são inseridas as linhas de ruptura (as linhas de detalhe não se inserem).
  • Se passar 1 em detalhe, se inserem as linhas de detalhe e os valores de ruptura se repete em cada linha.
  • Se passar 2 em detalhe, se inserem as linhas de detalhe e os valores de rupturas se mostram uma só vez.

O parâmetro titulo permite definir o título da linha de resultados (ou seja, "Total", "Média", etc.) Ao igual que no Editor de relatórios rápidos de 4D, pode utilizar o caractere # como um marcador para o valor de ruptura atual. Por exemplo, se o campo "País" é seu campo de ruptura, pode passar "Total para #:" em título. O relatório mostrará "Total de EE.UU.:" e depois "Total de Japão", etc.
Passe uma cadeia vazia se não se deseja inserir um título.

Nota: Se detalhe vale 0 e o título é uma cadeia vazia, a primeira coluna não seria inserida (estaria vazia).

Exemplo  

Mostramos, em uma área 4D View incluída no formulário de entrada dos clientes, um relatório de contatos relacionados com este cliente, com uma ruptura que indica o número de contatos para cada título: secretária, programador, departamento de documentação, etc. Uma relação automática existe entre a tabela de contatos e a de títulos.

 C_LONGINT($Column`Número de coluna
 C_LONGINT($Row`Número de linha
 C_INTEGER($Master`Número de tabela primária
 C_INTEGER($TableBreak`Número de tabela onde ocorre a ruptura
 C_INTEGER($FieldBreak`Número de campo onde ocorre a ruptura
 ARRAY INTEGER($Operator;3) `Operações a executar
 ARRAY INTEGER($Tables;3) `Número de tabelas dos campos a mostrar
 ARRAY INTEGER($Fields;3) `Número de campos a mostrar
 C_INTEGER($Insert`0=Substituir;1=Inserir linhas
 C_INTEGER($Detail`Opção de visualização do detalhe
 C_STRING(30;$Title`Título da linha de resultado
 
  `Inicializar
 $Column:=4 `Visualização a partir da coluna D
 $Row:=3 `Visualização a partir da terceira linha (Título + linha vazia)
 $Master:=Table(->[Contacts]) `Este é um "relatório" da tabela de contatos
 $TableBreak:=Table(->[Titles])
 $FieldBreak:=Field(->[Titles]Label`A ruptura ocorrerá no título de contatos
 
  `Mostramos na coluna 1 o número para cada tipo
 $Operator{1}:=pv report function count
 $Tables{1}:=Table(->[Titles])
 $Fields{1}:=Field(->[Titles]Label`Etiqueta do título coluna 1
 
 $Operator{2}:=pv report function none `Nenhum cálculo na coluna 2
 $Tables{2}:=Table(->[Contacts])
 $Fields{2}:=Field(->[Contacts]ContactName) `Nome do contato coluna 2
 
 $Operator{3}:=pv report function none `Nenhum cálculo na coluna 3
 $Tables{3}:=Table(->[Contacts])
 $Fields{3}:=Field(->[Contacts]ContactFirstname) `Nome de contato coluna 3
 
 $Insert:=1 `Inserção
 $Detail:=2 `Se inserem as linhas de detalhe, os valores se mostram uma vez
 $Title:="Números de contatos para #" `O # será substituído pelo valor de ruptura atual
 
 RELATE MANY([Clients]Code) `Recupera os contatos do cliente
  `Ordem necessária em ruptura + visualização em ordem alfabético
 ORDER BY([Contacts];[Titles]Label;[Contacts]ContactName;[Contacts]ContactFirstname)
 
 PV REPORT MANY(Area;$Column;$Row;$Master;$TableBreak;$FieldBreak;$Operator;$Tables;
 $Fields;$Insert;$Detail;$Title)

A seleção vai depender dos links entre tabelas a nível da estrutura da base, dos números de campos e de tabelas passadas como parâmetros ao comando.

 
PROPRIEDADES 

Produto: 4D View
Tema: PV Valor célula
Número 15904

 
HISTÓRIA 

Criado por: 4D View 6.8

 
VER TAMBÉM 

PV ARRAY TO CELLS
PV REPORT ONE

 
ARTICLE USAGE

4D View Linguagem ( 4D View v11.4)
4D View Linguagem ( 4D View v12)
4D View Linguagem ( 4D v13)
4D View Linguagem ( 4D View v14 R2)
4D View Linguagem ( 4D View v14)
4D View Linguagem ( 4D View v14 R3)
4D View Linguagem ( 4D View v14 R4)