- Ce que vous allez apprendre dans cette leçon
- Présentation
- Création de l'état
- Lancement de l'impression d'un état par programmation
Leçon 4.6. Imprimer une liste de clients Ce que vous allez apprendre dans cette leçon - Créer un état avec ruptures.
- Lancer l'impression d'un état.
Cette leçon permet d'imprimer une liste des clients, regroupés par pays et par département ou province. Pour cela, nous allons utiliser un état de type tableau, qui permet de représenter clairement une liste de données. - Ré-ouvrez si nécessaire le projet que vous avez manipulé dans la leçon précédente.
- Affichez la page d'accueil de WINDEV (Ctrl + <).
- Dans la page d'accueil, cliquez sur "Tutoriel" puis dans la zone "Partie 4 - Application complète avec données", double-cliquez sur "Application complète (Exercice)".
- WINDEV vous propose d'ouvrir le projet que vous avez manipulé dans la leçon précédente. Vous pouvez ouvrir le projet présent sur votre poste ou ouvrir le projet original. Choisissez "Ouvrir la copie locale".
| | |  | Corrigé | Un projet corrigé est disponible. Ce projet contient les différents états créés dans cette leçon. Pour ouvrir le projet corrigé, dans la page d'accueil, cliquez sur "Tutoriel" puis dans la zone "Partie 4 - Application complète avec données", double-cliquez sur "Application complète (Corrigé)". |
- Pour créer un état :
- Cliquez sur le bouton
parmi les boutons d'accès rapide. - La fenêtre de création d'un nouvel élément s'affiche : cliquez sur "Etat" puis sur "Etat". L'assistant de création d'un état se lance. L'assistant de création d'un état propose plusieurs types d'états :
- Sélectionnez "Tableau". Passez à l'étape suivante.
- Sélectionnez la source des données de l'état. L'état va être basé sur le fichier de données Client. Sélectionnez "Un fichier de données ou une requête existante".
Passez à l'étape suivante.
- Dans la liste des fichiers de données et des requêtes, sélectionnez le fichier de données "Client". Passez à l'étape suivante.
- Définissez la clé de parcours du fichier de données. Dans notre cas, nous allons parcourir le fichier de données Client selon le nom complet du client. Sélectionnez la clé de parcours "NomComplet".
Passez à l'étape suivante.
- Nous allons maintenant définir les options de tri des données dans l'état. Par défaut, l'assistant propose la rubrique utilisée comme clé de parcours du fichier de données. Comme nous voulons faire un état listant les clients par pays et par province (département), nous allons ajouter un tri sur ces deux rubriques.
- Pour ajouter un tri sur le pays :
- Cliquez sur le bouton "Ajouter" puis sélectionnez "Critère de tri" pour ajouter une rubrique de tri.
- Dans la fenêtre qui s'affiche, sélectionnez la rubrique Client.Pays.
- Validez.
- Pour ajouter un tri sur la province (département) :
- Cliquez sur le bouton "Ajouter" puis sélectionnez "Critère de tri" pour ajouter une rubrique de tri.
- Dans la fenêtre qui s'affiche, sélectionnez la rubrique Client.EtatProvinceRégion.
- Validez.
- Modifiez l'ordre des rubriques de tri. Les clients doivent être triés par pays, province (département) puis par ordre alphabétique.
- La rubrique "Client.Pays" apparaît en seconde rubrique de tri. Sélectionnez cette rubrique et déplacez-la en première rubrique de tri à l'aide du bouton "Monter".
- La rubrique "Client.EtatProvinceRégion" apparaît en troisième rubrique de tri. Sélectionnez cette rubrique et déplacez-la en seconde rubrique de tri à l'aide du bouton "Monter".
Passez à l'étape suivante.
- L'assistant demande d'indiquer s'il y a une rupture.
| | |  | Note | Qu'est-ce qu'une rupture ? Une Rupture est une opération qui consiste à regrouper des enregistrements (ou lignes) suivant un ou plusieurs critères. Attention, les enregistrements (ou lignes) sont bien entendu imprimés. Une rupture est OBLIGATOIREMENT liée à un tri. Notez la présence d'un début de rupture et d'une fin de rupture. Les informations communes aux différentes lignes sont présentes dans le début de rupture. Les totaux (compteurs, etc.) sont présents dans la fin de rupture. Cette rupture permet de regrouper une série d'enregistrements par rapport à un même critère. Dans notre exemple, la rupture concerne le pays et permet de regrouper tous les clients d'un même pays. |
- Répondez "Je veux des ruptures dans l'état". Passez à l'étape suivante.
- Indiquez sur quelle rubrique de tri la rupture doit s'effectuer. Dans notre cas, nous allons utiliser plusieurs ruptures :
- la première rupture s'effectue sur le pays.
- la seconde rupture s'effectue sur la province (département).
Décochez la rubrique "Client.NomComplet".
- Passez à l'étape suivante.
- Vous allez maintenant indiquer dans quel ordre sont imprimées les rubriques et leur répartition dans les différents blocs. Dans notre exemple :
- seul le pays sera dans le bloc "Début de rupture 1". La rubrique "Pays" est automatiquement associée au "Début de rupture 1".
- seule la province (département) sera dans le bloc "Début de rupture 2". La rubrique "EtatProvinceRégion" est automatiquement associée au "Début de rupture 2".
- seules les rubriques NomComplet, Adresse, CodePostal, Ville, EtatProvinceRégion et Pays seront affichées dans l'état.
Décochez les rubriques IDClient, Complément, Téléphone, Mobile et Email.
Passez à l'étape suivante. - Cette étape permet de définir la mise en page de l'état.
Nous garderons les valeurs par défaut avec l'orientation "Portrait".
| | |  | Note | Marges d'impression Lors du choix des marges d'impression, n'oubliez pas de tenir compte des marges physiques des imprimantes. Les marges physiques sont les marges réservées par l'imprimante dans lesquelles il n'est pas possible d'imprimer. De plus, les marges physiques diffèrent en fonction des modèles d'imprimante. |
- Passez à l'étape suivante.
- Cette étape permet de sélectionner le gabarit utilisé pour l'état. Il est conseillé d'utiliser le même gabarit que pour les fenêtres. Dans notre cas, sélectionnez par exemple le gabarit "Phoenix" et passez à l'étape suivante.
- Il ne reste plus qu'à donner un nom et un libellé à l'état et à le sauvegarder.
- Saisissez le titre : "Liste des clients".
- Conservez le nom proposé par défaut : "ETAT_Liste_des_clients".
- Validez.
- Acceptez de passer en mode paysage en validant.
- Acceptez de réduire l'état en validant.
- L'état apparaît sous l'éditeur d'états. Enregistrez l'état.
L'état est terminé. Nous allons immédiatement le tester pour voir le résultat. - Exécutez cet état en cliquant sur
parmi les boutons d'accès rapide. La destination de l'impression peut être au choix :
- Choisissez "Visualisateur de rapports" et validez. L'état s'exécute et s'affiche dans le visualisateur de rapports.
Vous pouvez imprimer directement la page en cours ou la totalité du document en cliquant sur l'imprimante (volet "Imprimer"). Lancement de l'impression d'un état par programmation Notre état étant terminé, nous allons créer un menu dans notre fenêtre "FEN_Menu" pour lancer directement l'impression de cet état. - Pour insérer un menu dans la fenêtre "FEN_Menu" :
- Affichez la fenêtre "FEN_Menu" sous l'éditeur (double-cliquez sur son nom dans le volet "Explorateur de projet" par exemple).
- Sous le volet "Fenêtre", dans le groupe "Barres et menus", déroulez "Menu principal" et sélectionnez l'option "Ajouter le menu principal".
- Un menu s'insère dans la fenêtre sous la barre de titre. Ce menu contient par défaut une option qui se nomme "Menu".
- Sélectionnez l'option "Menu" :
- Affichez le menu contextuel (clic droit).
- Sélectionnez l'option "Ajouter après".
- Dans la zone de saisie, saisissez "Etats".
- Sélectionnez l'option "Etats" :
- Affichez le menu contextuel (clic droit).
- Sélectionnez l'option "Transformer pour dérouler un sous-menu".
- Dans la zone de saisie qui s'affiche, saisissez "Liste des clients". Validez avec la touche Entrée.
- Pour saisir le code WLangage de l'option "Liste des clients" :
- Sélectionnez l'option "Liste des clients" sous l'éditeur.
- Affichez le menu contextuel (clic droit).
- Sélectionnez l'option "Code". L'éditeur de code apparaît.
- Dans l'événement "Sélection du menu", saisissez le code suivant :
// L'impression se fait dans le visualisateur de rapports iDestination(iVisualisateur) // Imprime l'état ETAT_Liste_des_clients.Imprime()
Examinons ce code :- La fonction iDestination permet de paramétrer la destination de l'impression. Il est par exemple possible d'imprimer :
- dans un fichier texte,
- au format HTML,
- au format PCL,
- au format PDF, RTF, XLS, XML,
- sur un fax.
Dans notre cas, l'impression se fera dans la fenêtre du visualisateur de rapports. - La fonction <Etat>.Imprime permet d'imprimer un état.
- Testez la fenêtre et ses options de menu en cliquant sur
parmi les boutons d'accès rapide.
- Nous allons maintenant finir ce menu en ajoutant une option pour quitter l'application.
- Sous l'éditeur, sélectionnez l'option "Menu".
- Dans le menu contextuel (clic droit), sélectionnez l'option "Transformer pour dérouler un sous-menu".
- Dans la zone de saisie qui s'affiche, saisissez "Quitter".
- Nous allons associer cette option de menu au raccourci clavier "Alt + F4" :
- Sélectionnez l'option de menu "Quitter".
- Dans le menu contextuel (clic droit), sélectionnez l'option "Description de l'option".
- Dans l'onglet "Général", dans la zone "Raccourci clavier", sélectionnez "F4" et cochez "Alt".
- Validez.
- Affichez le code WLangage de l'option et dans l'événement "Sélection du menu", saisissez le code WLangage suivant :
// Demande à l'utilisateur s'il souhaite quitter l'application SI OuiNon(Non, "Quitter l'application ?") = Oui ALORS // Fin de l'application FinProgramme() FIN
Examinons ce code WLangage :- La fonction OuiNon permet de dialoguer avec l'utilisateur en lui posant une question. L'utilisateur peut répondre à la question à l'aide de 2 boutons : oui ou non.
- La fonction FinProgramme (appelée si l'utilisateur clique sur "Oui") permet de terminer l'application.
- Testez la fenêtre en cliquant sur
parmi les boutons d'accès rapide.
|
|
|