DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur d'états / Manipulations sous l'éditeur
  • Présentation
  • Ajout d'une rupture
  • Présentation
  • Ajouter une rupture dans un état basé sur un fichier de données, une requête ou une zone mémoire
  • Ajouter une rupture dans un état basé sur un fichier texte, un champ Table ou une vue HFSQL
  • Evénement Rupture?
  • Saut de page
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
La rupture permet de grouper les enregistrements correspondant à un argument de tri. Pour chaque argument de tri, une rupture peut être demandée.
Par exemple, pour lister les clients par ville, il suffira de trier les clients par ville puis par nom et de faire une rupture sur la ville.
Etat avec rupture
L'ajout d'une rupture génère automatiquement les blocs Début de rupture et Fin de rupture. Ces blocs permettent par exemple de :
  • afficher le contenu de la rubrique de rupture (généralement dans le bloc Début de rupture).
  • réaliser des calculs sur les enregistrements de la rupture (généralement dans le bloc Fin de rupture).
Deux types de ruptures sont disponibles :
  • rupture automatique. La rupture est réalisée sur une rubrique appartenant à la source de données de l'état.
  • rupture programmée. La rupture est entièrement définie par programmation dans l'événement "Valeur de rupture" du bloc Début de rupture.
Ajout d'une rupture

Présentation

Selon la source de données de l'état, les opérations à effectuer pour ajouter une rupture ne sont pas les mêmes.
Deux cas se distinguent :
  • ajout d'une rupture dans un état basé sur un fichier de données, une requête ou une zone mémoire.
  • ajout d'une rupture dans un état basé sur un fichier texte, un champ Table ou une vue HFSQL.

Ajouter une rupture dans un état basé sur un fichier de données, une requête ou une zone mémoire

Pour ajouter une rupture dans un état basé sur un fichier de données, une requête ou une zone mémoire :
  1. Sous le volet "Création", dans le groupe "Structure", cliquez sur "Ruptures". La fenêtre suivante s'affiche :
    Gestion des tris et ruptures
    Les critères de tri de l'état sont listés sur la gauche. Les ruptures de l'état sont listées sur la droite.
  2. Pour ajouter :
    • une rupture basée sur un critère de tri : sélectionnez le critère de tri désiré et cliquez sur le bouton "Créer une rupture sur le tri sélectionné" ().
    • une rupture programmée : cliquez sur le bouton "Ajouter une rupture programmée" (Ajout dans la liste des ruptures). Le code de cette rupture programmée devra être saisi dans l'événement "Valeur de rupture" du bloc Début de rupture. Pour plus de détails sur les ruptures programmées, consultez le paragraphe Evénement Rupture?.
  3. Les ruptures seront réalisées selon leur ordre d'affichage. Modifiez si nécessaire cet ordre à l'aide des boutons fléchés à droite du tableau.
  4. Validez l'ajout de la nouvelle rupture.
Remarque : Lors de l'ajout d'une nouvelle rupture, les blocs Début de rupture et Fin de rupture sont automatiquement créés.

Ajouter une rupture dans un état basé sur un fichier texte, un champ Table ou une vue HFSQL

Pour ajouter une rupture dans un état basé sur un fichier texte, un champ Table ou une vue HFSQL :
  1. Sous le volet "Création", dans le groupe "Structure", cliquez sur "Ruptures". La fenêtre suivante s'affiche :
    Liste des ruptures
  2. Cliquez sur le bouton "Ajouter une rupture" (Ajout).
  3. Pour ajouter :
    • une rupture basée sur une rubrique : sélectionnez la rubrique désirée et validez.
    • une rupture programmée : sélectionnez l'option "(Aucune rubrique)" et validez. Le code de cette rupture programmée devra être saisi dans l'événement "Valeur de rupture" du bloc Début de rupture. Pour plus de détails sur les ruptures programmées, consultez le paragraphe Evénement Rupture?.
  4. Les ruptures seront réalisées selon leur ordre d'affichage. Modifiez si nécessaire cet ordre à l'aide des boutons fléchés à droite du tableau.
  5. Validez l'ajout de la nouvelle rupture.
Remarque : Lors de l'ajout d'une nouvelle rupture, les blocs Début de rupture et Fin de rupture sont automatiquement créés.
Evénement Rupture?
Si votre état comprend une ou plusieurs ruptures programmées, l'événement "Rupture?" est associé au bloc Début de rupture.
Cet événement permet d'utiliser une rupture programmée. Deux types de programmation de rupture peuvent être mis en place :
  • l'événement renvoie Vrai ou Faux (Vrai pour effectuer la rupture, Faux pour ne pas effectuer la rupture).
  • l'événement renvoie la valeur de la rupture. Si la valeur change, la rupture est automatiquement réalisée par l'état (voir exemple ci-dessous).
    La valeur de la rupture peut correspondre à la valeur d'une rubrique, d'un champ de l'état, d'une variable, ...
Remarque : Si la valeur de la rupture correspond à la valeur d'un champ de l'état, la valeur retournée sera fausse si ce champ est contenu dans le bloc Corps de l'état. En effet, l'événement de rupture est exécuté avant le remplissage des champs présents dans le bloc Corps. Dans ce cas, il suffit de renvoyer la valeur de la rubrique liée au champ.
// -- Code de rupture
nFournisseur est un entier = 0
// Récupérer l'identifiant du fournisseur
nFournisseur = ExtraitChaîne(gfsLigne, 1, TAB)
// Rechercher le nom du fournisseur
HLitRecherchePremier(Fournisseur, NumFournisseur, nFournisseur)
SI HTrouve() = Vrai ALORS
// Initialiser le champ
NomFournisseur = Fournisseur.Société
FIN
// Renvoyer l'identifiant du fournisseur
RENVOYER nFournisseur

Important : Le code de rupture est exécuté uniquement si la rupture correspondante est une rupture programmée (non reliée à un critère de tri).
Saut de page
Pour réaliser un saut de page à la suite d'une rupture :
  1. Ouvrez la fenêtre de description du bloc "Fin de rupture" (option "Description" du menu contextuel).
  2. Dans l'onglet "UI", sélectionnez l'option "Saut de page après le bloc".
Remarque : Il est également possible d'effectuer ce saut de page par programmation :
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 14/06/2022

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