Inicio > Visual Fox Pro > Detectar el estado de un informe por SYS(2040)

Detectar el estado de un informe por SYS(2040)


Como detectar si un informe estaba en modo de vista previa o imprimiéndose, para así agregar una condición de impresión a ciertos controles (campos, etiquetas, imágenes, líneas, etc.) que deben visualizarse en la vista previa, pero no imprimirse.

SYS (2040) devuelve “0” después de utilizar el comando REPORT FORM OBJECT TYPE 1 (que invoca una vista previa del informe), a pesar de que la ventana de vista previa se sigue en la pantalla, y lo devuelve “0” después de que envía el resultado a una impresora y cierra la cola de impresión, a pesar de que algunos de los que la producción todavía no está completamente impresa.

SYS(2040)

“0” si no hay ningún informe activo
“1” si el informe esta en vista previa
“2” si el informe se está enviando a la impresora o a un archivo.

Por ejemplo si solo necesitamos visualizar un control en modo de vista previa, se debe agregar como condición de impresión la expresión SYS(2040) = “1”

Otra opción, para campos y etiquetas, es utilizar una expresión tipo:

IIF(SYS(2040)=”1″, “Vista Previa”, “Impresora”)

El siguiente ejemplo muestra cómo SYS (2040) se puede utilizar para suprimir la variable de sistema _PAGETOTAL cuando el informe está en Modo de vista previa.

“Page: ” + TRANS(_PAGENO) + IIF( SYS(2040) = “1”, “”, ” of ” + TRANS(_PAGETOTAL))

 

Categorías:Visual Fox Pro
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: