PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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.
Versions 18 et supérieures
iPhone/iPad Cette fonctionnalité est désormais disponible pour les applications iPhone/iPad.
Nouveauté 18
iPhone/iPad Cette fonctionnalité est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonctionnalité est désormais disponible pour les applications iPhone/iPad.
Versions 21 et supérieures
Universal Windows 10 App Cette fonctionnalité est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonctionnalité est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonctionnalité est désormais disponible en mode Universal Windows 10 App.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
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.

Important

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. Sélectionnez l'option "Fichier .. Nouveau .. État". L'assistant de création d'un état s'affiche.Cliquez sur Nouveau parmi les boutons d'accès rapide.
    • Dans la roue qui s'affiche, cliquez sur "Etat". 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 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 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 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 de type : Tableau + GrapheType du graphe, aspect du graphe, ...
    Options détaillées dans la page Etat Tableau + Graphe
    État de type GrapheType du graphe, aspect du graphe, ...
    Options détaillées dans la page Etat Graphe
    É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

    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 :
    • Versions 19 et supérieures
      Imprimer l'état sur plusieurs pages. Dans ce cas, l'utilisateur final devra assembler les pages. Pour plus de détails, consultez Impression multipage.
      Nouveauté 19
      Imprimer l'état sur plusieurs pages. Dans ce cas, l'utilisateur final devra assembler les pages. Pour plus de détails, consultez Impression multipage.
      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 "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é (option "Code .. Tester l'état"), une fenêtre s'affiche permettant de saisir les bornes de l'état.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 iAperçu (aperçu avant impression, impression dans un fichier HTML, ...).
    • WEBDEV - Code Serveur En WEBDEV, grâce à la fonction iDestination (impression dans un fichier HTML, ...).
    • Windows Mobile Sous Windows Mobile, grâce à la fonction iConfigure ou iParamètre. Ces fonctions ouvrent une boîte de dialogue dans laquelle l'utilisateur sélectionne l'imprimante à utiliser par défaut.
      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.

Important

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 "Client". Cet état permet d'imprimer les caractéristiques des clients.
L'état "ETAT_Client" s'imprime lors d'un clic sur le bouton "BTN_Client". Dans cet exemple, le code de clic du bouton "BTN_Client" est le suivant :
  • WINDEV Code WINDEV :
    // Ouvrir la fenêtre d'aperçu
    iAperçu()
    // Imprimer l'état ETAT_Client
    iImprimeEtat(ETAT_Client)
  • Windows Mobile Code Windows Mobile :
    // Sélection de l'imprimante
    iConfigure()
    // Imprimer l'état ETAT_Client
    iImprimeEtat(ETAT_Client)
WEBDEV - Code Serveur Exemple WEBDEV
L'état "ETAT_Client" est un état basé sur le fichier "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 iAperçu (aperçu avant impression, impression dans un fichier HTML, ...).
    • WEBDEV - Code Serveur En WEBDEV, grâce à la fonction iDestination (impression dans un fichier HTML, ...).
    • Windows Mobile Sous Windows Mobile, grâce à la fonction iConfigure ou iParamètre. Ces fonctions ouvrent une boîte de dialogue dans laquelle l'utilisateur sélectionne l'imprimante à utiliser par défaut.
      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 "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 bouton "BTN_ClientD".
Dans cet exemple, le code de clic du bouton "BTN_ClientD" est le suivant :
  • WINDEV Code WINDEV :
    // Ouvrir la fenêtre d'aperçu
    iAperçu()
    // Imprimer l'état ETAT_Client
    iImprimeEtat(ETAT_Client, "D", "D" + hValMax)
  • Windows Mobile Code Windows Mobile :
    // Sélection de l'imprimante
    iConfigure()
    // Imprimer 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 "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 bouton "BTN_ClientD".
Dans cet exemple, le code de clic du 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 iAperçu (aperçu avant impression, impression dans un fichier HTML, ...).
    • WEBDEV - Code Serveur En WEBDEV, grâce à la fonction iDestination (impression dans un fichier HTML, ...).
    • Windows Mobile Sous Windows Mobile, grâce à la fonction iConfigure ou iParamètre. Ces fonctions ouvrent une boîte de dialogue dans laquelle l'utilisateur sélectionne l'imprimante à utiliser par défaut.
      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 bouton "BTN_Imprimer". L'état "ETAT_Param" est basé sur le fichier "Client".
Dans cet exemple :
  • le code de clic du bouton "BTN_Imprimer" est le suivant :
    // Ouvrir la fenêtre d'aperçu
    iAperçu()
    // Imprimer 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érer les paramètres passés à l'état et
    // passer des paramètres par défaut pour le test de l'état
    PROCEDURE ETAT_Param(sTexte = "Défaut", sDate = DateDuJour())
Windows Mobile Exemple Windows Mobile
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 bouton "BTN_Imprimer". L'état "ETAT_Param" est basé sur le fichier "Client".
Dans cet exemple :
  • le code de clic du bouton "BTN_Imprimer" est le suivant :
    // Sélection de l'imprimante
    iConfigure()
    // Imprimer l'état avec le passage des paramètres
    iImprimeEtat(ETAT_Param, SAI_DateLiv)
  • le code de l'état est le suivant :
    // Récupérer les paramètres passés à l'état et
    // passer des paramètres par défaut pour le test de l'état
    PROCEDURE 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 bouton "BTN_Commande".
Dans cet exemple :
  • le code de clic du 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érer les paramètres passés à l'état et
    // passer des paramètres par défaut pour le test de l'état
    PROCEDURE 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 iAperçu (aperçu avant impression, impression dans un fichier HTML, ...).
    • WEBDEV - Code Serveur En WEBDEV, grâce à la fonction iDestination (impression dans un fichier HTML, ...).
    • Windows Mobile En Windows Mobile, grâce à la fonction iConfigure ou iParamètre. Ces fonctions ouvrent une boîte de dialogue dans laquelle l'utilisateur sélectionne l'imprimante à utiliser par défaut.
      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 bouton "BTN_Imprimer". L'état "ETAT_Param" est basé sur le fichier "Client".
Dans cet exemple, le code de clic du bouton "BTN_Imprimer" est le suivant :
// Ouvrir la fenêtre d'aperçu
iAperçu()
// Imprimer l'état avec passage de bornes et de paramètres
iImprimeEtat(ETAT_Param, "D", "E", SAI_TexteMailing, SAI_DateEnv)
Windows Mobile Exemple Windows Mobile
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 bouton "BTN_Imprimer". L'état "ETAT_Param" est basé sur le fichier "Client".
Dans cet exemple, le code de clic du bouton "BTN_Imprimer" est le suivant :
// Sélection de l'imprimante
iConfigure()
// Imprimer 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/2004" et la borne maximale à : "31/01/2004".
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 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_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, "01012003", "31012003", 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