Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
QR REPORT

QR REPORT 


 

QR REPORT ( {tabla ;} doc {; nomMetodo}{; *} ) 
Parámetro Tipo   Descripción
tabla  Tabla in Tabla a utilizar para el informe o tabla por defecto si se omite
doc  Cadena in Documento de informe rápido a cargar
nomMetodo  Cadena in Nombre del método a llamar
Operador in Eliminación de las cajas de diálogo de impresión

QR REPORT imprime un informe para tabla, con ayuda del editor de informes rápidos de 4D. Este editor permite a los usuarios crear sus propios informes. Para mayor información sobre la creación de informes rápidos con la ayuda del editor de informes rápidos, consulte la sección Informes rápidos en el Manual de Diseño de 4D.

Notas:

  • El editor no aparece si la tabla ha sido declarada “Invisible.”
  • Cuando el editor se llama utilizando el comando QR REPORT, las relaciones entre las tablas conservan su estado manual,  donde aplique. Este principio permite al desarrollador administrar él mismo este estado utilizando los comandos SET AUTOMATIC RELATIONS y SET FIELD RELATION. Sin embargo, tenga en cuenta que las funcionalidades automáticas se desactivan cuando las tablas relacionadas se visualizan en un formulario listado mostrado utilizando DISPLAY SELECTION, MODIFY SELECTION o un subformulario. Ver Relaciones manuales y automáticas.  
  • El editor se llama en una ventana externa y no es posible utilizar el comando QR ON COMMAND en este contexto. Sin embargo, puede utilizar el parámetro nomMetodo para  ejecutar código personalizado cuando un comando de interfaz se activa (ver abajo).

El parámetro documento es un documento de informe que fue creado con el editor de informes rápidos y guardado en disco. El documento guarda las especificaciones del informe, no lo registros a imprimir. Si una cadena vacía ("") se pasa en documento, QR REPORT muestra una caja de diálogo de apertura de archivos, en la cual el usuario puede seleccionar el informe a imprimir.
Si el parámetro documento especifica un documento que no existe (por ejemplo, si pasa Char(1) en documento), se muestra el editor de informes rápidos.

El parámetro nomMetodo designa un método de proyecto 4D que se ejecuta cada vez que un comando del editor de informes rápidos es llamado por la selección de un elemento del menú o hacer clic en un botón. Utilizar este parámetro es equivalente a utilizar QR ON COMMAND en el contexto de la ventana del editor de informes rápidos (QR ON COMMAND sólo funciona en el contexto de un área incluida). Por ejemplo, se puede utilizar este parámetro para cambiar el juego de caracteres utilizado por el informe rápido. El método nomMetodo recibe dos parámetros:

ParámetroTipoDescripción
$1Entero largoReferencia del área
$2Entero largoNúmero del comando seleccionado (entero largo). Puede comparar este valor con las constantes del tema QR Comandos (solo son soportados los eventos listados):
Constante Valor Comentario
qr cmd generate 2008 Compatible editor 64 bits (uso del comando QR RUN recomendado)
qr cmd open 2001
qr cmd page setup 2006 Compatible editor 64 bits
qr cmd print preview 2007 Compatible editor 64 bits
qr cmd save 2002
qr cmd save as 2003

Nota: si desea compilar su base, debe declarar los parámetros $1 y $2 explícitamente como enteros largos, incluso si no los utiliza.

Si desea ejecutar el comando inicial elegido por el usuario, utilice la siguiente instrucción en el método nomMetodo:

 QR EXECUTE COMMAND($1;$2)

Si el parámetro nomMetodo es una cadena vacía ( "") o se omite, ningún método se llama y se aplica la operación estándar de QR REPORT.

Una vez seleccionado un informe, se muestran las cajas de diálogo de impresión, a menos que se especifique el parámetro *. Si se especifica este parámetro, no se muestran estas cajas de diálogo y se imprime el informe.

Si no se involucar al editor de informes rápidos, la variable sistema OK toma el valor 1 si se imprime un informe; de lo contrario, toma el valor 0 (cero) (por ejemplo, si el usuario hace clic en Cancelar en las cajas de diálogo de impresión).

4D Server: este comando puede ejecutarse en el servidor 4D Server en el marco de un procedimiento almacenado. En este contexto:

  • Asegúrese de que no aparezca ninguna caja de diálogo en el equipo servidor (excepto para un requerimiento especifico). Para hacer esto, es necesario llamar al comando con el parámetro *.
  • La sintaxis que hace aparecer el editor Quick Report no funciona con 4D Server; en este caso, la variable sistema OK toma el valor 0.
  • En el caso de un problema relacionado con la impresora (sin papel, impresora desconectada, etc.), no se genera un error.

El siguiente ejemplo permite al usuario efectuar una búsqueda en la tabla [Personas], y luego imprime automáticamente el informe “Lista detallada”:

 QUERY([People])
 If(OK=1)
    QR REPORT([People];"Detailed Listing";*)
 End if

El siguiente ejemplo permite al usuario efectuar una búsqueda en la tabla [Personas], y luego seleccionar el informe a imprimir:

 QUERY([People])
 If(OK=1)
    QR REPORT([People];"")
 End if

El siguiente ejemplo permite al usuario efectuar una búsqueda en la tabla [Personas], y luego muestra el editor de informes rápidos de manera que el usuario pueda diseña, guardar, cargar e imprimir informes:

 QUERY([People])
 If(OK=1)
    QR REPORT([People];Char(1))
 End if

Consulte el ejemplo del comando SET FIELD RELATION.

Usted desea convertir el conjunto de caracteres utilizado en un informe rápido llamado utilizando QR REPORT en Mac Roman:

 QR REPORT([MyTable];Char(1);"myCallbackMeth")

El método myCallbackMeth convierte el informe cuando se genera:

 C_LONGINT($1;$2)
 If($2=qr cmd generate//si generamos un informe
    C_BLOB($myblob)
    C_TEXT($path;$text)
    C_LONGINT($type)
    QR EXECUTE COMMAND($1;$2//ejecución del comando
    QR GET DESTINATION($1;$type;$path//recuperación del destino
    If(($type=qr HTML file)|($type=qr text file))
       DOCUMENT TO BLOB($path;$myblob)
  //conversión del texto utilizando UTF-8
       $text:=Convert to text($myblob;"UTF-8")
  //uso del conjunto MacRoman
       CONVERT FROM TEXT($text;"MacRoman";$myblob)
  //Devuelve el informe convertido
       BLOB TO DOCUMENT($path;$myblob)
    End if
 Else //de lo contrario, ejecución del comando
    QR EXECUTE COMMAND($1;$2)
 End if



Ver también 

PRINT LABEL
PRINT SELECTION
SET ALLOWED METHODS

 
PROPIEDADES 

Producto: 4D
Tema: Informes rápidos
Número 197

Este comando modifica la variable sistema OKComportamiento diferente en modo remoto

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Modificado: 4D 2004
Modificado: 4D v14

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)