4D v16.3

Sous total

Accueil

 
4D v16.3
Sous total

Sous total 


 

Sous total ( valeurs {; sautPage} ) -> Résultat 
Paramètre Type   Description
valeurs  Champ in Champ ou variable numérique dont vous voulez calculer le sous-total
sautPage  Entier long in Niveau de rupture auquel effectuer un saut de page
Résultat  Réel in Sous-total de valeurs

Sous total retourne le sous-total de valeurs pour le niveau de rupture courant ou précédent. Sous total ne fonctionne que dans le cadre d'une sélection triée imprimée par l'intermédiaire de la commande IMPRIMER SELECTION ou de la commande de menu Imprimer du mode Développement. Le paramètre valeurs doit être de type numérique, entier ou entier long. Vous devez assigner le résultat de la fonction Sous total à une variable placée dans la zone de rupture du formulaire.

Attention : Vous devez utiliser les commandes NIVEAUX DE RUPTURES et CUMULER SUR avant d'imprimer un état sur lequel vous voulez traiter les niveaux de rupture et calculer des sous-totaux. Reportez-vous au paragraphe situé à la fin de cette section.

Le second paramètre (optionnel) de la fonction Sous total est utilisé pour provoquer des sauts de page lors de l'impression. Si sautPage vaut 0, Sous total ne génère aucun saut de page. Si sautPage vaut 1, Sous total génère un saut de page pour chaque niveau de rupture 1. Si sautPage vaut 2, Sous total génère un saut de page pour chaque niveau de rupture 1 et 2, etc.

Conseil : Si vous faites appel à la fonction Sous total dans le formulaire sortie affiché à l'écran, 4D va afficher un message d'erreur. La fermeture du dialogue d'erreur va provoquer un rafraîchissement de l'écran, donc de nouveau l'exécution de la méthode qui fait appel à Sous total, donc de nouveau un message d'erreur, etc. Pour sortir de ce cercle vicieux, appuyez sur les touche Alt + Maj (Windows) ou Option+Maj (Macintosh) et cliquez sur le bouton Arrêter dans la fenêtre d'erreur : cela met provisoirement fin aux rafraîchissements d'écran. Choisissez un autre formulaire de sortie pour éviter que le problème ne se répète. Passez en mode Structure pour isoler l'appel à la fonction Sous total par un test (Evenement formulaire = Sur impression sous total) si vous avez l'intention d'utiliser le même formulaire de sortie pour l'écran et l'imprimante.

Exemple  

L'exemple suivant est la méthode objet d'une variable intitulée vSalaire, placée dans une zone de rupture d'un formulaire (R0, la zone située au-dessus du marqueur R0). La variable prend la valeur du sous-total du champ Salaire pour ce niveau de rupture. Le traitement des ruptures doit avoir été auparavant activé par les commandes NIVEAUX DE RUPTURES et CUMULER SUR.

 Au cas ou
    :(Evenement formulaire=Sur impression sous total)
       vSalaire:=Sous total([Employés]Salaire)
 Fin de cas

Reportez-vous au chapitre "Les formulaires de sortie et les états" du manuel Mode Développement pour plus d'informations sur la construction de formulaires avec des niveaux de ruptures.

Pour pouvoir générer des états avec ruptures, vous devez déclencher le traitement des ruptures en appelant les commandes NIVEAUX DE RUPTURES et CUMULER SUR. Il faut que ces deux commandes soient appelées avant l'impression du formulaire. L'appel à la fonction Sous total est nécessaire pour afficher les calculs de niveaux intermédiaires. Il est obligatoire de trier sur au moins le nombre de niveaux de ruptures désiré.

Dans le cadre de l'utilisation des commandes NIVEAUX DE RUPTURES et CUMULER SUR, les étapes à suivre sont :
1. Sélectionner les enregistrements à imprimer,
2. Trier les enregistrements sur autant de niveaux que de niveaux de ruptures,
3. Appeler les commandes NIVEAUX DE RUPTURES et CUMULER SUR,
4. Imprimer l'état avec la commande IMPRIMER SELECTION.

La commande Sous total permet d'afficher des calculs de sous-totaux dans des formulaires.



Voir aussi  

CUMULER SUR
IMPRIMER SELECTION
Niveau
NIVEAUX DE RUPTURES

 
PROPRIÉTÉS 

Produit : 4D
Thème : Impressions
Numéro : 97
Nom intl. : Subtotal

Cette commande ne peut pas être utilisée avec 4D Server

 
HISTORIQUE 

Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)