DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur d'états / Blocs d'un état
  • Présentation
  • Création du bloc Itération
  • Imprimer un bloc Itération
  • Remplacer un bloc existant
  • Ajouter un bloc supplémentaire à l'état
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
Le bloc Itération est un bloc libre, créé manuellement sous l'éditeur d'états. Il peut être utilisé comme n'importe quel autre type de bloc. Par exemple, un bloc Itération peut être utilisé pour remplacer un bloc Entête de page pour différencier les pages paires et les pages impaires.
La substitution de blocs est réalisée en programmation grâce à la fonction iSubstBloc. Il est également possible d'imprimer un bloc spécifique grâce à la fonction iImprimeBloc.
Remarque : A partir de la version 19, les plans sont disponibles dans les états. Dans la majorité des cas, l'utilisation des plans dans les états permet de remplacer l'utilisation des blocs d'itération. L'utilisation des plans dans les états est plus simple que l'utilisation des blocs d'itération. Pour plus de détails, consultez Les plans.
Création du bloc Itération
Pour créer un bloc Itération :
  1. Effectuez une des manipulations suivantes sous l'éditeur d'états :
    • sous le volet "Création", dans le groupe "Structure", déroulez "Blocs".
    • sélectionnez l'option "Ajouter un bloc" du menu contextuel de l'état (clic droit sur l'état en cours de création).
    • cliquez sur le bouton "Ajouter un bloc" dans l'onglet "Blocs" de la description de l'état.
  2. Sélectionnez le type "Bloc d'itération".
Remarque : Par défaut, les blocs d'itération sont affichés selon l'ordre de création des blocs. Il est possible de modifier cet ordre sous l'éditeur. Pour plus de détails, consultez Manipulations des blocs d'un état.
Imprimer un bloc Itération
Un bloc Itération permet de :
  • remplacer un bloc existant.
  • ajouter un bloc supplémentaire à l'état.

Remplacer un bloc existant

La programmation nécessaire au remplacement d'un bloc existant est illustrée par l'exemple suivant :

Exemple

Le haut de page de mon état doit être différent pour les pages paires et les pages impaires.
Le bloc Haut de page (bloc "HautPage") correspond aux pages impaires (il sera imprimé sur la page 1,3,5, ...). Ce bloc sera donc imprimé sur la première page de mon état.
Le bloc Itération (bloc "Itération") correspond aux pages paires.
  1. Ajoutez si nécessaire un bloc Haut de page : sous le volet "Création", dans le groupe "Structure", déroulez "Blocs" et sélectionnez "Haut de page". Le nom de ce bloc est "HautPage".
  2. Personnalisez le bloc "HautPage" comme celui correspondant aux pages impaires.
  3. Dans l'événement "Après impression" du bloc "HautPage", saisissez le code suivant :
    // --Après impression de HautPage
    // Substitution du bloc HautPage par le bloc
    // Itération sur la prochaine page de mon état
    iSubstBloc(HautPage, Itération)
  4. Ajoutez si nécessaire un bloc Itération : sous le volet "Création", dans le groupe "Structure", déroulez "Blocs" et sélectionnez "Bloc d'itération". Le nom de ce bloc est "Itération".
  5. Personnalisez le bloc "Itération" comme celui correspondant aux pages paires.
  6. Dans l'événement "Après impression" du bloc "Itération", saisissez le code suivant :
    // --Après impression de Itération
    // Annulation de la substitution du bloc HautPage
    // par le bloc Itération sur la prochaine page de mon état
    iSubstBloc(HautPage, "")
Remarque : Pour substituer un bloc Bas de page, il est conseillé d'utiliser des blocs de même hauteur pour éviter des problèmes d'impression.

Ajouter un bloc supplémentaire à l'état

La programmation nécessaire à l'ajout d'un bloc Itération supplémentaire est illustrée par l'exemple suivant :

Exemple

L'état "ETAT_EtatProduit" imprime la description de chaque produit proposé à la vente (une rupture est effectuée sur "NumProduit"). Certains produits font l'objet d'une promotion. Dans ce cas, la rubrique "Promotion" du fichier de données "Produit" correspond à Vrai. Cette rubrique est de type booléen.
Pour les produits en promotion, le bloc "Itération" est ajouté à l'état. Ce bloc décrit le type de promotion s'appliquant au produit en cours (achat de deux produits pour le prix d'un, 20% du produit gratuit en plus, ...).
  1. Ajoutez si nécessaire un bloc "Itération" : sous le volet "Création", dans le groupe "Structure", déroulez "Blocs" et sélectionnez "Bloc d'itération". Le nom de ce bloc est "Itération".
  2. Personnalisez le bloc "Itération".
  3. Dans l'événement "Après impression" du bloc "Fin de rupture" de l'état, saisissez le code suivant :
    // --Après impression du Fin de rupture
    // Est-ce que le produit en cours d'impression est en promotion ?
    SI MaSource.Promotion = Vrai ALORS
    // Impression du bloc Itération
    iImprimeBloc("Itération")
    FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 13/04/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale