| 4D View v15PV REPORT MANY | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D View v15
 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 |   | Área 4D View | |||||
| coluna | Inteiro longo |   | Número de coluna | |||||
| linha | Inteiro longo |   | Número de linha | |||||
| master | Inteiro |   | Número de tabela primária | |||||
| tabelaRuptura | Inteiro |   | Número de tabela onde ocorre a ruptura | |||||
| campoRuptura | Array |   | Número de campo onde ocorre a ruptura | |||||
| operador | Array inteiro |   | Operações a executar | |||||
| tabelas | Array inteiro |   | Números de tabelas dos campos a mostrar | |||||
| campos | Array inteiro |   | Números dos campos a mostrar | |||||
| inserir | Inteiro |   | 0 = Substituir; 1 = Inserir linhas | |||||
| detalhe | Inteiro |   | Opções de inserção de detalhe | |||||
| titulo | String |   | 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 detalhe permite definir a forma em que 4D View irá inserir o detalhe, assim como as linhas de ruptura no relatório:
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).
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 da coluna
 C_LONGINT($Row) //Número da linha
 C_LONGINT($Master) //Número da tabela mestre
 C_LONGINT($TableBreak) //Número da tabela onde a quebra ocorre
 C_LONGINT($FieldBreak) //Número do campo onde a quebra ocorre
 ARRAY INTEGER($Operator;3) //Operações a executar
 ARRAY INTEGER($Tables;3) //Número da tabela dos campos a mostrar
 ARRAY INTEGER($Fields;3) //Números dos campos a mostrar
 C_LONGINT($Insert) //0=Substituir;1=Inserir linhas
 C_LONGINT($Detail) //Mostra Opções detalhe
 C_TEXT($Title) //Título da linha resultado
 
  //Initializar
 $Column:=4 //Display starting at column D
 $Row:=3 `Display starting in the 3rd row (Title + empty row)
 $Master:=Table(->[Contacts]) //Este é um relatório da tabela contatos
 $TableBreak:=Table(->[Titles])
 $FieldBreak:=Field(->[Titles]Label) //Quebra acontece no título de contato
 
  //Mostra 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 de título da coluna1
 
 $Operator{2}:=pv report function none //Sem calcúlo na coluna 2
 $Tables{2}:=Table(->[Contacts])
 $Fields{2}:=Field(->[Contacts]ContactName) //Nome de contato coluna 2
 
 $Operator{3}:=pv report function none ///Sem calcúlo na coluna 3
 $Tables{3}:=Table(->[Contacts])
 $Fields{3}:=Field(->[Contacts]ContactFirstname) //Primeiro nome de contato coluna 3
 
 $Insert:=1 //Inserir
 $Detail:=2 //Linhas de Detalhe são inseridas, valores exibidos uma vez
 $Title:="Number of contacts for #" //O # será substituido pelo valor de quebra atual
 
 RELATE MANY([Clients]Code) //Consegue contratos clientes
  //Ordenação necessária na quebra + exibe em ordem alfabética
 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.
	Produto: 4D View
	Tema:  PV Valor célula
	Número 
        15904
        
        
        
	
	Criado por: 4D View 6.8
	4D View Linguagem ( 4D View v15)
	
	
	
	
	
	
	
 Adicionar um comentário
Adicionar um comentário