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 Table
  • Créer un état sur un champ Table 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 Table créé
  • Créer un état sur un champ Table depuis l'éditeur d'états
  • Créer un état sur un champ Table depuis l'éditeur d'états
  • Imprimer un état sur un champ Table
  • Imprimer un état sur un champ Table
  • 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
Présentation
L'état sur un champ Table permet d'imprimer directement les informations affichées dans un champ Table (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 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 Table. Cependant, il est possible de personnaliser des états sur un champ Table créés sous l'éditeur d'états intégré (couleur, polices, taille, ...).
Un état sur un champ Table peut imprimer :
  • soit toutes les lignes affichées dans le champ Table (possibilité de filtrer les données du champ Table avec la loupe).
  • soit uniquement les lignes sélectionnées par l'utilisateur (cas des champs Table 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 Table
Si l'état est basé sur un champ Table :
  • Chaque ligne du champ Table correspond à un enregistrement.
  • Chaque colonne du champ Table correspond à un champ Libellé (même les colonnes invisibles).
    WINDEV Remarque : Les colonnes définies comme ne devant pas être imprimées (option "Export et impression" dans l'onglet "Général" de la description de la colonne) ne sont pas prises en compte.
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 colonnes dans la fenêtre en cours d'édition. En WINDEV, si l'utilisateur modifie l'ordre des colonnes dans la fenêtre, l'ordre d'affichage des colonnes dans l'état ne sera pas modifié dynamiquement.
Attention : Les données imprimées dans l'état sont triées selon la colonne de tri définie pour le champ Table.
Etat sur un champ Table
Il est possible de créer un état sur un champ Table :
  • 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 Table 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 Table associé à l'état.
Attention : Il est impossible de tester un état sur un champ Table directement depuis l'éditeur d'états, car la fenêtre ou la page contenant le champ Table doit être ouverte. Pour tester un état sur un champ Table, il est donc nécessaire de :
  • créer si nécessaire un bouton dans la fenêtre ou la page du champ Table. Ce bouton permet de lancer l'impression de l'état sur le champ Table (fonction iImprimeEtat).
    Cas des fenêtres internes : Si le champ Table 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 ou la page contenant le champ Table 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 Table depuis l'éditeur de fenêtres
WINDEV L'éditeur de fenêtres permet de créer automatiquement un état sur un champ Table 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 Table sur lequel l'état doit être basé.
  2. Sélectionnez le champ Table.
  3. Sous le volet "Création", dans le groupe "Données", déroulez "Table et Liste" et sélectionnez "Etat sur champ Table".
  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 Table.
  5. Un état tableau basé sur le champ Table 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 Table.
WINDEV

Caractéristiques de l'état sur champ Table 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éChampTable>".
  • l'état créé contient :
    • un tableau comprenant autant de colonnes que le champ Table.
      Par défaut, la largeur des colonnes de ce tableau correspond à la largeur des colonnes du champ Table.
      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.
      Attention : Les colonnes définies comme ne devant pas être imprimées (option "Export et impression" dans l'onglet "Général" de la description de la colonne) ne sont pas proposées.
    • un champ Libellé affichant le libellé du champ Table.
    • 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 Table.
Toutes ces caractéristiques peuvent être modifiées à tout moment sous l'éditeur d'états.
Créer un état sur un champ Table depuis l'éditeur d'états
L'éditeur d'états permet de créer n'importe quel type d'état basé sur un champ Table (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 Table.

Créer un état sur un champ Table depuis l'éditeur d'états

Pour créer un état sur un champ Table 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 Table 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 Table : sélectionnez l'option "Toutes les lignes du champ Table".
    • uniquement les lignes sélectionnées par l'utilisateur : sélectionnez l'option "Seulement les lignes sélectionnées dans le champ Table".
      Remarque : Ce choix pourra être modifié par programmation grâce à la propriété SélectionSeule.
  7. Pour chaque colonne du champ Table 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é à la colonne du champ Table 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 Table 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 Table

Imprimer un état sur un champ Table

L'impression d'un état sur un champ Table doit être réalisée uniquement à partir de la fenêtre affichant le champ Table à 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 Table.
  2. Paramétrer la destination de l'impression de l'état :
    • WINDEV En WINDEV, grâce à la fonction iDestination (visualisateur de rapports, impression dans un fichier HTML, ...).
    • WEBDEV - Code Serveur En WEBDEV, grâce à la fonction iDestination (impression dans un fichier 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 Table 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 Table à 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_Table_Client, TABLE_Client.NomComplet)

    // Code d'ouverture de l'état :
    PROCÉDURE ETAT_Table_Client(NomTableSource)
    MonEtat.NomSource = NomTableSource
  • 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 Table "TABLE_TableClient" présent dans la fenêtre "FEN_Client".
L'état à imprimer est nommé "ETAT_Client" 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 Table "TABLE_TableClient"
iImprimeEtat(ETAT_Client)
WEBDEV - Code Serveur

Exemple WEBDEV

L'ensemble des informations à imprimer est contenu dans le champ Table "TABLE_TableClient" présent dans la page "PAGE_Client".
L'état à imprimer est nommé "ETAT_Client" 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 Table TABLE_TableClient
iImprimeEtat(ETAT_Client)
// Affiche l'état au format PDF
FichierAffiche(NomFicUnique, "application/pdf")
// Supprime le fichier
fSupprime(NomFicUnique)
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