4D View v16

PV REPORT MANY

Inicio

 
4D View v16
PV REPORT MANY

PV REPORT MANY 


 

PV REPORT MANY ( area ; columna ; linea ; master ; tablaRuptura ; campoRuptura ; operador ; tablas ; campos ; insertar ; detalle ; titulo ) 
Parámetro Tipo   Descripción
area  Entero largo in Área 4D View
columna  Entero largo in Número de columna
linea  Entero largo in Número de línea
master  Entero in Número de tabla primaria
tablaRuptura  Entero in Número de tabla en donde ocurre la ruptura
campoRuptura  Array in Número de campo en donde ocurre la ruptura
operador  Array entero in Operaciones a ejecutar
tablas  Array entero in Números de tablas de los campos a mostrar
campos  Array entero in Números de los campos a mostrar
insertar  Entero in 0 = Remplazar; 1 = Insertar líneas
detalle  Entero in Opciones de inserción de detalle
titulo  Cadena in Titulo de ruptura

El comando PV REPORT MANY crea un informe en el area 4D View utilizando los valores de los campos 4D definidos por tablas y campos a partir de la selección actual de la tabla master. Es posible aplicar a cada uno de estos campos una operación, definida por operador: subtotal, número, máximo, etc. Para definir el parámetro operador, utilice las constantes del tema PV Funciones informes:

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

El resultado generado se inserta en el area a partir de la celda designada por linea y columna.

tablaRuptura y campoRuptura designan el campo donde se efectúa la secuencia de ruptura. Las rupturas permiten separar los registros en grupos homogéneos y efectuar cálculos intermediarios para cada grupo.
Una ruptura es un cambio de valor en una tabla de ordenación. Es necesario asociar este nivel de ruptura con un criterio de ordenación. La ordenación de una selección de registros de tablaRuptura y campoRuptura es necesaria antes de utilizar el comando PV REPORT MANY. Puede tener criterios de ordenación adicionales, que no serán tenidos en cuenta en la ruptura. Para más información sobre la construcción de informes rápidos con rupturas, consulte el Manual de Diseño 4D.

El parámetro insertar determina si los datos ubicados en el área 4D View por este comando deben reemplazar las celdas que pueden estar presentes o deben insertarse en las nuevas líneas. Si pasa 0, los datos se borran y remplazan. Si pasa 1, las líneas adicionales se insertan.

El parámetro detalle permite definir la forma en  que 4D View insertará el detalle, así como también las líneas de ruptura en el informe:

  • Si pasa 0 en detalle, sólo se insertan las líneas de ruptura (las líneas de detalle no se insertan).
  • Si pasa 1 en detalle, se insertan las líneas de detalle y los valores de ruptura se repite en cada línea.
  • Si pasa 2 en detalle, se insertan las líneas de detalle y los valores de rupturas se muestran una sola vez.

El parámetro titulo permite definir el título de la línea de resultados (es decir, "Total", "Promedio", etc.) Al igual que en el Editor de informes rápidos de 4D, puede utilizar el carácter # como un marcador para el valor de ruptura actual. Por ejemplo, si el campo "País" es su campo de ruptura, puede pasar "Total para #:" en titulo. El informe mostrará "Total de EE.UU.:" y luego "Total de Japón", etc.
Pase una cadena vacía si no se desea insertar un título.

Nota: si detalle vale 0 y el título es una cadena vacía, la primera columna no se inserta (estaría vacía).

Ejemplo  

Mostramos, en un área 4D View incluida en el formulario de entrada de los clientes, un informe de contactos relacionados con este cliente, con una ruptura que indica el número de contactos para cada título: secretaria, desarrollador, departamento de documentación, etc. Una relación automática existe entre la tabla de contactos y la de títulos.

 C_LONGINT($Column//Número de columna
 C_LONGINT($Row//Número de línea
 C_LONGINT($Master//Número de tabla primaria
 C_LONGINT($TableBreak//Número de tabla donde ocurre la ruptura
 C_LONGINT($FieldBreak//Número de campo donde ocurre la ruptura
 ARRAY INTEGER($Operator;3) //Operaciones a ejecutar
 ARRAY INTEGER($Tables;3) //Número de tablas de los campos a mostrar
 ARRAY INTEGER($Fields;3) //Número de campos a mostrar
 C_LONGINT($Insert//0=Remplazar;1=Insertar líneas
 C_LONGINT($Detail//Opción de visualización del detalle
 C_TEXT($Title//Título de la línea de resultado</p><p>//Inicializar
 $Column:=4 //Visualización a partir de la columna D
 $Row:=3 `Visualización a partir de la tercera línea (Titulo + línea vacía)
 $Master:=Table(->[Contacts]) //Este es un "informe" de la tabla de contactos
 $TableBreak:=Table(->[Titles])
 $FieldBreak:=Field(->[Titles]Label//La ruptura ocurrirá en el título de contactos</p><p>//Mostramos en la columna 1 el número para cada tipo
 $Operator{1}:=pv report function count
 $Tables{1}:=Table(->[Titles])
 $Fields{1}:=Field(->[Titles]Label//Etiqueta del título columna 1
 
 $Operator{2}:=pv report function none //Ningún cálculo en la columna 2
 $Tables{2}:=Table(->[Contacts])
 $Fields{2}:=Field(->[Contacts]ContactName) //Nombre del contacto columna 2
 
 $Operator{3}:=pv report function none //Ningún cálculo en la columna 3
 $Tables{3}:=Table(->[Contacts])
 $Fields{3}:=Field(->[Contacts]ContactFirstname) //Nombre de contacto columna 3
 
 $Insert:=1 //Inserción
 $Detail:=2 //Se insertan las líneas de detalle, los valores se muestran una vez
 $Title:="Number of contacts for #" //
 
 RELATE MANY([Clients]Code) //Recupera los contactos del cliente
  //Ordenación necesaria en ruptura + visualización en orden 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)

La selección dependerá de los enlaces entre tablas a nivel de la estructura de la base, de los números de campos y de tablas pasadas como parámetros al comando.



Ver también 

PV ARRAY TO CELLS
PV REPORT ONE

 
PROPIEDADES 

Producto: 4D View
Tema: PV Valor celda
Número 15904

 
HISTORIA 

Creado por: 4D View 6.8

 
ARTICLE USAGE

4D View - Lenguaje ( 4D View v16)