DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur d'états / Sources de données
  • Présentation
  • Caractéristiques de l'état sur un champ Zone répétée
  • Créer un état sur un champ Zone répétée depuis l'éditeur de fenêtres
  • Créer automatiquement un état et un bouton permettant de lancer l'impression de l'état
  • Caractéristiques de l'état sur champ Zone répétée créé
  • Créer un état sur un champ Zone répétée depuis l'éditeur d'états
  • Créer un état sur un champ Zone répétée depuis l'éditeur d'états
  • Imprimer un état sur un champ Zone répétée
  • Imprimer un état sur un champ Zone répétée
  • Exemple WINDEV
  • Exemple WEBDEV
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 un champ Zone répétée
Présentation
L'état sur un champ Zone répétée permet d'imprimer directement les informations affichées dans un champ Zone répété (fichier, par programmation ou sur variable) présent :
  • dans une fenêtre ou une page de l'application. Cette fenêtre ou page doit être affichée lors de l'impression de l'état.
  • dans une fenêtre interne ou une page interne. La fenêtre (ou la page) affichant la fenêtre interne (ou la page interne) doit être affichée.
Le logiciel Etats & Requêtes ne permet pas de créer des états sur un champ Zone répétée. Cependant, il est possible de personnaliser des états sur un champ Zone répétée créés sous l'éditeur d'états intégré (couleur, polices, taille, ...).
Un état sur un champ Zone répété peut proposer :
  • soit toutes les lignes affichées dans le champ Zone répétée.
  • soit uniquement les lignes sélectionnées par l'utilisateur (cas des champs Zone répétée multisélection où les lignes sont sélectionnées grâce à la touche Ctrl). Cette option n'est pas disponible en WEBDEV.
Caractéristiques de l'état sur un champ Zone répétée
Si l'état est basé sur un champ Zone répétée :
  • Chaque ligne (ou répétition) du champ Zone répétée correspond à un enregistrement.
  • Chaque attribut du champ Zone répétée correspond à un champ Libellé (même les attributs ne correspondant pas à une valeur).
Dans le cas d'un état de type tableau, l'ordre d'affichage des colonnes dans l'état correspond par défaut à l'ordre des attributs dans la fenêtre en cours d'édition.
Il est possible de créer un état sur un champ Zone répétée :
  • soit depuis l'éditeur de fenêtres. L'état créé correspond alors à un état de type tableau.
  • soit depuis l'éditeur d'états. L'assistant de création d'un état s'ouvre et permet de choisir le type d'état à créer (tableau, fiche, ...).
Lorsque l'état sur un champ Zone répété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 Libellé liés au champ Zone répétée associé à l'état.
Attention : Il est impossible de tester un état sur un champ Zone répétée directement depuis l'éditeur d'états car la fenêtre ou la page contenant le champ Zone répétée doit être ouverte. Pour tester un état sur un champ Zone répétée, il est donc nécessaire de :
  • créer si nécessaire un bouton dans la fenêtre ou la page du champ Zone répétée. Ce bouton permet de lancer l'impression de l'état sur le champ Zone répétée (fonction iImprimeEtat).
    Cas des fenêtres internes : Si le champ Zone répétée est présent dans une fenêtre interne, il est conseillé de créer le bouton dans la fenêtre interne et non dans la fenêtre hôte.
  • tester directement la fenêtre contenant le champ Zone répétée puis l'état (grâce au bouton).
    Cas des fenêtres internes : il est nécessaire d'effectuer le test depuis la fenêtre accueillant la fenêtre interne.
Créer un état sur un champ Zone répétée depuis l'éditeur de fenêtres
WINDEV L'éditeur de fenêtres permet de créer automatiquement un état sur un champ Zone répétée et un bouton permettant de lancer l'impression de l'état. Aucune programmation n'est nécessaire.
Remarque  : L'éditeur de fenêtres permet uniquement de créer un état de type tableau. Pour créer un autre type d'état, utilisez l'éditeur d'états.
WINDEV

Créer automatiquement un état et un bouton permettant de lancer l'impression de l'état

Pour créer automatiquement un état et un bouton permettant de lancer l'impression de l'état :
  1. Ouvrez la fenêtre contenant le champ Zone répétée sur lequel l'état doit être basé.
  2. Sélectionnez le champ Zone répétée.
  3. Sous le volet "Création", dans le groupe "Données", déroulez "Zone répétée" et sélectionnez "Etat sur Zone Répétée".
  4. Le curseur de la souris se transforme et la forme du bouton apparaît sous le curseur. Cliquez dans votre fenêtre pour créer et positionner le bouton. Ce bouton permet l'impression de l'état sur le champ Zone répétée.
  5. Un état tableau basé sur le champ Zone répétée sélectionné est automatiquement créé dans l'éditeur d'états. Pour plus de détails sur cet état, consultez le paragraphe Caractéristiques de l'état créé.
  6. Confirmez l'ajout de l'état créé dans le projet en cours.
  7. Enregistrez l'état créé et la fenêtre contenant le champ Zone répétée.
WINDEV

Caractéristiques de l'état sur champ Zone répétée créé

Par défaut :
  • l'état créé est un état de type Tableau. Pour plus de détails, consultez Les différents types d'états.
  • le nom de l'état créé est "Etat_<LibelléChampZoneRépétée>".
  • l'état créé contient :
    • un tableau comprenant autant de colonnes qu'il y a d'attributs dans le champ Zone répétée (même si ces attributs n'affichent pas de valeur).
      Par défaut, la largeur des colonnes de ce tableau correspond à la largeur des champs associés aux attributs.
      Si le tableau n'occupe pas toute la largeur de l'état, les colonnes du tableau sont agrandies proportionnellement pour que le tableau soit le plus large possible.
    • un champ Libellé affichant le libellé du champ Zone répétée.
    • quatre champs prédéfinis permettant d'afficher la date du jour, le numéro de la page en cours d'impression, le nombre de pages total de l'état et le nombre total de lignes imprimées dans l'état.
  • le gabarit de l'état créé correspond au gabarit du projet en cours.
  • l'état imprime toutes les lignes du champ Zone répétée.
Toutes ces caractéristiques peuvent être modifiées à tout moment sous l'éditeur d'états.
Créer un état sur un champ Zone répétée depuis l'éditeur d'états
L'éditeur d'états permet de créer n'importe quel type d'état basé sur un champ Zone répétée (tableau, fiche, ...).
Après avoir créé l'état, l'impression de l'état nécessite une programmation en WLangage. Pour plus détails, consultez le paragraphe Imprimer un état sur un champ Zone répétée.

Créer un état sur un champ Zone répétée depuis l'éditeur d'états

Pour créer un état sur un champ Zone répétée depuis l'éditeur d'états :
  1. Cliquez sur Nouveau 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 si nécessaire le modèle d'états à utiliser. Un modèle d'états permet de respecter une mise en page spécifique. Pour plus de détails sur les modèles d'états, consultez Les modèles d'états.
  4. Sélectionnez la source de données de l'état (option "D'un champ Table ou Zone répétée").
  5. Sélectionnez le champ Zone répétée sur lequel sera basé l'état. Seuls les champs Table et Zone répétée présents dans les fenêtres ou les pages du projet en cours sont proposés.
  6. WINDEV Pour imprimer :
    • toutes les lignes affichées dans le champ Zone répétée : sélectionnez l'option "Toutes les lignes du champ".
    • uniquement les lignes sélectionnées par l'utilisateur : sélectionnez l'option "Seulement les lignes sélectionnées dans le champ".
      Remarque : Ce choix pourra être modifié par programmation grâce à la propriété SélectionSeule.
  7. Pour chaque attribut du champ Zone répétée affiché dans l'état :
    • indiquez si la colonne doit être imprimée ou non via la coche.
    • saisissez le libellé correspondant. Ce libellé sera affiché :
      • soit avant le champ. Par exemple :
        Libellé avant le champ
      • soit dans l'entête de la colonne (cas des états Tableau). Par exemple :
        Libellé dans les colonnes

        Ce libellé pourra être modifié directement sous l'éditeur d'états.
    • sélectionnez le bloc dans lequel le champ associé à l'attribut du champ Zone répétée doit être imprimé. La position des différents champs pourra être modifiée directement sous l'éditeur d'états. Pour plus de détails sur les différents blocs et sur leur position dans un état, consultez Blocs d'un état.
  8. Modifiez si nécessaire l'ordre d'affichage des différents champs dans l'état à l'aide des boutons fléchés à droite du tableau.
  9. Si le champ Zone répétée associé à l'état contient au moins une rubrique de type numérique, il est possible de réaliser des calculs sur ces rubriques. Spécifiez le calcul réalisé pour chaque rubrique (somme, moyenne, ...). Deux types de calcul sont possibles :
    • calcul général : un champ Calculé sera créé dans le bloc Fin de document.
    • calcul sur rupture : un champ Calculé sera créé dans le bloc Bas de rupture. Dans les calculs sur rupture, le résultat du calcul est ré-initialisé à chaque rupture. Pour réaliser un calcul sur rupture, une rupture doit être présente dans l'état en cours de création.
  10. Selon le type d'état en cours de création, indiquez les options spécifiques correspondantes.
    Type d'étatOptions spécifiques
    É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
  11. 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.
    Remarque : Par défaut, les champs de l'état sont disposés sur une seule colonne. Pour réaliser un état multicolonne, il suffit de spécifier le nombre de colonnes voulues dans l'onglet "Format" de la fenêtre de description de l'état.
  12. Sélectionnez le gabarit de l'état si nécessaire.
  13. Saisissez le nom et le titre de l'état (nom du fichier ".WDE" correspondant à l'état). Ce nom permettra d'identifier l'état dans vos programmes.
    WINDEV Il est également possible d'indiquer si l'état peut être modifié par l'utilisateur final sous le logiciel "Etats & Requêtes".
  14. Validez la création de l'état.
  15. L'éditeur d'états propose automatiquement de changer le format de l'état utilisé si les conditions suivantes sont réunies :
    • l'état en cours de création comporte un tableau.
    • le format de l'état ne permet pas d'afficher l'ensemble des colonnes du tableau.
  16. 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.
  17. L'état en cours de création s'affiche sous l'éditeur d'états.
Imprimer un état sur un champ Zone répétée

Imprimer un état sur un champ Zone répétée

L'impression d'un état sur un champ Zone répétée doit être réalisée uniquement à partir de la fenêtre affichant le champ Zone répétée à imprimer. Si le bouton n'a pas été créé automatiquement, il suffit de :
  1. Créer un bouton dans la fenêtre (ou la page) contenant le champ Zone répétée.
  2. Paramétrer la destination de l'impression de l'état grâce à la fonction iDestination (impression dans un fichier PDF, HTML, ...).
    Pour plus de détails, consultez Modes d'impression d'un état.
  3. Préciser le nom de l'état à imprimer grâce à la fonction iImprimeEtat.
Remarques :
  • Si des paramètres supplémentaires doivent être passés à l'état, ces paramètres doivent être indiqués dans la fonction iImprimeEtat, après le nom de l'état à imprimer. Pour plus de détails, consultez Etat paramétré.
  • WINDEV Si la fenêtre contenant le champ Zone répétée source de l'état est ouverte plusieurs fois (ouverture non modale par la fonction OuvreFille), il faut passer en paramètre à l'état le nom complet du champ Zone répétée à imprimer. Par exemple :
    // La propriété NomComplet va contenir le nom de la fenêtre
    // qui doit être ouverte avec un alias
    // afin de distinguer chaque fenêtre
    iImprimeEtat(ETAT_ZR_Client, ZR_Client.NomComplet)

    // Code d'ouverture de l'état :
    PROCÉDURE ETAT_ZR_Client(NomZRSource)
    MonEtat.NomSource = NomZRSource
  • WINDEV La propriété SélectionSeule permet de connaître et de modifier les enregistrements à imprimer dans l'état : impression de tous les enregistrements ou uniquement des enregistrements sélectionnés.
Sous le logiciel Etats & Requêtes, il est possible d'imprimer un état :
  • soit en lançant une impression (icône Icône d'impression).
  • soit en testant l'état (icône Go de l'état).
Il n'est donc pas nécessaire de programmer l'impression de l'état.
WINDEV

Exemple WINDEV

L'ensemble des informations à imprimer est contenu dans le champ Zone répétée "ZR_Client" présent dans la fenêtre "FEN_Client".
L'état à imprimer est nommé "ETAT_ZRClient" et s'imprime lors d'un clic sur le bouton "BTN_Imprimer".
Dans cet exemple, le code de clic du bouton "BTN_Imprimer" est le suivant :
// Ouvrir le visualisateur de rapports
iDestination(iVisualisateur)
// Imprimer l'état basé sur le champ Zone répétée "ZR_Client"
iImprimeEtat(ETAT_ZRClient)
WEBDEV - Code Serveur

Exemple WEBDEV

L'ensemble des informations à imprimer est contenu dans le champ Zone répétée "ZR_Client" présent dans la page "PAGE_Client".
L'état à imprimer est nommé "ETAT_ZRClient" et s'affiche dans un fichier PDF lors d'un clic sur le bouton "BTN_Imprimer".
Dans cet exemple, le code de clic du bouton "BTN_Imprimer" est le suivant :
// Génère un nom de fichier unique
NomFicUnique est une chaîne = fRepWeb() + "\" + "ETAT_Client_" + DateSys() + HeureSys() + ".pdf"
// Paramètre la destination de l'impression
iDestination(iPDF, NomFicUnique)
// Imprime l'état basé sur le champ Zone répétée "ZR_Client"
iImprimeEtat(ETAT_ZRClient)
// Affiche l'état au format PDF
FichierAffiche(NomFicUnique, "application/pdf")
// Supprime le fichier
fSupprime(NomFicUnique)
Version minimum requise
  • Version 22
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