PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation du champ "Etat interne"
  • Champ d'un état
  • Avantages des états internes par rapport aux états imbriqués
  • Comment le faire ?
  • Créer un état principal composé de plusieurs états secondaires
  • Etat principal non vierge
  • Etat secondaire
  • Etat secondaire basé sur une requête paramétrée
  • Etat secondaire basé sur une requête utilisant une connexion spécifique
  • Etat secondaire basé sur une vue HFSQL
  • Passer des paramètres à un état interne
  • Notes
  • Dimension des états secondaires
  • Diminuer la largeur d'un état secondaire
  • Saut de page de l'état secondaire
  • Ouverture de l'état interne
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
Présentation du champ "Etat interne"

Champ d'un état

Grâce aux champs de type "Etat interne", il est possible d'imprimer plusieurs états (états secondaires) dans un seul état (état principal) sans programmation.
Par exemple, l'état principal suivant est composé de deux états secondaires imprimés côte à côte :
  • un état affichant les données sous forme de tableau.
  • un état affichant les données sous forme de graphe.
Versions 18 et supérieures
WINDEV MobileiPhone/iPad Ce type de champ est désormais disponible pour les états dans les applications iPhone/iPad.
Nouveauté 18
WINDEV MobileiPhone/iPad Ce type de champ est désormais disponible pour les états dans les applications iPhone/iPad.
WINDEV MobileiPhone/iPad Ce type de champ est désormais disponible pour les états dans les applications iPhone/iPad.
Versions 21 et supérieures
WINDEVWINDEV MobileUniversal Windows 10 App Ce type de champ est désormais disponible pour les états dans les applications en mode Universal Windows 10 App.
Nouveauté 21
WINDEVWINDEV MobileUniversal Windows 10 App Ce type de champ est désormais disponible pour les états dans les applications en mode Universal Windows 10 App.
WINDEVWINDEV MobileUniversal Windows 10 App Ce type de champ est désormais disponible pour les états dans les applications en mode Universal Windows 10 App.
Avantages des états internes par rapport aux états imbriqués
Les états imbriqués permettent également d'imprimer plusieurs états secondaires dans un seul état principal. Les états secondaires sont imprimés les uns en dessous des autres.
Pour imprimer ces états secondaires, utilisez la fonction iImprimeEtat dans le code du bloc où les états secondaires doivent être imprimés.
Les états internes permettent d'imprimer sans programmation plusieurs états :
  • soit les uns en dessous des autres.
  • soit les uns à côté des autres.
Comment le faire ?

Créer un état principal composé de plusieurs états secondaires

Pour créer un état principal composé de plusieurs états secondaires :
  1. Créez et enregistrez tous les états secondaires.
  2. Créez l'état principal (option "Fichier .. Nouveau .. Etat .. Etat vierge").Créez l'état principal :
    • Cliquez sur parmi les boutons d'accès rapide.
    • Dans la roue qui s'affiche, cliquez sur "Etat". L'assistant de création d'un état se lance. 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 se lance.
    • Dans l'assistant, sélectionnez "Etat vierge" et validez.
  3. Dans l'état principal, créez autant de champs de type "Etat interne" que d'états secondaires à imprimer (option "Insertion .. Nouvel état interne" ou icône ).Dans l'état principal, créez autant de champs de type "Etat interne" que d'états secondaires à imprimer.
    Pour créer un état interne, sous le volet "Création", dans le groupe "Structure", cliquez sur "Etat interne".
    Remarque : L'état principal peut contenir tous les autres types de champs.
  4. Associez chaque champ "Etat interne" à un état secondaire (option "Etat imprimé" dans l'onglet "Général" de la description du champ). L'état secondaire sera imprimé en totalité dans le champ "Etat interne".
  5. Positionnez les champs "Etat interne" dans l'état principal.
  6. Testez l'état principal (option "Code .. Tester l'état") pour vérifier l'impression de votre état.Testez l'état principal ( parmi les boutons d'accès rapide) pour vérifier l'impression de votre état.

Etat principal non vierge

Si l'état principal et les états secondaires ont la même source de données, il est conseillé d'utiliser un contexte HFSQL indépendant :
  • soit pour l'état principal.
  • soit pour les états secondaires.
Remarque : Pour définir un contexte HFSQL indépendant :
  1. Affichez la description de l'état (option "Description de l'état" du menu contextuel de l'état).
  2. Dans l'onglet "Données", cochez l'option "L'exécution de l'état n'affecte pas les parcours (contexte HyperFileSQL indépendant)".Dans l'onglet "Données", cochez l'option "L'exécution de l'état n'affecte pas les parcours (contexte HFSQL indépendant)".
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.

Etat secondaire

Un état secondaire peut contenir tous les types de champs sauf les champs de type "Etat interne".

Etat secondaire basé sur une requête paramétrée

Si l'état secondaire est basé sur une requête paramétrée, utilisez la fonction iInitRequêteEtat pour passer les paramètres à la requête. Cette fonction doit être utilisée dans le traitement "Avant impression" du bloc contenant le champ "Etat Interne".

Etat secondaire basé sur une requête utilisant une connexion spécifique

Si l'état secondaire est basé sur une requête manipulant une connexion spécifique, utilisez la fonction iInitRequêteEtatConnexion pour exécuter cette requête (et lui passer si nécessaire des paramètres). Cette fonction doit être utilisée dans le traitement "Avant impression" du bloc contenant le champ "Etat Interne".

Etat secondaire basé sur une vue HFSQL

Si l'état secondaire est basé sur une vue HFSQL :
  1. Déclarez une variable globale de type chaîne de caractères dans le projet et affectez à cette variable le nom de la vue HFSQL avant l'exécution de l'état principal.
  2. Associez la vue à l'état secondaire grâce à la propriété ..NomVue dans le code d'ouverture de l'état secondaire :
    <NomEtatSecondaire>..NomVue = <NomVariableGlobale>
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.

Passer des paramètres à un état interne

Les paramètres donnés à l'état (lors de l'appel à la fonction iImprimeEtat) sont automatiquement transmis à l'état interne. Attention, dans ce cas, le passage par adresse des paramètres n'est pas garanti.
Pour passer des paramètres à un état interne, il est conseillé d'utiliser des variables globales. Par exemple, il est possible de déclarer une variable globale dans l'état appelant. Cette variable pourra être ensuite manipulée dans l'état interne grâce à la syntaxe :
<NomEtatAppelant>.<Nom de la variable>
Notes

Dimension des états secondaires

Lors de l'impression de l'état principal, la largeur des états secondaires est ajustée en fonction de la largeur du champ "Etat interne".
Tous les blocs des états secondaires seront imprimés. L'état principal s'adaptera automatiquement à la hauteur des états secondaires en :
  • augmentant si nécessaire la hauteur du champ "Etat interne".
  • augmentant si nécessaire la hauteur du bloc contenant le champ "Etat interne".
  • déplaçant vers le bas si nécessaire les champs positionnés sous le champ "Etat interne".

Diminuer la largeur d'un état secondaire

Pour diminuer la largeur d'un état secondaire :
  1. Affichez l'onglet "Format" de la description de l'état secondaire (option "Description de l'état" du menu contextuel de l'état).
  2. Modifiez la largeur de la page sur laquelle l'état secondaire est imprimé.
  3. Validez.

Saut de page de l'état secondaire

Les sauts de page définis dans un état secondaire seront ignorés lors de l'impression de l'état principal.
Versions 16 et supérieures

Ouverture de l'état interne

Le menu contextuel du champ "Etat Interne" sous l'éditeur permet d'ouvrir directement l'état interne grâce à l'option "Ouvrir l'état interne".
Nouveauté 16

Ouverture de l'état interne

Le menu contextuel du champ "Etat Interne" sous l'éditeur permet d'ouvrir directement l'état interne grâce à l'option "Ouvrir l'état interne".

Ouverture de l'état interne

Le menu contextuel du champ "Etat Interne" sous l'éditeur permet d'ouvrir directement l'état interne grâce à l'option "Ouvrir l'état interne".
Liste des exemples associés :
WD Etats Exemples didactiques (WINDEV) : WD Etats
[ + ] Cet exemple montre les différentes méthodes pour réaliser un état :

- impressions basées sur différentes sources de données (requêtes, variables, ...)
- impressions basées sur des champs (Table, Tableur, TCD, ...)
- impression d'états composés
- impressions spécifiques (portrait / paysage, état avec filigrane, état avec code-barres, ...)
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire