DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur d'états / Sources de données
  • Présentation
  • Créer un état sur une source de données programmée
  • Présentation
  • Créer un état sur une source de données programmée
  • Programmer la lecture des enregistrements
  • Ordre d'exécution des différents événements WLangage
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Etat sur une source de données programmée
Présentation
Dans un état sur une source de données programmée, la lecture des enregistrements à afficher dans l'état nécessite une programmation complète en WLangage. La source de données peut être de n'importe quel type (fichier HFSQL, requête, fichier texte, fichier d'une base de données tierce, ...).
La création d'un état sur une source de données programmée s'effectue grâce à l'assistant de création d'un état.
Lorsque l'état sur une source de données programmée est créé, il est possible à tout moment de :
  • modifier la source de données de l'état (onglet "Données" de la description de l'état).
  • ajouter ou supprimer des champs Rubriques liés à la source de données de l'état.
Le logiciel Etats & Requêtes ne permet pas de créer des états sur une source de données programmée. Cependant, il est possible de personnaliser des états sur une source de données programmée créés sous l'éditeur d'états intégré (couleur, polices, taille, ...).
Créer un état sur une source de données programmée

Présentation

Pour créer un état sur une source de données programmée, deux étapes sont nécessaires :
  1. Création de l'état à l'aide de l'assistant de création.
  2. Programmation de la lecture des enregistrements.

Créer un état sur une source de données programmée

Pour créer un état sur une source de données programmée :
  1. Cliquez sur 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 s'affiche.
  2. Choisissez la présentation de votre état (tableau, fiche, étiquette, ...). Pour plus de détails, consultez Les différents types d'états.
  3. Sélectionnez la source de données de l'état (option "Autre (programmation, fichier texte, zone mémoire, vue HFSQL)"). Sélectionnez ensuite l'option "Je programme la lecture de ma source de données".
  4. Pour chaque type d'état, indiquez les options spécifiques correspondantes.
    Type d'étatOptions spécifiques
    État de type tableau
    • spécifiez le nombre de colonnes présentes dans le tableau.
    • pour chaque colonne, spécifiez le libellé et le type de la valeur imprimée.
    • modifiez si nécessaire l'ordre des différentes colonnes.
    État sur formulaireImage du formulaire, impression de l'image du formulaire, ...
    Options détaillées dans la page Etat sur formulaire.
    État ÉtiquetteFormat des étiquettes, nombre d'exemplaires identiques, ...
    Options détaillées dans la page Etat Étiquette.
  5. Spécifiez le format de la feuille sur laquelle l'état va être imprimé. Par défaut, l'état est imprimé sur une feuille au format A4.
  6. Sélectionnez le gabarit de l'état si nécessaire.
  7. Saisissez le nom et le titre de l'état. Ce nom (nom du fichier ".WDE" correspondant à l'état) permettra d'identifier l'état dans vos programmes.
  8. Validez la création de l'état.
  9. Si l'état contient un tableau, l'éditeur d'états propose automatiquement de changer le format de l'état utilisé et/ou de réduire le tableau si le format de l'état ne permet pas d'afficher l'ensemble des colonnes du tableau.
  10. Si nécessaire, indiquez le mode de réduction de l'état :
    • Imprimer l'état sur plusieurs pages. Dans ce cas, l'utilisateur final devra assembler les pages. Pour plus de détails, consultez Impression multipage.
    • Utiliser le mode paysage.
    • Réduire l'état par rapport à l'original. Attention : selon le pourcentage de réduction choisi, l'état imprimé pourra devenir illisible.
  11. L'état en cours de création s'affiche sous l'éditeur d'états.

Programmer la lecture des enregistrements

La programmation nécessaire à la lecture des enregistrements est illustrée par l'exemple suivant :
Exemple :
L'ensemble des informations à imprimer est contenu dans le fichier de données HFSQL "Client". Les données sont affichées dans des champs rubriques.

Pour programmer la lecture des enregistrements, la méthode est la suivante :
  1. Lecture du premier enregistrement du fichier de données "Client" dans l'événement "Ouverture" de l'état" (fonction HLitPremier).
    // Lecture du premier enregistrement du fichier de données "Client" 
    HLitPremier(Client, NumClient)
  2. L'événement "Lecture des données" de l'état permet de gérer la fin du fichier de données. Selon le cas, les valeurs suivantes sont renvoyées :
    • Vrai : fin du fichier non atteinte (étape 3 exécutée).
    • Faux : fin du fichier atteinte (étape 3 non exécutée).
      // Fin du fichier de données "Client" atteinte ?
      SI HEnDehors() = Vrai ALORS
      // Arrêt de l'impression du bloc Corps 
      RENVOYER Faux
      SINON
      // Impression du bloc Corps et exécution de ses Ã©vénements
      RENVOYER Vrai
      FIN
  3. L'événement "Avant impression" du bloc Corps permet de gérer les enregistrements du fichier de données :
    • Affectation des valeurs des rubriques dans les champs de l'état.
    • Lecture de l'enregistrement suivant.
      // Affectation des valeurs des rubriques dans les champs de l'état
      RUB_Société = Client.Societe
      RUB_Nom = Client.NomClient
      RUB_Adresse = Client.Adresse
      RUB_CP = Client.CP
      RUB_Ville = Client.Ville

      // Lecture de l'enregistrement suivant 
      HLitSuivant(Client)
  4. L'événement "Après impression" du bloc Corps permet de gérer un saut de page, dans le cas où chaque page ne doit contenir qu'un seul bloc Corps.
    Remarque : Dans la fenêtre de description du bloc Corps, l'option "Saut de page après le bloc" ne s'applique pas dans le cas d'un état sur une source de données programmée.
    // Tant qu'il y a des enregistrements, saut de page 
    SI HEnDehors() = Faux ALORS
    iTerminePage()
    FIN

Ordre d'exécution des différents événements WLangage

L'ordre d'exécution des différents événements WLangage permettant de lire les enregistrements est présenté dans le tableau suivant :
Ordre d'exécution des événements de l'étatProgrammation nécessaire à la lecture des données
1. Ouverture de l'étatLecture du premier enregistrement (fonction HLitPremier par exemple).
2. Lecture des données de l'étatGestion de la fin du fichier de données.
3. Avant impression du bloc CorpsAffectation des valeurs des rubriques dans les champs de l'état et lecture de l'enregistrement suivant (fonction HLitSuivant par exemple).
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 30/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale