4D v16.3

Imprimer ligne

Accueil

 
4D v16.3
Imprimer ligne

Imprimer ligne 


 

Imprimer ligne ( {laTable ;} formulaire {; zone1 {; zone2}} ) -> Résultat 
Paramètre Type   Description
laTable  Table in Table à imprimer, ou Table par défaut si ce paramètre est omis
formulaire  Chaîne in Formulaire à imprimer
zone1  Entier long in Marqueur d’impression, ou Zone de départ (si zone2 est spécifié)
zone2  Entier long in Zone de fin (si zone1 est spécifié)
Résultat  Entier long in Hauteur de la section imprimée

La commande Imprimer ligne imprime simplement formulaire avec les valeurs courantes des champs et des variables de laTable. Cette commande est généralement utilisée pour imprimer des états particulièrement complexes nécessitant un contrôle total du processus d'impression. Imprimer ligne ne gère pas les traitements d'enregistrements, ni les ruptures, sauts de pages, en-têtes ou pieds de pages. Vous devez vous-même prendre en charge ces opérations. Imprimer ligne imprime uniquement des champs et des variables avec une taille fixe, la commande ne gère pas les objets de taille variable.

Comme la commande Imprimer ligne ne génère pas de saut de page après avoir imprimé un formulaire, elle vous permet de combiner facilement différents formulaires sur la même page. Ainsi, Imprimer ligne est idéale pour effectuer des impressions complexes impliquant plusieurs tables et plusieurs formulaires. Pour "forcer" 4D à effectuer un saut de page entre deux formulaires, utilisez la commande SAUT DE PAGE. Pour reporter sur la page suivante l'impression d'un formulaire dont la hauteur est supérieure à la place disponible, appelez la commande NE PAS VALIDER avant la commande SAUT DE PAGE.

Trois syntaxes peuvent être utilisées :

  • Impression du corps d'un formulaire
Syntaxe :
 hauteur:=Imprimer ligne(maTable;monFormulaire)

Dans ce cas, Imprimer ligne imprime uniquement la zone de Corps du formulaire (zone située entre les marqueurs En-tête et Corps).

  • Impression de zone de formulaire
Syntaxe :
 hauteur:=Imprimer ligne(maTable;monFormulaire;marqueur)

Dans ce cas, la commande imprimera la section désignée par marqueur. Passez dans le paramètre marqueur une des constantes du thème “Zone de formulaire” :

Constante Type Valeur
Corps formulaire Entier long 0
Entête formulaire Entier long 200
Entête formulaire1 Entier long 201
Entête formulaire10 Entier long 210
Entête formulaire2 Entier long 202
Entête formulaire3 Entier long 203
Entête formulaire4 Entier long 204
Entête formulaire5 Entier long 205
Entête formulaire6 Entier long 206
Entête formulaire7 Entier long 207
Entête formulaire8 Entier long 208
Entête formulaire9 Entier long 209
Pied de page formulaire Entier long 100
Rupture formulaire0 Entier long 300
Rupture formulaire1 Entier long 301
Rupture formulaire2 Entier long 302
Rupture formulaire3 Entier long 303
Rupture formulaire4 Entier long 304
Rupture formulaire5 Entier long 305
Rupture formulaire6 Entier long 306
Rupture formulaire7 Entier long 307
Rupture formulaire8 Entier long 308
Rupture formulaire9 Entier long 309

  • Impression de section

Syntaxe :
 hauteur:=Imprimer ligne(maTable;monFormulaire;zoneDébut;zoneFin)

Dans ce cas, la commande imprimera la section comprise entre les paramètres zoneDébut et zoneFin. Les valeurs saisies doivent être exprimées en pixels.

La valeur retournée par Imprimer ligne indique la hauteur de la zone d’impression. Cette valeur sera automatiquement prise en compte par la commande Lire hauteur imprimee.

Les boîtes de dialogue standard d'impression n'apparaissent pas lorsque vous utilisez la commande Imprimer ligne. L'état généré ne tient pas compte des paramètres d'impression définis en mode Développement pour le formulaire. Il y a deux manières de définir les paramètres d'impression avant d'effectuer une série d'appels à Imprimer ligne :

Imprimer ligne construit chaque page à imprimer en mémoire. La page n'est imprimée que lorsqu'elle est entièrement remplie ou lorsque vous appelez SAUT DE PAGE. Pour vous assurer que la dernière page d'une impression exécutée par l'intermédiaire Imprimer ligne soit effectivement imprimée, vous devez conclure par un appel à la commande SAUT DE PAGE (hormis dans le contexte d'un OUVRIR TACHE IMPRESSION, cf. note). Sinon, la dernière page, si elle n'est pas pleine, reste en mémoire et n'est pas imprimée.

Attention : Si la commande est appelée dans le contexte d'une tâche d'impression ouverte avec OUVRIR TACHE IMPRESSION, vous ne devez PAS appeler SAUT DE PAGE pour la dernière page car celle-ci est automatiquement imprimée par la commande FERMER TACHE IMPRESSION. Si vous appelez SAUT DE PAGE dans ce cas, une page vide est imprimée.

Cette commande imprime les zones et objets externes (par exemple des zones 4D Write ou 4D View). La zone est réinitialisée à chaque exécution de la commande.

Attention : Imprimer ligne n'imprime pas les sous-formulaires. Si vous voulez imprimer uniquement un formulaire comportant de tels objets, utilisez plutôt IMPRIMER ENREGISTREMENT.

Imprimer ligne ne génère qu'un événement Sur impression corps pour la méthode formulaire.

4D Server : Cette commande peut être exécutée sur 4D Server dans le cadre d'une procédure stockée. Dans ce contexte :

  • Veillez à ce qu’aucune boîte de dialogue n’apparaisse sur le poste serveur (sauf besoin spécifique).
  • En cas de problème sur l’imprimante (plus de papier, imprimante déconnectée, etc.), aucun message d'erreur n'est généré.

L'exemple suivant effectue la même chose que ce que ferait la commande IMPRIMER SELECTION. Cependant, l'état utilise deux formulaires différents suivant le type d'enregistrement (chèque émis ou dépôt) :

 CHERCHER([Opérations]) ` Permettre à l'utilisateur de sélectionner les enregistrements
 Si(OK=1)
    TRIER([Opérations]) ` Permettre à l'utilisateur de trier les enregistrements
    Si(OK=1)
       PARAMETRES IMPRESSION ` Afficher les boîtes de dialogue d'impression
       Si(OK=1)
          Boucle($i;1;Enregistrements trouves([Opérations]))
             Si([Opérations]Type="Chèque") ` Si c'est un chèque…
                Imprimer ligne([Opérations];"SortieChèque") ` Utiliser un formulaire de chèque
             Sinon ` Sinon c'est un dépôt donc…
                Imprimer ligne([Opérations];"SortieDépôt") ` Utiliser un formulaire de dépôt...
             Fin de si
             ENREGISTREMENT SUIVANT([Opérations])
          Fin de boucle
          SAUT DE PAGE `S'assurer que la dernière page est imprimée
       Fin de si
    Fin de si
 Fin de si

Reportez-vous à l'exemple de la commande FIXER TAQUET IMPRESSION.



Voir aussi  

NE PAS VALIDER
PARAMETRES IMPRESSION
SAUT DE PAGE
UTILISER PARAMETRES IMPRESSION

 
PROPRIÉTÉS 

Produit : 4D
Thème : Impressions
Numéro : 5
Nom intl. : Print form

Comportement différent en mode distant

 
HISTORIQUE 

Modifié : 4D 2004.5

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)