Print form

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 2004.5 (Modificado)


Print form ({tabla; }form{; area1{; area2}}){ Numérico }

ParámetroTipoDescripción
tablaTablaTabla a imprimir, o
Tabla por defecto, si se omite
formAlfaFormulario a imprimir
area1NuméricoMarcador de impresión, o
Área de inicio (si area2 se especifica)
area2NuméricoÁrea de fin (si área1 se especifica)
ResultadoNuméricoAltura de la sección impresa

Descripción

Print form simplemente imprime form con los valores actuales de los campos y variables. Generalmente este comando se utiliza para imprimir informes muy complejos que necesiten un control total del proceso de impresión. Print form no procesa registros, ni rupturas o saltos de páginas. Estas operaciones son su responsabilidad. Print form imprime campos y variables en un marco de tamaño fijo únicamente.

Como Print form no genera un salto de página después de imprimir el formulario, es fácil combinar diferentes formularios en la misma página. Entonces, Print form es ideal para efectuar tareas de impresión complejas que involucren diferentes tablas y diferentes formularios. Para forzar un salto de página entre formularios, utilice el comando PAGE BREAK. Para pasar a la siguiente página de un formulario cuya altura es mayor que el espacio disponible, llame el comando CANCEL antes del comando PAGE BREAK.

Se pueden utilizar tres sintaxis diferentes:

Impresión del área de detalle

Sintaxis:

   altura:=Print form (miTabla;miForm)

En este caso, Print form sólo imprime el área de detalle (el área entre la línea encabezado y la línea detalle) del formulario.

Impresión del área del formulario

Sintaxis:

   altura:=Print form (miTabla;miForm;marcador)

En este caso, el comando imprimirá la sección designada por el marcador. Pase en el parámetro

marcador 
una de las constantes del tema Form area:

ConstanteTipoValor
Form HeaderEntero largo200
Form Header1...10Entero largo201...210
Form DetailEntero largo0
Form Break0...9Entero largo300...309
Form FooterEntero largo100

Impresión de sección

Sintaxis:

   altura:=Print form (miTabla;miForm;areaInicio;areaFin)

En este caso, el comando imprimirá la sección incluida entre los parámetros areaInicio y areaFin Parámetros. Los valores introducidos deben expresarse en píxeles.

El valor devuelto por Print form indica la altura del área de impresión. Este valor será tomado en cuenta automáticamente por el comando Get printed height.

Las cajas de diálogo de impresión no aparecen cuando utiliza Print form. El informe no utiliza los parámetros de impresión definidos para el formulario en el entorno Diseño. Hay dos formas de especificar los parámetros de impresión antes de efectuar una serie de llamadas a Print form:

Llamar PRINT SETTINGS. En este caso, usted le permite al usuario elegir los parámetros.

Llamar PAGE SETUP. En este caso, los parámetros de impresión se especifican por programación.

Print form construye cada página impresa en memoria. Cada página se imprime cuando la página en memoria está llena o cuando usted llama a PAGE BREAK. Para asegurar la impresión de la última página después de utilizar Print form, debe concluir con el comando PAGE BREAK. De lo contrario, si la última página no está llena, permanece en memoria y no se imprime.

A partir de la versión 2004.5 de 4D, este comando imprime las áreas y objetos externos (por ejemplo, las áreas 4D Write o 4D View). El área se reinicializa para cada ejecución del comando.

Advertencia: Print form no imprime subformularios. Para imprimir sólo un formulario con tales objetos, utilice mejor PRINT RECORD.

Print form genera únicamente un evento On Printing Detail por método de formulario.

4D Server: Este comando puede ejecutarse en 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 una necesidad específica).

En el caso de un problema relacionado con la impresora (sin papel, impresora desconectada, etc.), no se genera un mensaje de error.

Ejemplos

1. El siguiente ejemplo funciona como lo haría un comando PRINT SELECTION. Sin embargo, el informe utiliza uno de los dos formularios diferentes, dependiendo de si el registro es para un cheque o para un depósito:

   QUERY([Registro])  ` Select the records
   If (OK=1) 
      ORDER BY([Registro])  ` Ordenar los registros
      If (OK=1) 
         PRINT SETTINGS ` Mostrar las cajas de diálogo de impresión
         If (OK=1) 
            For ($vlRegistro; 1; Records in selection([Registro]))
               If ([Registro]Tipo = "Cheque") 
                  Print form ([Registro]; "SalidaCheque") ` Utilice un formulario de cheques
               Else 
                  Print form ([Registro]; "SalidaDeposito")   ` Utilizar otro formulario de depósitos
               End if 
               NEXT RECORD([Registro]) 
            End for 
            PAGE BREAK ` Asegúrese de que la última página se imprima
         End if
      End if
   End if

2. Consulte el ejemplo del comando SET PRINT MARKER.

Ver también

CANCEL, PAGE BREAK, PAGE SETUP, PRINT SETTINGS.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente