AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Editores / Editor de reportes / Fuentes de datos
  • Presentación
  • Utilización del asistente para crear un reporte a partir de un fichero de texto
  • Creación de una reporte basada en un archivo de texto con lectura de registros en automatic
  • Características del archivo de texto al desplegar la aplicación
  • Programación de las operaciones de lectura realizadas en los registros
  • Presentación
  • Creación de una reporte basada en un fichero de texto con lectura programada de registros
  • Programación de la lectura de registros
  • Orden de ejecución de los diferentes eventos de WLanguage
  • Modificación del método de lectura de registros de una reporte a partir de un fichero de texto
  • Impresión de una reporte basada en un archivo de texto
  • Ejemplo de WINDEV y WINDEV Mobile
  • Ejemplo de WEBDEV
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Reporte a partir de un archivo de texto
Presentación
En una reporte basada en un fichero de texto, la información a imprimir se lee de un fichero de texto o se asigna directamente en los controles de reporte.
Este tipo de reporte es conveniente cuando la información a imprimir se encuentra en un archivo de texto (datos exportados desde Excel por ejemplo).
Características de un reporte basado en un archivo de texto: Cada línea que se encuentre en el archivo de texto debe corresponder a una Record. Cada Line contiene varias informaciones, llamadas elementos. Los artículos están separados por un separador.
Para crear un reporte desde un archivo de texto , puede:
  • usar el asistente para crear un reporte basado en un archivo de texto. El editor de reportes crea automáticamente el reporte y lee los registros. No hay nada por programar.
  • programar completamente la lectura de registros. El asistente de creación de reportes hace que crear reportes sea mucho más fácil. Sin embargo, la lectura de registros en un archivo de texto requiere una programación completa en WLanguage.
Una vez creado el reporte basado en un archivo de texto, puede:
  • cambiar la fuente de datos del reporte (pestaña "Datos" en el reporte description).
  • modificar el método de lectura de los registros que se encuentran en el reporte (automatic o programado). Para más detalles, véase "Modificación del método de lectura de los registros de un reporte a partir de un fichero de texto".
  • Agregar o eliminar Controles de elementos relacionado al archivo de texto asociado con reporte.
Utilización del asistente para crear un reporte a partir de un fichero de texto

Creación de una reporte basada en un archivo de texto con lectura de registros en automatic

Para crear una reporte basada en un archivo de texto con lectura de registros de automatic:
  1. Haga clic en en los botones de acceso rápido.
    • La ventana de creación de nuevos elementos se abre: haga clic en "Reporte", y luego en "Reporte".
    • El asistente de creación de reportes se abre.
  2. Elija el diseño de su reporte (tabla, formulario, etiqueta,...). Para obtener más información, consulte Los diferentes tipos de informes.
  3. Seleccione (si es necesario) el reporte modelo a utilizar. Un reporte modelo se utiliza para cumplir con una disposición específica Page. Para más detalles sobre las plantillas reporte, véase Modelos de reportes.
  4. Seleccione la fuente de datos de la reporte ("Otros (programación, archivo de texto, zona de memoria, vista HFSQL, etc.)").
  5. Seleccione la fuente de datos de la reporte ("A partir de un fichero de texto").
  6. Selecciona "Quiero que todo sea automatic".
  7. Especificar el número de elementos que se encuentran en el archivo de texto. Este número corresponde al número de información que se encuentra en cada Record.
  8. Especifique el separador que se utilizará para separar los artículos de Record:
    • "TAB" si el separador corresponde a una tabulación.
    • ";" si el separador corresponde a un punto y coma.
    • ":" si el separador corresponde a dos puntos.
    • ...
  9. Seleccione el archivo de texto que contiene los registros.
    Observaciones:
    • Los títulos de los artículos no deben ser especificados en este archivo de texto.. Por ejemplo:
    • Cuando se despliega una aplicación que contiene un reporte basado en un archivo de texto con lectura de registros automatic, se deben cumplir algunas reglas. Consulte "Características del archivo de texto al desplegar la aplicación" para obtener más detalles.
  10. Para cada elemento del archivo de texto mostrado en el reporte:
    • escriba la leyenda correspondiente. Este título aparecerá en la pantalla:
      • antes de la posición. Por ejemplo:
      • en la cabecera de columna (para los informes de tabla). Por ejemplo:
        Esta leyenda puede ser modificada en el editor de reportes.
    • seleccionar el bloque donde se imprimirá el control associated con el elemento. Las posiciones de los diferentes mandos se pueden modificar en el editor de reportes. Para más detalles sobre los diferentes bloques y su posición en un reporte, véase Bloques de reporte.
  11. Modifique (si es necesario) el orden de visualización de los controles en la reporte con los botones de flecha que se encuentran a la derecha de tabla.
  12. Dependiendo del tipo de reporte creado actualmente, indique las opciones específicas.
    Tipo de reporteOpciones específicas
    Reporte basado en un formularioFormulario Image, imprimiendo el formulario Image, ...
    Opciones presentadas en detalle en Reporte basado en un formulario
    reporte LabelFormato de las etiquetas, número de copias idénticas, ...
    Opciones presentadas en detalle en reporte Label
  13. Especificar el formato de la hoja en la que se imprimirá el reporte. El reporte se imprime en formato A4 por Default.
    Observación: Por Default, los controles de reporte se muestran en una sola columna. Para crear una reporte multicolumna, basta con especificar el número de columnas deseado en la pestaña "Formato" de la ventana reporte description.
  14. Selecciona la plantilla de la reporte si es necesario.
  15. Escriba el nombre y el título de la reporte (nombre del fichero ".WDE" correspondiente a la reporte). Este nombre se utilizará para identificar la reporte en sus programas..
  16. Validar la creación de reporte.
  17. La editor de reportes propone automáticamente cambiar el formato reporte si se cumplen las siguientes condiciones:
    • el reporte creado actualmente incluye un tabla.
    • el formato reporte no permite visualizar todas las columnas de tabla.
  18. Especificar (si es necesario) el modo para reducir el tamaño de reporte:
    • Imprimir la reporte en varias páginas. En este caso, el usuario final tendrá que agrupar las páginas. Para obtener más información, consulte Estampado Multi-Page.
    • Utilizar el modo horizontal.
    • Reducir el tamaño de reporte. Atención: según el porcentaje de reducción, la reporte impresa puede volverse ilegible.
  19. La reporte creada actualmente se visualiza en el editor de reportes.

Características del archivo de texto al desplegar la aplicación

Cuando se despliega una aplicación que contiene una reporte basada en un archivo de texto, pueden darse los siguientes casos:
  • Si el archivo de texto se proporciona con la aplicación , le recomendamos que incluya este archivo de texto en la biblioteca de la aplicación..
    Atención: El contenido de este archivo no puede modificarse en el ordenador del usuario final.
  • Si el contenido del archivo de texto pudiera ser modificado en la computadora del usuario final , al imprimir el reporte , se buscará el archivo de texto en la computadora del usuario final de acuerdo al siguiente orden:
    1. en las bibliotecas associated con la aplicación y cargada en la memoria al imprimir reporte.
    2. en el directorio especificado al crear la reporte.
    3. en el directorio actual.
    4. en el directorio instalación de la aplicación.
  • Si el archivo de texto especificado al crear el reporte difiere del utilizado por el usuario final (nombre diferente y ruta ), el usuario deberá seleccionar el archivo a través de un selector de archivos.. Una vez seleccionado el archivo de texto, se pueden realizar las siguientes operaciones:
    • enviar el nombre y ruta del archivo de texto seleccionado por el usuario a un Variable.
    • modificar la fuente de datos del reporte con el SourceName Property.
Programación de las operaciones de lectura realizadas en los registros

Presentación

Para crear un reporte a partir de un archivo de texto mientras se programan las operaciones de lectura realizadas en los registros, se necesitan dos pasos:
  1. Creando la reporte con la creación de la asistente.
  2. Programación de la lectura de registros.

Creación de una reporte basada en un fichero de texto con lectura programada de registros

Crear una reporte a partir de un fichero de texto con lectura programada de registros:
  1. Haga clic en en los botones de acceso rápido.
    • La ventana de creación de nuevos elementos se abre: haga clic en "Reporte", y luego en "Reporte".
    • El asistente de creación de reportes se abre.
  2. Elija el diseño de su reporte (tabla, formulario, etiqueta,...). Para obtener más información, consulte Los diferentes tipos de informes.
  3. Seleccione (si es necesario) el reporte modelo a utilizar. Un reporte modelo se utiliza para cumplir con una disposición específica Page. Para más detalles sobre las plantillas reporte, véase Modelos de reportes.
  4. Seleccione la fuente de datos de la reporte ("Otros (programación, archivo de texto, zona de memoria, vista HFSQL, etc.)").
  5. Seleccione la fuente de datos de la reporte ("A partir de un fichero de texto").
  6. Seleccione "Quiero programar la lectura de mi fichero".
  7. Si el reporte creado actualmente:
    • contiene una tabla (reporte de tipo Tabla o de tipo Tabla + Gráfico):
      • especifique el número de columnas que se encuentran en el tabla.
      • para cada columna, especifique el título y el tipo de valor impreso.
      • modificar (si es necesario) el orden de las diferentes columnas.
    • es un reporte basado en un formulario , debe especificar las opciones específicas del formulario ( Image del formulario, impresión del formulario Image , ...). Estas opciones se presentan en Reporte basado en un formulario.
    • es una Etiqueta reporte , debe especificar las opciones específicas de las etiquetas (formato de etiquetas, número de copias idénticas, etc.). Estas opciones se presentan en reporte Label.
  8. Especificar el formato de la hoja en la que se imprimirá el reporte. El reporte se imprime en formato A4 por Default.
    Observación: Por Default, los controles de reporte se muestran en una sola columna. Para crear una reporte multicolumna, basta con especificar el número de columnas deseado en la pestaña "Formato" de la ventana reporte description.
  9. Selecciona la plantilla de la reporte si es necesario.
  10. Escriba el nombre y el título de la reporte (nombre del fichero ".WDE" correspondiente a la reporte). Este nombre se utilizará para identificar la reporte en sus programas..
  11. Validar la creación de reporte.
  12. El editor de reportes propone automáticamente cambiar el formato del reporte y/o reducir el tabla si se cumplen las siguientes condiciones:
    • el formato reporte no permite visualizar todas las columnas de tabla.
    • el reporte creado actualmente incluye un tabla.
  13. Especificar (si es necesario) el modo para reducir el tamaño de reporte:
    • Imprimir la reporte en varias páginas. En este caso, el usuario final tendrá que agrupar las páginas. Para obtener más información, consulte Estampado Multi-Page.
    • Utilizar el modo horizontal.
    • Reducir el tamaño de reporte. Atención: según el porcentaje de reducción, la reporte impresa puede volverse ilegible.
  14. La reporte creada actualmente se visualiza en el editor de reportes.

Programación de la lectura de registros

La programación necesaria para la lectura de los registros se ilustra en el siguiente ejemplo:

La información a imprimir se encuentra en la ficha del producto.TXT. Cada línea del archivo corresponde a una Record. Los datos se visualizan en los controles de posición. Los distintos elementos están separados por tabulaciones ("TAB").

El siguiente método se utiliza para programar la lectura de registros:
  1. Abrir el archivo de texto en el evento "Apertura" del reporte (función fOpen).
    Observación: Los títulos de los artículos no deben ser especificados en este archivo de texto..
    GLOBAL
    gfsLine is string = ""
    gfnFileID is int = 0    // Identifier of the text file
    LOCAL
    sTextFile is string = fCurrentDir() + "\Reports\Product.txt"
    gfnFileID = fOpen(sTextFile, foRead)    // Open the text file
    IF gfnFileID = -1 THEN
    Error(ErrorInfo())
    iCloseReport()      // Stop the report process
    END
  2. En la "Lectura de los datos reporte" Event:
    • Leer cada Line del archivo de texto (fReadLine).
    • Verificar si se ha alcanzado el final del fichero. Los siguientes valores se devuelven según el caso:
      • True: no se ha alcanzado el final del archivo (se ejecuta el paso 3).
      • False: fin de archivo alcanzado (paso 4 ejecutado).
        // Extract the data from the file and display it in the report
        gfsLine = fReadLine(gfnFileID)
        // End of file reached?
        IF gfsLine = EOT OR gfsLine = "" THEN
        RESULT False
        ELSE
        RETURN True
        END
  3. La Event "Antes de imprimir" del bloque BODY se utiliza para gestionar los registros del fichero:
    • Extraer los diferentes elementos de la Record actual (ExtractString).
    • Asignar los valores extraídos a los controles reporte.
      nPrice is int = 0
      nPrice = ExtractString(gfsLine, 4, TAB)
      // Initialize the table columns
      ITEM_Reference = ExtractString(gfsLine, 2, TAB)
      ITEM_Description = ExtractString(gfsLine, 3, TAB)
      ITEM_Price = nPrice
      ITEM_BarCode = ExtractString(gfsLine, 5, TAB)
      ITEM_Family = ExtractString(gfsLine, 6, TAB)
  4. La Event "Cerrar" del reporte se utiliza para cerrar el fichero de texto cuando se ha alcanzado el final de este fichero (fClose).
    // Close the file
    fClose(gfnFileID)

Orden de ejecución de los diferentes eventos de WLanguage

El orden en el que se ejecutan los diferentes eventos de WLanguage para leer los registros se presenta en el siguiente tabla:
Orden de ejecución de los eventos reporteProgramación necesaria para la lectura del archivo de texto
1. Abriendo el reporteAbra el archivo de texto (fOpen).
2. Lectura de los datos reporteLeer cada Line del archivo de texto (fReadLine) y gestionar el final del archivo de texto.
3. Antes de imprimir el cuerpo del bloqueExtraiga los diferentes elementos de la Record actual (ExtractString) y asigne sus valores en los controles reporte.
4. Cerrar el reporteCierre el archivo de texto (fClose).
Modificación del método de lectura de registros de una reporte a partir de un fichero de texto
Una vez creada la reporte basada en un fichero de texto, tiene la posibilidad de modificar el método utilizado para la lectura de los registros (automatic u operación de lectura programada).
Este método se describe en la pestaña "Datos" de reporte description.
Para cambiar de una operación de lectura automatic a una operación de lectura programada:
  1. Abra la ventana de reporte description usando uno de los siguientes métodos:
    • "Reporte description" en el menú contextual del reporte.
    • en la pestaña "Modificación", haga clic en el iniciador de cuadro de diálogo del grupo "Reporte".
  2. Vaya a la pestaña "Datos" de la reporte description.
  3. Marque "Quiero programar también la lectura de mi fichero".
  4. Programar la lectura de registros. Para obtener más información, consulte Programación de la lectura de registros.
Para cambiar de una operación de lectura programada a una operación de lectura automatic:
  1. Abra la ventana de reporte description usando uno de los siguientes métodos:
    • "Reporte description" en el menú contextual del reporte.
    • en la pestaña "Modificación", haga clic en el iniciador de cuadro de diálogo del grupo "Reporte".
  2. Vaya a la pestaña "Datos" de la reporte description.
  3. Marque "Todo automatic".
  4. Especifique el número de elementos que se encuentran en el archivo de texto.
  5. Especifique el separador que se utilizará para separar los diferentes elementos:
    • "TAB" si el separador corresponde a una tabulación.
    • ";" si el separador corresponde a un punto y coma.
    • ":" si el separador corresponde a dos puntos.
    • ...
  6. Seleccione el archivo de texto que contiene los registros.
    Observaciones:
    • Los títulos de los artículos no deben ser especificados en este archivo de texto.. Por ejemplo:
    • Cuando se despliega una aplicación que contiene un reporte basado en un archivo de texto con lectura de registros automatic, se deben cumplir algunas reglas. Para obtener más información, consulte Características del archivo de texto al desplegar la aplicación.
  7. Borre todas las líneas de código específicas para la lectura de los registros.
Impresión de una reporte basada en un archivo de texto
La impresión de un reporte desde un archivo de texto es la misma independientemente del método utilizado para leer los registros (automatic o programado). Para ello:
  1. Configura el destino de la impresión de reporte:
    • WEBDEV - Código Servidor En WEBDEV , con iDestination (imprimir en un archivo HTML, etc.).
    Para obtener más información, consulte Modos de impresión de un reporte.
  2. Especifique el nombre de la reporte a imprimir con iPrintReport.
Observaciones:
  • Si hay que pasar parámetros adicionales a la reporte, estos parámetros deben especificarse en iPrintReport, después del nombre de la reporte a imprimir.
  • Cuando se utiliza en el código del reporte, el SourceName Property permite obtener y cambiar el nombre del archivo de texto associated con el reporte (cuando los registros se leen automáticamente).
En Reports & Queries, puede imprimir un reporte:
  • iniciando un trabajo de impresión ().
  • probando el reporte ().
Por lo tanto, no se requiere programación para imprimir la reporte.
Windows

Ejemplo de WINDEV y WINDEV Mobile

La reporte "RPT_Cliente" se basa en el fichero de texto "Cliente.TXT. Este archivo de texto contiene las características de los clientes.
La reporte "RPT_Cliente" se imprime cuando se pulsa el botón "BTN_Cliente".
En este ejemplo, el código de clic de "BTN_Cliente" es el siguiente:
WEBDEV - Código Servidor

Ejemplo de WEBDEV

La reporte "RPT_Cliente" se basa en el fichero de texto "Cliente.txt. Este archivo de texto contiene las características de los clientes. Este archivo es accesible desde el servidor.
La reporte "RPT_Cliente" se visualiza en un fichero PDF cuando se pulsa el botón "BTN_Cliente".
En este ejemplo, el código de clic de "BTN_Cliente" es el siguiente:
// Generates a unique PDF file name
UniqueFileName is string = fWebDir() + "\" + "RPT_Customer_" + DateSys() + TimeSys() + ".pdf"
// Configures the print destination
iDestination(iPDF, UniqueFileName)
// Prints the RPT_Customer report
iPrintReport(RPT_Customer)
// Sends the file to the browser
FileDisplay(UniqueFileName, "application/pdf")
// Deletes the file
fDelete(UniqueFileName)
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 01/07/2023

Señalar un error o enviar una sugerencia | Ayuda local