PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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
  • Créer uniquement un état sur un champ Table
  • 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 et WINDEV Mobile
  • Exemple WEBDEV
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 champ Table
Présentation
L'état sur un champ Table permet d'imprimer directement les informations affichées dans un champ Table (fichier, mémoire ou sur source) 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.
ImportantLe 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 multi-sé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 rubrique (même les colonnes invisibles).Chaque colonne du champ Table correspond à un champ Libellé (même les colonnes invisibles).
    Versions 22 et supérieures
    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.
    Nouveauté 22
    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.
    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 Rubrique liés au champ Table associé à 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 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
WINDEVWINDEV Mobile Il est possible :
  • soit 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.
  • soit de créer uniquement un état sur un champ Table. L'impression de l'état nécessite une programmation en WLangage.
    Cette option permet de simplifier la création d'un état sur un champ Table si l'état n'est pas imprimé par un bouton (mais par une option de menu par exemple).
WINDEVWINDEV Mobile 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.
WINDEVWINDEV Mobile

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. Sélectionnez l'option "Insertion .. Spécial .. Bouton état sur table" ou cliquez sur l'icône Bouton Etat sur table. 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éé.
  4. Confirmez l'ajout de l'état créé dans le projet en cours.
  5. Dans la fenêtre contenant le champ Table, un bouton "Imprimer" est automatiquement créé. Le code de clic de ce bouton permet d'imprimer l'état créé. Modifiez si nécessaire la position de ce bouton.
  6. Enregistrez l'état créé et la fenêtre contenant le champ Table (option "Fichier .. Enregistrer").
    Pour plus de détails sur cet état, consultez le paragraphe Caractéristiques de l'état créé.
  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 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.
WINDEVWINDEV Mobile

Créer uniquement un état sur un champ Table

Pour créer uniquement un état sur champ Table :
  1. Ouvrez la fenêtre contenant le champ Table sur lequel l'état doit être basé.
  2. Sélectionnez le champ Table.
  3. Sélectionnez l'option "Champ .. Créer un état pour la table". 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éé.Sous le volet "Création", dans le groupe "Données", déroulez "Table et liste" et sélectionnez "Etat sur table" :
    • Un bouton permettant l'impression de l'état sur le champ Table est automatiquement créé. Positionnez ce bouton dans votre fenêtre.
    • 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éé.
  4. Confirmez l'ajout de l'état créé dans le projet en cours et enregistrez l'état (icône Enregistrer).
WINDEVWINDEV Mobile

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.
      Versions 22 et supérieures
      WINDEV 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.
      Nouveauté 22
      WINDEV 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.
      WINDEV 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. 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 champ Table").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 présents dans les fenêtres ou les pages du projet en cours sont proposés.Sélectionnez le champ Table sur lequel sera basé l'état. Seuls les champs Table et Zone répété présents dans les fenêtres ou les pages du projet en cours sont proposés.
  6. WINDEVWINDEV Mobile 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 la rubrique. Par exemple :
        =Libellé avant rubrique
        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 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
  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 :
    • 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.
  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 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.
  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é.
  • WINDEVWindows Mobile 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 :
    // 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 :
    PROCEDURE ETAT_Table_Client(NomTableSource)
    MonEtat..NomSource = NomTableSource
  • WINDEVWindows Mobile 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.
ImportantSous 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.
WINDEVWINDEV MobileEtats et RequêtesWindows Mobile

Exemple WINDEV et WINDEV Mobile

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 :
En WINDEV :
// Ouvrir la fenêtre d'aperçu
iAperçu()
// Imprimer l'état basé sur le champ Table "TABLE_TableClient"
iImprimeEtat(ETAT_Client)
En Windows Mobile :
// Sélection de l'imprimante
iConfigure()
// 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