PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

Nouveauté WINDEV 24 !
  • 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.7. 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.

Durée estimée : 20 mn
Leçon précédenteSommaireLeçon suivante
Présentation
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.

Corrigé

Si vous n'avez pas créé les fenêtres des leçons précédentes, vous pouvez suivre cette leçon en ouvrant un projet corrigé : dans la page d'accueil de WINDEV (Ctrl + <), cliquez sur "Cours d'auto-formation", puis sélectionnez "Application complète (Avec fenêtres)".
Un projet corrigé complet de l'application est également disponible : dans la page d'accueil de WINDEV (Ctrl + <), cliquez sur "Cours d'auto-formation", puis sélectionnez "Application complète (Corrigé)".
Création de l'état
  • Pour créer un état :
    1. Cliquez sur le bouton parmi les boutons d'accès rapide.
    2. 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'états se lance. L'assistant de création d'états propose plusieurs types d'états :
    3. Sélectionnez "Tableau". Passez à l'étape suivante.
    4. Sélectionnez la source des données de l'état. L'état va être basé sur le fichier Client. Sélectionnez "D'un fichier de données ou d'une requête existante". Passez à l'étape suivante.
    5. Dans la liste des fichiers de données et des requêtes, sélectionnez le fichier "Client". Passez à l'étape suivante.
    6. Définissez la clé de parcours du fichier. Dans notre cas, nous allons parcourir le fichier Client selon le nom complet du client. Sélectionnez la clé de parcours "NomComplet".
      Passez à l'étape suivante.
    7. 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 département, nous allons ajouter un tri sur ces deux rubriques.
    8. Pour ajouter un tri sur le pays :
      • Cliquez sur le bouton "+" pour ajouter une rubrique de tri.
      • Dans la fenêtre qui s'affiche, sélectionnez la rubrique Client.Pays.
      • Validez.
    9. Pour ajouter un tri sur le département :
      • Cliquez sur le bouton "+" pour ajouter une rubrique de tri.
      • Dans la fenêtre qui s'affiche, sélectionnez la rubrique Client.EtatProvinceRégion.
      • Validez.
    10. Modifiez l'ordre des rubriques de tri. Les clients doivent être triés par pays, région 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 des boutons fléchés.
      • 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 des boutons fléchés.
        Passez à l'étape suivante.
    11. 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 entête de rupture et d'une fin de rupture.
      Les informations communes aux différentes lignes sont présentes dans l'entête de rupture.
      Les totaux, compteurs, ... 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.
    12. Répondez "Oui". Passez à l'étape suivante.
    13. 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écochez la rubrique "Client.NomComplet".
    14. Passez à l'étape suivante.
    15. 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".
      • seul l'état 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.
    16. 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.
    17. Passez à l'étape suivante.
    18. 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 "Gensteel" et passez à l'étape suivante.
    19. 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".
    20. Validez.
    21. Acceptez de passer en mode paysage en validant.
    22. Acceptez de réduire l'état en validant.
    23. 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 "Aperçu avant impression" et validez. L'exécution de l'état s'affiche à l'écran.
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" :
    1. Affichez la fenêtre "FEN_Menu" sous l'éditeur (double-cliquez sur son nom dans le volet "Explorateur" par exemple).
    2. Sous le volet "Fenêtre", dans le groupe "Barres et menus", déroulez "Menu principal" et sélectionnez l'option "Ajouter le menu principal".
    3. 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".
    4. Sélectionnez l'option "Menu" :
      • Affichez le menu contextuel (clic droit).
      • Sélectionnez l'option "Ajouter après".
    5. Dans la zone de saisie, saisissez "Etats".
    6. Sélectionnez l'option "Etats" :
      • Affichez le menu contextuel (clic droit).
      • Sélectionnez l'option "Transformer pour dérouler un sous-menu".
    7. Dans la zone de saisie qui s'affiche, saisissez "Liste des clients". Validez avec la touche Entrée.
  • Pour saisir le code de l'option "Liste des clients" :
    1. Sélectionnez l'option "Liste des clients" sous l'éditeur.
    2. Affichez le menu contextuel (clic droit).
    3. Sélectionnez l'option "Code". L'éditeur de code apparaît.
    4. Dans le traitement "Sélection du menu", saisissez le code suivant :
      // L'impression se fait dans un aperçu
      iAperçu()

      // Imprime l'état
      iImprimeEtat(ETAT_Liste_des_clients)
      Examinons ce code :
      • La fonction iAperçu (ou 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 d'aperçu avant impression.
      • La fonction iImprimeEtat (comme son nom l'indique) 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.
    1. Sous l'éditeur, sélectionnez l'option "Menu".
    2. Dans le menu contextuel (clic droit), sélectionnez l'option "Transformer pour dérouler un sous-menu".
    3. Dans la zone de saisie qui s'affiche, saisissez "Quitter".
    4. 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.
    5. Affichez le code de l'option et dans le traitement "Sélection du menu", saisissez le code 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 :
      • 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.
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 24
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire