4D v16.3Exemple d’état imprimé |
|||||||||||||||||||||||||||||
|
4D v16.3
Exemple d’état imprimé
Exemple d’état imprimé
Cette section décrit la création d’un exemple d’état et permet de comprendre la relation entre l’état final et le formulaire tel qu’il est défini dans l’éditeur de formulaires. Cet exemple décrit aussi les méthodes qui permettent de contrôler l’impression. L’illustration suivante représente l’état tel qu’il est imprimé : Dans cet exemple, l’en-tête de la page contient le titre de l’état, ainsi que la date et l’heure d’impression. Les zones de ruptures d’en-têtes de niveau 1 contiennent le nom des sociétés, les zones de ruptures d’en-têtes de niveau 2 contiennent celui des produits. Les zones de corps contiennent les données directement extraites des enregistrements. Les zones de ruptures de niveau 2 contiennent les sous-totaux des produits vendus à chaque société. Les zones de ruptures de niveau 1 contiennent les sous-totaux pour chacune des sociétés et la zone de rupture de niveau 0 contient le total des ventes. L’état est trié sur un niveau de plus qu’il n’y a de niveaux de rupture. Dans ce cas, il est trié sur les champs Société, Produit et Date. L’illustration suivante représente le formulaire utilisé pour l’état tel qu’il apparaît dans l’éditeur de formulaires : Chaque taquet de contrôle du formulaire indique la limite inférieure de la zone qu’il détermine. La zone d’en-tête contient les éléments qui seront imprimés en haut de chaque page de l’état, la zone de corps contient les éléments qui seront imprimés pour chaque enregistrement, etc. Le tableau suivant récapitule la signification de chaque taquet de contrôle.
Les objets non-saisissables qui sont placés dans les zones d’en-tête, de rupture et de pied de page sont contrôlés par des méthodes objet. Note : Le code suivant est utilisé dans des méthodes objet. L’utiliser dans une méthode projet n’aurait pas le même effet. La date et l’heure sont extraites du système par une variable, appelée vDateTime, à laquelle la méthode suivante est associée : vDateTime:=String(Date du jour)+" à "+Chaine(Heure courante) Le sous-total des ventes pour la zone de rupture de niveau 2 est calculé et placé dans un objet nommé VentProd associé à la méthode suivante : VenteProd:=Subtotal([Produits]Prix) Le sous-total des ventes pour la zone de rupture de niveau 1 est calculé et placé dans un objet nommé VenteClient associé à la méthode suivante : VenteClient:=Subtotal([Produits]Prix) Le total des ventes pour la zone de rupture de niveau 0 est calculé et placé dans un objet nommé VTotal associé à la méthode suivante : VTotal:=Subtotal([Produits]Prix) Il est à noter que si les méthodes objets sont identiques, les résultats des calculs seront différents car les objets sont placés dans différents niveaux de rupture. Pour plus d’informations sur les niveaux de rupture, reportez-vous au paragraphe “Utiliser des ruptures” dans la section Formulaires d'états imprimés. Le numéro de page est calculé dans la variable VPageNum à l’aide de l’instruction suivante : VPageNum:="Page "+String(Page impression)
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Mode Développement ( 4D v16) |
|||||||||||||||||||||||||||