Reportes

Los reportes son documentos de salida que resumen la información gestionada por los lanzamientos a partir de consultas realizadas a las principales colecciones de datos. La generación de reportes constituye el paso previo a la obtención de los documentos impresos del programa.

1. Archivos de Reporte

El motor de reportes de CORTE permite la creación de reportes completamente personalizados que pueden cargarse y mostrarse en cualquier momento en el entorno de CORTE. Para ello, las configuraciones de los reportes se guardan permanentemente en archivos de reporte (extensión RCO).

1.1 Logotipo personalizado

Puede configurar un logotipo personalizado y opcionalmente mostrarlo en el encabezamiento de cada página de un reporte en particular.

2. Registros y Campos

La información consultada en los reportes se almacena en registros que se asocian a uno o varios objetos relacionados con un origen de datos del lanzamiento. En general, los campos en los registros contienen las propiedades de dichos objetos. Para los reportes se definen, además, las propiedades especiales Obj y Calculado que permiten, respectivamente, acceder al objeto propietario del campo y definir campos calculados mediante código Prolan. La propiedad Calculado añade un campo adicional al registro recuperado sin asociarse con un objeto en particular. Los registros pueden ordenarse ascendente o descendentemente por el valor de uno o varios campos o agruparse para calcular totales parciales.

3. Vistas

Se definen dos tipos de vista para los reportes:

Tabla
Los registros y campos recuperados se organizan en filas y columnas, respectivamente. Las tablas pueden mostrarse en varias franjas verticales (columnas) en la página del reporte.
Lista
Los registros recuperados se muestran en items (tarjetas) separados que pueden distribuirse rectangularmente en varias filas y columnas en cada página del reporte. Los campos en cada item por defecto (vea Subcampo más abajo) se posicionan de arriba abajo. Puede personalizar la forma y el fondo de dichos items.

4. Secciones

Los reportes se definen en tres secciones bien diferenciadas:

Presentación
Permite configurar la vista preliminar del reporte (tipo de vista, página de impresión y otras), el Encabezamiento (título, subtítulo y notas que se mostrarán en líneas consecutivas en la primera página) y definir Otros Datos de usuario asociados al reporte.
Detalles
Define los registros y campos a mostrar en el reporte.
Resumen
Muestra los totales y otras etiquetas personalizadas que resumen el contenido del reporte.

5. Origen de Datos

El origen de datos de un reporte puede ser una de las colecciones Piezas, Materiales, Cintas, Grupos, Patrones o Ubicaciones del lanzamiento.

6. Relaciones

Los registros recuperados pueden mostrarse en uno o más niveles de profundidad en función de la relaciones existentes entre los objetos necesarios para acceder a un campo en particular. La relación entre dos objetos puede ser de tipo:

Master-Master
El nivel del reporte no se incrementa ya que los objetos relacionados están en correspondencia uno a uno.
Master-Detalle
El nivel del reporte se incrementa en 1 ya que los objetos relacionados están en correspondencia uno a muchos, es decir, por cada objeto master existen, en general, varios objetos detalle.

La figura siguiente describe las relaciones existentes entre los diferentes objetos del lanzamiento. Las relaciones de tipo master-detalle se indican con un * (asterisco).

Un truco sencillo para determinar si dos objetos mantienen una relación master-detalle es comprobar que el primero contenga una colección del segundo. Nótese que las relaciones anteriores son todas direccionales, es decir, para el motor de reportes solo son válidas en el sentido indicado por las flechas.

En el selector de objetos de la ficha Detalles del Editor de Reportes, muchas relaciones se describen de forma compacta indicando siempre el objeto final pero omitiendo el objeto inicial (obvio por el origen de datos) y algunos otros objetos intermedios. Por ejemplo, el objeto Corte.Polo.Segmento del origen de datos Patrones resume la relación:

Patrón.Corte.Ubicación.Polo.Pieza.Forma.Contorno.Segmento

que contiene 4 niveles de profundidad por las relaciones master-detalle Patrón.Corte, Ubicación.Polo, Forma.Contorno y Contorno.Segmento.

7. Selección de Registros

Puede restringir los registros seleccionados bien aplicando un filtro implícito a los objetos primarios del origen de datos o bien escribiendo código Prolan para el evento de selección.

7.1 Filtros implícitos

El motor de reportes aplica implícitamente los filtros siguientes:

Consumidos
Objetos consumidos en la solución: piezas y materiales con Real>0, cintas con TotalCantos>0 y patrones con Repetición>0 (Activos) en el redondeo actual.
Activos
Objetos activados.
Canteados
Piezas con cintas tapacantos asignadas.
Multi Real
Los registros recuperados se repiten tantas veces como sea la multiplicidad Real del objeto primario del origen de datos.

En el origen de datos Patrones los filtros Consumidos y Activos son equivalentes.

8. Alias de Campos

Los nombres originales de los campos pueden aparecer repetidos ya que las propiedades que los originan, en general, se comparten entre diferentes objetos del lanzamiento. Los alias son identificadores que permiten referir los campos unívocamente en las expresiones Prolan del reporte usando la notación [<alias campo>]. Aunque el motor de reportes genera alias automáticamente, es aconsejable definirlos manualmente utilizando identificadores breves o nemotécnicos que expresen bien la función del campo en el reporte.

9. Campos calculados

Ocurre con frecuencia que la información que se desea mostrar en el reporte no puede obtenerse directamente de las propiedades de los objetos sino como resultado de procesar los datos contenidos en ellas. Los campos calculados es el mecanismo que permite generar tal tipo de información.

Para calcular campos debe asociar código Prolan a los detalles correspondientes. Las etiquetas de la sección Resumen también pueden calcularse introduciendo código Prolan en lugar de textos simples. Tanto los campos como las etiquetas tomarán el valor retornado por los programas Prolan asociados.

Véase Prolan para Reportes más adelante en este capítulo.

10. Agrupación

La agrupación de campos provoca que el total de registros recuperados se divida en subconjuntos o categorías caracterizadas por claves únicas que definen conjuntamente los valores de todos los campos en agrupación.

Cuando hay agrupación, se selecciona solamente el primer registro en cada una de las categorías y el resto de los campos no agrupados puede utilizarse para calcular resumenes parciales mediante las llamadas funciones de agregado o dominio. El motor de reportes implementa internamente funciones de dominio para contar, sumar, promediar, obtener el mínimo o máximo y calcular la desviación estándar. Las funciones de dominio pueden aplicarse también al conjunto de todos los registros recuperados para obtener resúmenes totales. En este último caso no es necesaria la agrupación, aunque pudiera aplicarse también.

11. Subcampos

Utilice la opción Subcampo de los detalles para cambiar la dirección implícita de posicionamiento del campo. El subcampo se posiciona debajo del campo anterior (no a la derecha) en la vista de tipo Tabla y a la derecha (no debajo) del campo anterior en la vista de tipo Lista.

12. Formatos de salida

Los campos pueden mostrarse en cualesquiera de los formatos implícito, medida, o numéricos del lanzamiento o también con un formato de usuario como el aplicado por la función Prolan convdc. De forma independiente puede configurarse la visibilidad del campo y mostrar el valor cero.

12.1 Formatos de salida gráficos

Se definen dos tipos especiales de formato de salida para mostrar gráficos en los reportes: Gráfico de Objeto y Detalle de Patrón. Estos formatos siempre deben asociarse a campos de tipo Objeto, bien recuperados con la propiedad Obj o bien calculados mediante código Prolan. El formato Gráfico de Objeto puede aplicarse a objetos de tipo Pieza, Material, Patrón, Ubicación, Forma, Contorno, Segmento y RefCon. El formato Detalle de Patrón solo puede aplicarse a objetos de tipo Patrón para dibujarlos en el mismo zoom que tiene la hoja Patrones. Los gráficos de objeto se dibujan dentro del área limitada por las dimensiones de la etiqueta de texto asociada al campo.

13. Formato de Impresión

La vista preliminar del reporte muestra etiquetas de texto para todas las componentes visuales configuradas en cada una de las secciones del reporte. Puede modificar el formato de impresión de dichas etiquetas para personalizar sus dimensiones, alineación, tipo y color de letra, color de fondo y marco.

Los diferentes tipos de etiqueta y sus formatos de impresión correspondientes son los siguientes:

Título
Título del reporte.
Subtítulo
Subtítulo del reporte.
Notas
Notas del reporte.
Categoría de campo
Etiquetas que agrupan los detalles por categorías. Deben definirse solamente para el primer campo visible en cada categoría y se muestran, si existen, en la primera línea del encabezado de los Detalles en los reportes de tipo Tabla o a lo largo de todo el item en los reportes de tipo Lista.
Nombre de campo
Etiquetas que contienen los nombres de los detalles. En los reportes de tipo Tabla son los títulos de las columnas correspondientes y se muestran en el encabezado de los detalles, inmediatamente debajo de las categorias. En los reportes de tipo Lista siempre anteceden al valor del detalle.
Detalle de campo
Etiquetas que contienen los valores de los campos recuperados.
Detalle de resumen
Etiquetas que muestran textos u otros valores calculados en la sección Resumen del reporte. Se posicionan con las mismas coordenadas de tabla de los detalles pero relativas al inicio de la sección.

13.1 Etiquetas de totales

Estas son etiquetas especiales que contienen los totales calculados en la sección Detalles y se añaden automáticamente a la sección Resumen. Se muestran en la primera fila de dicha sección, inmediatamente debajo de las columna de detalle correspondiente.

13.2 Etiquetas extendidas

Las largos de las etiquetas pueden extenderse en la dirección horizontal para que sus textos se muestren hasta el margen derecho de la página o hasta el borde derecho del item de lista. En los reportes de tipo Tabla puede extenderse solamente el largo de un nombre de campo (si se extienden varios se toma el primero y el resto se ignora) para que el ancho de la columna correspondiente, y junto con ella el ancho de toda la sección, se ajuste automáticamente al ancho del papel.

Los anchos de las etiquetas también pueden extenderse para que el texto crezca automáticamente en la dirección vertical (hacia abajo) o hasta el borde inferior del item de Lista.

14. Prolan para Reportes

El Cliente Prolan para Reportes permite la ejecución sincrónica de programas Prolan en las diferentes etapas del proceso de generación del reporte.

Estos programas pueden utilizarse para:

Evento de Inicialización
Código que se ejecuta antes de generar los registros del reporte. En este evento deben aparecer, si las hay, todas las funciones de usuario definidas con la función defun o incluidas con la función incluye.
Evento de Selección
Código que restringe los registros recuperados aplicando un criterio de selección. El programa Prolan para este evento debe retornar F (falso) o nada si el registro en cuestión no se elige. El evento de selección se ejecuta inmediatamente después de recuperar los valores originales de los campos, sin calcularlos aún.

El código siguiente, aplicado al origen de datos Patrones, filtra solamente los cortes de piezas:

(/= [Pieza] nada)

donde Pieza es un alias para el campo Obj de la relación Corte.Pieza. Nótese el uso de los corchetes para referir los campos del reporte.

Evento de Finalización
Código que se ejecuta después de generar todos los registros y etiquetas de resumen del reporte.
Calcular Campos
Código para calcular los detalles de campo en los registros. Los campos se calculan en el orden de definición, primero los originales y después los puramente calculados, después de leídos los valores originales de todos los campos.

Puede utilizar el mecanismo de cálculo de campos para definir un campo extra que enumere los registros del reporte. En este caso, en lugar de código Prolan, simplemente debe escribir el carácter # (número).
Calcular Resúmenes
Código que se ejecuta, después de recuperar todos los registros, para calcular detalles en la sección Resumen. Aquí puede utilizar las propiedades del objeto implícito de Prolan (el propio reporte) para acceder a la tabla de registros, los totales y las etiquetas de resumen generadas previamente.

Las variables globales definidas en cualesquiera de los eventos o campos calculados del reporte se mantienen activas durante todo el proceso de generación y, por lo tanto, son válidas y accesibles desde cualquier otro programa Prolan utilizado en el reporte.

15. Acciones

Abrir, crear, editar, cerrar un reporte
Seleccione Predefinidos o Abrir, Nuevo, Editar, Cerrar en el menú Reporte.
Cerrar todos los reportes abiertos
Seleccione Cerrar Todo en el menú Reporte.
Mostrar/Ocultar la vista preliminar del reporte actual
Seleccione Vista Preliminar en el menú Reporte.
Configurar la página, imprimir un reporte
Desde la vista preliminar, seleccione Configurar Página, Imprimir en el menú Reporte.
Exportar el reporte a varios formatos de archivo (pdf, xls, html, xml, rtf, csv, txt)
Desde la vista preliminar, seleccione Exportar en el menú Reporte.
También puede exportar a formatos como pdf o xps, imprimiendo el reporte en impresoras virtuales especialmente dedicadas a ese fin.
Configurar un logotipo personalizado
Seleccione Opciones|Entorno en el menú Herramientas.
En el cuadro Logotipo en los Reportes, defina la imagen del logo y su alineación en el encabezado de página.
Abra un reporte y edítelo.
En el Editor de Reporte, marque Mostrar Logotipo en las Opciones de la ficha Presentación y pulse Generar en el menú principal para reabrir el reporte.
Nota: El logo se mostrará con sus dimensiones originales las cuales pudieran exceder los límites del encabezamiento de página. En ese caso, puede configurar la página del reporte para incrementar el margen superior o utilizar un editor gráfico externo para reducir las dimensiones de la imagen.

Las acciones que siguen son para ejecutarse dentro del Editor de Reporte.

Añadir campos
Desde la ficha Detalles, seleccione el objeto propietario del campo y luego una propiedad en las listas Objeto y Propiedad, respectivamente.
Añadir resúmenes
Desde la ficha Resumen, seleccione Agregar en el menú Detalle.
Eliminar campos, resúmenes.
Seleccione uno o varios elementos en la lista Campos (Etiquetas) en las ficha Detalles (Resumen) y luego Eliminar en el menú Detalle.
Cambiar el orden de un campo, resumen
Seleccione un solo elemento en las lista correspondiente y luego a Subir|Bajar en el menú Detalle, o bien
Arrástre el elemento dentro de la lista manteniendo presionada la tecla Ctrl.
Modificar el formato de las etiquetas
Primero acceda a Formato|Aplicar A para activar un tipo de etiqueta y después a Formato|Especificación. Para activar la especificación sobre las etiquetas de campo o resumen, primero debe seleccionar uno o varios elementos en las listas correspondientes.
Generar el reporte
Seleccione Generar en el menú principal.