DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur d'états / Sources de données
  • Présentation
  • Créer un état sur un fichier de données
  • Etat borné basé sur un fichier de données
  • Définir un état borné
  • Imprimer un état sur un fichier de données
  • Imprimer un état borné basé sur un fichier de données
  • Imprimer un état paramétré basé sur un fichier de données
  • Imprimer un état paramétré et borné basé sur un fichier de données
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 fichier de données
Présentation
Un état sur un fichier de données permet d'imprimer des enregistrements provenant d'un seul fichier de données (HFSQL Classic ou Client/Serveur, accédé par un Accès Natif, ...). Si les enregistrements proviennent de plusieurs fichiers de données, il est conseillé d'utiliser un état sur requête.
Caractéristiques d'un état sur fichier de données
Les caractéristiques d'un état sur fichier de données sont les suivantes :
  • Clé de parcours : un état sur un fichier de données utilise une clé de parcours. Cette clé permet de parcourir les différents enregistrements à imprimer dans l'état. Cette clé est définie dans le fichier de données.
  • Etat borné : un état sur un fichier de données peut être borné. Ces bornes permettent de délimiter les enregistrements à imprimer dans l'état. Pour plus de détails, consultez le paragraphe Etat borné basé sur un fichier de données.
La création d'un état sur un fichier de données s'effectue grâce à l'assistant de création d'un état. Ce type d'état peut être créé uniquement si le projet en cours est associé à une analyse.
Lorsque l'état sur un fichier de données 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).
  • modifier la clé de parcours (onglet "Données" de la description de l'état).
  • définir des bornes (onglet "Données" de la description de l'état).
  • ajouter ou supprimer des champs Rubriques liés au fichier de données associé à l'état.
Les fichiers de données et les rubriques des fichiers de données pouvant être utilisés dans les états créés avec le logiciel Etats & Requêtes sont définis par le développeur sous l'éditeur d'analyses de WINDEV.
Pour plus de détails sur la préparation nécessaire à l'utilisation d'une application WINDEV avec le logiciel Etats & Requêtes, consultez Préparer une application WINDEV pour l'utiliser avec le logiciel Etats & Requêtes.

Cette page d'aide présente :
Créer un état sur un fichier de données
Pour créer un état sur un fichier de données :
  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 fichier de données ou d'une requête existante".
  5. Sélectionnez le fichier de données sur lequel est basé l'état. La description de ce fichier de données doit être présente dans l'analyse associée au projet en cours.
  6. Sélectionnez la clé de parcours de cet état. Cette rubrique sera utilisée pour parcourir les enregistrements du fichier de données sélectionné.
    En cas de parcours borné, indiquez quelles valeurs des bornes seront fournies à l'état.
  7. Sélectionnez les rubriques de tri de l'état. Ces rubriques seront utilisées pour trier les données imprimées dans l'état. Pour plus de détails sur les tris, consultez les Tris dans un état.
  8. Pour grouper les enregistrements, il est possible de créer des ruptures sur les rubriques de tri. Pour créer des ruptures, répondez "Oui" à la question "Voulez-vous des ruptures dans l'état ?".
    L'étape suivante permet alors de sélectionner les rubriques de tri correspondant aux ruptures. Pour plus de détails sur les ruptures, consultez les Ruptures dans un état.
  9. Pour chaque rubrique du fichier de données affichée dans l'état :
    • saisissez le libellé correspondant. Ce libellé sera affiché :
      • soit avant la rubrique. Par exemple :
        Libellé
      • soit dans l'entête de la colonne (cas des états Tableau). Par exemple :
        Libellé
        Ce libellé pourra être modifié directement sous l'éditeur d'états.
    • sélectionnez le bloc dans lequel le champ associé à la rubrique 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.
  10. 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.
  11. Si le fichier de données 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.
  12. 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
  13. 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.
  14. Sélectionnez le gabarit de l'état si nécessaire.
  15. 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".
  16. Validez la création de l'état.
  17. 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.
  18. 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.
  19. L'état en cours de création s'affiche sous l'éditeur d'états.
Etat borné basé sur un fichier de données
Un état sur un fichier de données peut être borné sur la clé de parcours utilisée. Ainsi, un état sur le fichier de données "Client" peut imprimer la liste complète des clients ou uniquement les clients dont le nom commence par les lettres "D" ou "E" si l'état est borné.
La définition d'un état borné peut être réalisée :
  • soit lors de la création de l'état.
  • soit directement dans la description de l'état (onglet "Données").

Définir un état borné

Pour définir un état borné :
  1. Sélectionnez :
    • soit l'option "Valeur minimale fournie" et/ou "Valeur maximale fournie" lors de la création de l'état.
    • soit l'option "Borne min" et/ou "Borne max" dans l'onglet "Données" de la description de l'état (option "Description de l'état" du menu contextuel de l'état).
  2. Spécifiez la borne minimale et/ou la borne maximale lors de l'impression de l'état à l'aide de la fonction iImprimeEtat ou à l'aide des propriétés BorneMin et BorneMax. Pour plus de détails, consultez le paragraphe Imprimer un état borné.
Remarque : Lors du test d'un état borné (Go parmi les boutons d'accès rapide), une fenêtre s'affiche permettant de saisir les bornes de l'état.
Imprimer un état sur un fichier de données
Pour imprimer un état sur un fichier de données, il suffit de :
  1. 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, ...).
    • AndroidiPhone/iPad Sous Android et iOS, grâce à la fonction iDestination (impression dans un fichier PDF).
    Pour plus de détails, consultez Modes d'impression d'un état.
  2. Préciser le nom de l'état à imprimer grâce à la fonction iImprimeEtat.
Il est nécessaire de spécifier des paramètres supplémentaires dans les cas suivants :
  • Impression d'un état borné basé sur un fichier de données.
  • Impression d'un état paramétré basé sur un fichier de données.
  • Impression d'un état paramétré et borné basé sur un fichier de données.
Sous le logiciel Etats & Requêtes, il est possible d'imprimer un état :
  • soit en lançant une impression (Imprimer).
  • soit en testant l'état (Go).
Il n'est donc pas nécessaire de programmer l'impression de l'état.

WINDEVWINDEV Mobile Exemples WINDEV et WINDEV Mobile L'état "ETAT_Client" est un état basé sur le fichier de données "Client". Cet état permet d'imprimer les caractéristiques des clients.
L'état "ETAT_Client" s'imprime lors d'un clic sur le champ Bouton "BTN_Client". Dans cet exemple, le code de clic du champ Bouton "BTN_Client" est le suivant :
  • WINDEV Code WINDEV :
    // Ouvre le visualisateur de rapports
    iDestination(iVisualisateur)
    // Imprime l'état ETAT_Client
    iImprimeEtat(ETAT_Client)
  • AndroidiPhone/iPad Code Android et iOS :
    // Paramètre la destination de l'impression
    iDestination(iPDF)
    // Imprime l'état ETAT_Client
    iImprimeEtat(ETAT_Client)

WEBDEV - Code Serveur Exemple WEBDEV L'état "ETAT_Client" est un état basé sur le fichier de données "Client". Cet état permet d'imprimer les caractéristiques des clients.
L'état "ETAT_Client" s'affiche dans un fichier PDF lors d'un clic sur le lien "LIEN_Client". Le fichier PDF est ensuite affiché sur le navigateur. Dans cet exemple, le code de clic serveur du lien "LIEN_Client" est le suivant :
// Génère un nom de fichier PDF 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 ETAT_Client 
iImprimeEtat(ETAT_Client) 
// Envoie le fichier dans le navigateur 
FichierAffiche(NomFicUnique, "application/pdf") 
// Supprime le fichier 
fSupprime(NomFicUnique)
Remarque : La propriété NomSource utilisée dans le code de l'état permet de connaître et de changer le nom du fichier de données associé à l'état.

Imprimer un état borné basé sur un fichier de données

Pour imprimer un état borné basé sur un fichier de données, il suffit de :
  1. 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, ...).
    • AndroidiPhone/iPad Sous Android et iOS, grâce à la fonction iDestination (impression dans un fichier PDF).
    Pour plus de détails, consultez Modes d'impression d'un état.
  2. Préciser les paramètres suivants grâce à la fonction iImprimeEtat :
    • le nom de l'état à imprimer.
    • la valeur de la borne minimale de l'état.
    • la valeur de la borne maximale de l'état.
WINDEVWINDEV Mobile Exemple WINDEV et WINDEV Mobile
L'état "ETAT_Client" est un état borné basé sur le fichier de données "Client". Cet état permet d'imprimer les caractéristiques des clients dont le nom commence par la lettre "D".
La borne minimale correspond à "D". La borne maximale correspond à "D"+hValMax.
L'état "ETAT_Client" s'imprime lors d'un clic sur le champ Bouton "BTN_ClientD".
Dans cet exemple, le code de clic du champ Bouton "BTN_ClientD" est le suivant :
  • WINDEV Code WINDEV :
    // Ouvre le visualisateur de rapports
    iDestination(iVisualisateur)
    // Imprime l'état ETAT_Client
    iImprimeEtat(ETAT_Client, "D", "D" + hValMax)
  • AndroidiPhone/iPad Code Android et iOS :
    // Paramètre la destination de l'impression
    iDestination(iPDF) 
    // Imprime l'état ETAT_Client
    iImprimeEtat(ETAT_Client, "D", "D" + hValMax)
WEBDEV - Code Serveur Exemple WEBDEV L'état "ETAT_Client" est un état borné basé sur le fichier de données "Client". Cet état permet d'imprimer les caractéristiques des clients dont le nom commence par la lettre "D". La borne minimale correspond à "D". La borne maximale correspond à "D"+hValMax. L'état "ETAT_Client" s'imprime dans un fichier HTML et est envoyé au navigateur lors du clic sur le champ Bouton "BTN_ClientD".
Dans cet exemple, le code de clic du champ Bouton "ClientD" 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 ETAT_Client
iImprimeEtat(ETAT_Client, "D", "D" + hValMax)
// Envoie le fichier dans le navigateur
FichierAffiche(NomFicUnique, "application/pdf")
// Supprime le fichier
fSupprime(NomFicUnique)

Imprimer un état paramétré basé sur un fichier de données

Pour imprimer un état paramétré, il est nécessaire de passer des paramètres. Pour plus de détails, consultez les Etats paramétrés.
Pour imprimer un état paramétré basé sur un fichier de données, il suffit de :
  1. 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, ...).
    • AndroidiPhone/iPad Sous Android et iOS, grâce à la fonction iDestination (impression dans un fichier PDF).
    Pour plus de détails, consultez Modes d'impression d'un état.
  2. Préciser les paramètres suivants grâce à la fonction iImprimeEtat :
    • le nom de l'état à imprimer.
    • les différents paramètres attendus par l'état (dans l'ordre spécifié dans l'état).
WINDEV Exemple WINDEV
L'état "ETAT_Param" correspond à un mailing publicitaire envoyé aux clients. Cet état attend en paramètre :
  • le texte de ce mailing saisi dans le champ de saisie "SAI_TexteMailing".
  • la date prévue de l'envoi de ce mailing saisie dans le champ de saisie "SAI_DateEnv".
Cet état s'imprime lors d'un clic sur le champ Bouton "BTN_Imprimer". L'état "ETAT_Param" est basé sur le fichier de données "Client".
Dans cet exemple :
  • le code de clic du champ Bouton "BTN_Imprimer" est le suivant :
    // Ouvre le visualisateur de rapports
    iDestination(iVisualisateur)
    // Imprime l'état avec le passage des paramètres
    iImprimeEtat(ETAT_Param, SAI_TexteMailing, SAI_DateEnv)
  • le code de l'état est le suivant :
    // Récupère les paramètres passés Ã  l'état et
    // passe des paramètres par défaut pour le test de l'état
    PROCÉDURE ETAT_Param(sTexte = "Défaut", sDate = DateDuJour())
AndroidiPhone/iPad Exemple Android et iOS
L'état "ETAT_Param" correspond à une facture. Cet état attend en paramètre la date prévue de livraison saisie dans le champ de saisie "SAI_DateLiv".
Cet état s'imprime lors d'un clic sur le champ Bouton "BTN_Imprimer". L'état "ETAT_Param" est basé sur le fichier de données "Client".
Dans cet exemple :
  • le code de clic du champ Bouton "BTN_Imprimer" est le suivant :
    // Paramètre la destination de l'impression
    iDestination(iPDF) 
    // Imprime l'état avec le passage des paramètres
    iImprimeEtat(ETAT_Param, SAI_DateLiv)
  • le code de l'état est le suivant :
    // Récupère les paramètres passés Ã  l'état et
    // passe des paramètres par défaut pour le test de l'état
    PROCÉDURE ETAT_Param(sDate = DateDuJour())
WEBDEV - Code Serveur Exemple WEBDEV L'état "ETAT_Commande" est un état paramétré permettant d'imprimer la commande d'un client identifié par son numéro de client. L'état "ETAT_Commande" s'affiche dans un fichier PDF. Ce fichier PDF est envoyé au navigateur lors d'un clic sur le champ Bouton "BTN_Commande".
Dans cet exemple :
  • le code de clic du champ Bouton "BTN_Commande" est le suivant :
    // Génère un nom de fichier unique 
    NomFicUnique est une chaîne = fRepWeb() + "\" + "Facture_" + DateSys() + HeureSys() + ".pdf" 
    // Paramètre la destination de l'impression 
    iDestination(iPDF, NomFicUnique) 
    // Génère le bon de commande 
    iImprimeEtat(ETAT_Commande, CLIENT.CLCLEUNIK)
  • le code de l'état est le suivant :
    // Récupère les paramètres passés Ã  l'état et
    // passe des paramètres par défaut pour le test de l'état
    PROCÉDURE ETAT_Commande(nIDClient = 450)

Imprimer un état paramétré et borné basé sur un fichier de données

Pour imprimer un état paramétré et borné basé sur un fichier de données, il suffit de :
  1. 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, ...).
    • AndroidiPhone/iPad Sous Android et iOS, grâce à la fonction iDestination (impression dans un fichier PDF).
    Pour plus de détails, consultez Modes d'impression d'un état.
  2. Préciser les paramètres suivants grâce à la fonction iImprimeEtat :
    • le nom de l'état à imprimer.
    • la valeur de la borne minimale de l'état.
    • la valeur de la borne maximale de l'état.
    • les différents paramètres attendus par l'état (dans l'ordre spécifié dans l'état).
WINDEV Exemple WINDEV L'état "ETAT_Param" correspond à un mailing publicitaire envoyé aux clients dont le nom commence par la lettre "D" ou par la lettre "E".
La borne minimale correspond à : "D" et la borne maximale à : "E".
Cet état attend en paramètre :
  • le texte de ce mailing saisi dans le champ de saisie "SAI_TexteMailing".
  • la date prévue de l'envoi de ce mailing saisie dans le champ de saisie "SAI_DateEnv".
Cet état s'imprime lors d'un clic sur le champ Bouton "BTN_Imprimer". L'état "ETAT_Param" est basé sur le fichier de données "Client".
Dans cet exemple, le code de clic du champ Bouton "BTN_Imprimer" est le suivant :
// Ouvrir le visualisateur de rapports
iDestination(iVisualisateur)
// Imprimer l'état avec passage de bornes et de paramètres
iImprimeEtat(ETAT_Param, "D", "E", SAI_TexteMailing, SAI_DateEnv)
AndroidiPhone/iPad Exemple Android et iOS L'état "ETAT_Param" correspond à une facture envoyée aux clients dont le nom commence par la lettre "D" ou par la lettre "E".
La borne minimale correspond à : "D" et la borne maximale à : "E".
Cet état attend en paramètre la date prévue de livraison saisie dans le champ de saisie "SAI_DateLiv".
Cet état s'imprime lors d'un clic sur le champ Bouton "BTN_Imprimer". L'état "ETAT_Param" est basé sur le fichier de données "Client".
Dans cet exemple, le code de clic du champ Bouton "BTN_Imprimer" est le suivant :
// Paramètre la destination de l'impression
iDestination(iPDF)
// Imprime l'état avec passage de bornes et de paramètres 
iImprimeEtat(ETAT_Param, "D", "E", SAI_DateLiv)
WEBDEV - Code Serveur Exemple WEBDEV L'état "ETAT_Param" correspond à l'impression des factures d'un client spécifique pour le mois de Janvier 2004.
La borne minimale correspond à : "01/01/2023" et la borne maximale à : "31/01/2023".
Cet état attend en paramètre le numéro du client concerné. Cet état s'affiche dans un fichier PDF lors d'un clic sur le champ Bouton "BTN_Imprimer".
Dans cet exemple, le code de clic du champ Bouton "BTN_Imprimer" est le suivant :
// Génère un nom de fichier unique
NomFicUnique est une chaîne = fRepWeb() + "\" + "ETAT_Param_" + DateSys() + HeureSys() + ".pdf"
// Paramètre la destination de l'impression
iDestination(iPDF, NomFicUnique)
// Imprime l'état avec passage de bornes et du paramètre
iImprimeEtat(ETAT_Param, "01012023", "31012023", NumCli)
// Envoie le fichier dans le navigateur
FichierAffiche(NomFicUnique, "application/pdf")
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