Sistema de Gestión de Negocios "Hexa"
Base de datos de conocimiento.
| Doc. Ref. 28634 Título: Los métodos CImpr en Hexa V9 Autor: Soltec Última actualización: 17/08/2018#crystal #reports #impresora #impresion #informe |
Los métodos CImpr en Hexa V.9
El objeto Impr instanciado por defecto em Hexa V.9 dispone de un conjunto de métodos relacionados la generación de informes, la mayor parte con Crystal Reports
Los métodos disponibles son los siguientes:
-
Impr.CRImpresora(Condicion, Orden, Opciones)
Envía un informe directamente a la impresora con el criterio y el orden especificados.
Parámetros en Opciones: "Fichero" indica el nombre del fichereo a utilizar ("Factura.rpt", "Cliente formato listado.rpt", etc.). "Copias" indica el número de copias a enviar, "Impresora" permite especificar una impresora específica.
Ejemplo:
Impr.CRIMpresora("Prefijo='A' AND Numero=1234", "Prefijo ASC, Numero ASC", "Fichero='Factura formato verifactu.rpt' Impresora="HP Laserjet") -
Impr.CRDocumento(Condicion, Orden, Opciones)
Genera un informe directamente en un documento Hexa en formato PDF con el criterio y el orden especificados.
Parámetros en Opciones: "Fichero" indica el nombre del fichereo a utilizar ("Factura.rpt", "Cliente formato listado.rpt", etc.). "Nombre" indica el tipo de documento que se ha enviado, normalmente será el nombre de una tabla, "Prefijo" indica el campo de texto al que corresponde el documento, "Numero" indica el campo de número correspondiente al documento generado. El prefijo y el numero permiten, opcionalmente asociarlo con el registro correspondiente.
Ejemplo:
Impr.CRIMpresora("PRefijo='A' AND Numero=1234", "Prefijo ASC, Numero ASC", "Fichero='Factura formato verifactu.rpt' Prefijo='A' Numero=1234")Una vez generado el documento del ejemplo anterior, si en la exploración de facturas, escogemos la acción de explorar los documentos relacionados con la factura A-1234, aparecerá el documento que hemos generado con la factura en formato PDF.
-
Impr.CRFichero(Condicion, Orden, Opciones)
Genera un informe directamente en un fichero formato PDF con el la carpeta "temp" de la instalacióm de Hexa. El objetivo habitual de este método es utilizar el fichero generado de forma temporal para enviarlo por email o subirlo a un servidor y, finalmente, eliminarlo. El método devuelve el nombre del fichero generado que será el nombre del fichero de plantilla Crystal Reports con la extensión "pdf".
Parámetros en Opciones: "Fichero" indica el nombre del fichereo a utilizar ("Factura.rpt", "Cliente formato listado.rpt", etc.).
Ejemplo:
NombreFichero = Impr.CRFichero("PRefijo='A' AND Numero=1234", "Prefijo ASC, Numero ASC", "Fichero='Factura formato verifactu.rpt'")El ejemplo anterior devuelve: "temp\Factura formato verifactu. pdf"
-
Impr.SncInf(Condicion, Orden, Opciones)
La tabla "Informe" de Hexa debe contener un registro por cada una de las plantillas Crystal Reports (archivos con extensión "rpt") que hay en el directorio de trabajo de Hexa. Este método sincriniza los registros de la tabla con los ficheros presentes en la carpeta.
Parámetros en Opciones: "OrigenDB" indica si es verdadero que se recorrerá los registros de la tabla "Informe" y se comparará con los archivos "rpt" (al revés si es falso. "Crear" si es verdadero, crea los registros de la tabla "Informe" que no existan correspondientes a ficheros "rpt" que existen. "Eliminar", elimina de la tabla informe los registros de ficheros "rpt" que no existen si OrigenDB es falso, o bien, elimina ficheros "rpt" correspondientes a registros de la tabla "Informe" que no existan si OrigenDB es verdadero.
Ejemplo: lo más habitual es crear los registros de la tabla "Informe" correspondientes a los nuevos archivos "rpt" que se ha creado como plantillas de informes.
Impr.SncInf("", "", "OrigenDB=No Crear=Si Eliminar=No") -
Impr.ImprList()
Genera y devuelve una lista separada por retornos de carro (CrLf) de las impresoras disponibles en el equipo en el que se ejecuta Hexa. Es muy útil para conocer el nombre de la impresora al realizar configuraciones de la impresora a utilizar en un proceso.
Ejemplo:
Texto = Impr.ImprList()
-
Impr.ImprPred()
Devuelve el nombre de la impresora predeterminada en el equipo en el que se está ejecutando Hexa
Ejemplo:
Texto = Impr.ImprPred()
-
Impr.PredImpr(Nombre)
Establece el nombre de la impresora predeterminada en el equipo en el que se está ejecutando Hexa
Ejemplo:
Texto = Impr.PredImpr("EPSON9E3B23 (ET-2650 Series)") -
Impr.ImprTexto(Texto, Impresora)
Envía el texto especificado a la impresora especificada.
Ejemplo:
Impr.PredImpr "Este es un texto de pruebas", "EPSON9E3B23 (ET-2650 Series)"
-
Impr.ImprRAW(Texto, Impresora)
Envía el texto especificado a la impresora especificada. A diferencia del método "ImprTexto", lo hace en modo texto. Esto hace útil este método para enviar codigos ESC/POS a impresoras de tikets como las "Epson" o ZBL a impresoras de etiquetas como las "Zebra"
Ejemplo:
I = Impr.ImprPred() T = Chr(27) & "-" & Chr(1) & Chr(27) & "a" & Chr(1) & "Texto centrado y subrayado en una impresora de tickets ESC/POS" Impr.PredRAW T, I
-
Impr.RevRep(Condicion, Orden, Opciones)
Actualiza el servidor, clave y base de datos en los informes Crystal Reports. Cuando se crea y guarda un informe con Crystal Reports, este recuerda el tipo de base de datos, nombre del servidor, nombre de la base de datos y clave del servidor, que no tienen que ser los mismos que la instancia actual de Hexa. Cada vez que hexa carga una plantilla para generar un informe, lo primero que hace es asignar el nombre del servidor, nombre de la base de datos y clave del servidor, por lo que siempre se utilizará la base de datos correspondiente. Sin embargo, Crystal Reports, al abrir un informe para generarlo, intenta buscar el servidor original que tenía el informe y, si no existe, estará unos 30 segundos esperando su respuesta hasta que decide que no existe. Al terminar este intento es cuando Hexa tiene la oporrunidad de pasarle los datos correctos. El método "RevRep" del objeto "Impr" abre uno a uno los informes que cumplen el criterio especificado, les asigna el servidor, base de datos y clave de la base de datos actual de Hexa y los vuelve a guardar. De esta forma, la visualización futura de estos informes será mucho más rápida porque no se intentará buscar primero un servidor que no existe.
Ejemplo:
Texto = Impr.RevRep("Nombre='Factura.rpt'", "", "")
