4D View v14PV REPORT MANY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v14
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 | cadeia |
![]() |
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 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.
Produto: 4D View
Tema: PV Valor célula
Número
15904
Criado por: 4D View 6.8
PV ARRAY TO CELLS
PV REPORT ONE
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)