4D View v14PV ETAT MULTIPLE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v14
PV ETAT MULTIPLE
|
PV ETAT MULTIPLE ( zone ; colonne ; ligne ; primaire ; tableRupture ; champRupture ; tabOpérations ; tabTables ; tabChamps ; insérer ; corps ; titre ) | ||||||||
Paramètre | Type | Description | ||||||
zone | Entier long |
![]() |
Zone 4D View | |||||
colonne | Entier long |
![]() |
Numéro de colonne | |||||
ligne | Entier long |
![]() |
Numéro de ligne | |||||
primaire | Entier |
![]() |
Numéro de table primaire | |||||
tableRupture | Entier |
![]() |
Numéro de table sur laquelle porte la rupture | |||||
champRupture | Tableau |
![]() |
Numéro de champ sur lequel porte la rupture | |||||
tabOpérations | Tableau entier |
![]() |
Opérations à effectuer | |||||
tabTables | Tableau entier |
![]() |
Numéros de tables des champs à afficher | |||||
tabChamps | Tableau entier |
![]() |
Numéros des champs à afficher | |||||
insérer | Entier |
![]() |
0 = Remplacer, 1 = Insérer lignes | |||||
corps | Entier |
![]() |
Mode d'affichage du corps | |||||
titre | Chaîne |
![]() |
Mode d'affichage du titre des ruptures | |||||
La commande PV ETAT MULTIPLE crée un état dans la zone 4D View en utilisant les valeurs issues des champs 4D définis par tabTables et tabChamps à partir de la sélection courante de la table primaire. Il est possible d'appliquer à chacun de ces champs une opération, définie par tabOpérations : sous-total, nombre, maximum, etc. Pour définir le paramètre tabOpérations, utilisez les constantes du thème PV États calculs :
Constante | Type | Valeur |
pv état calcul aucun | Entier long | -1 |
pv état calcul max | Entier long | 3 |
pv état calcul min | Entier long | 2 |
pv état calcul moyenne | Entier long | 1 |
pv état calcul nombre | Entier long | 4 |
pv état calcul somme | Entier long | 0 |
Le résultat généré est affiché dans la zone à partir de la cellule désignée par colonne et ligne.
Les paramètres tableRupture et champRupture désignent le champ sur lequel la séquence de rupture sera effectuée. Les ruptures permettent de séparer les enregistrements en groupes homogènes et d’effectuer des calculs intermédiaires pour chaque groupe.
Une rupture est un changement de valeur dans une table de tri. Il est impératif d’associer ce niveau de rupture à un critère de tri. Le tri de la sélection d’enregistrements de tableRupture sur champRupture est donc nécessaire avant d’utiliser la commande PV ETAT MULTIPLE. Il peut y avoir des critères de tri supplémentaires, qui ne seront pas pris en compte dans la rupture. Pour plus d’informations sur la construction d’états avec ruptures, reportez-vous au manuel Mode Développement de 4D.
Le paramètre insérer détermine si les données placées dans la zone 4D View par cette commande doivent remplacer les cellules éventuellement présentes ou être insérées dans de nouvelles lignes. Si vous passez 0, les données sont effacées et remplacées. Si vous passez 1, des lignes supplémentaires sont insérées.
Le paramètre corps vous permet de définir le mode d'affichage des zones de corps et de rupture de l'état :
Le paramètre titre permet de définir le libellé des lignes de résultat (par exemple "Total", "Moyenne", etc.). A l'instar de l'éditeur d'états semi-automatiques de 4D, vous pouvez utiliser le caractère dièse (#) afin d'afficher la valeur de rupture courante. Par exemple, si le champ “Pays” est votre champ de rupture, vous pouvez saisir "Moyenne # :" dans le paramètre titre afin d'obtenir les libellés “Moyenne France : ”, “Moyenne USA : ”, etc. Passez une chaîne vide si vous souhaitez pas insérer de titre.
Note : Si le paramètre corps vaut 0 et que le titre est une chaîne vide, la première colonne de l'état est omise (elle serait alors vide).
Affichons, dans une zone 4D View incluse dans le formulaire de saisie des clients, un état des contacts liés à ce client, avec une rupture indiquant le nombre de contacts pour chaque titre : secrétaire, développeur, service documentation, etc. Un lien automatique existe entre la table des contacts et celle des titres.
C_ENTIER LONG($Colonne) `Numéro de colonne
C_ENTIER LONG($Ligne) `Numéro de ligne
C_ENTIER($Primaire) `Numéro de table primaire
C_ENTIER($TableRupture) `Numéro de table sur laquelle porte la rupture
C_ENTIER($ChampRupture) `Numéro de champ sur lequel porte la rupture
TABLEAU ENTIER($TabOpérations;3) `Opérations à effectuer
TABLEAU ENTIER($TabTables;3) `Numéros de tables des champs à afficher
TABLEAU ENTIER($TabChamps;3) `Numéros des champs à afficher
C_ENTIER($Insérer) `0=Remplacer;1=Insérer lignes
C_ENTIER($Corps) `Option d'affichage du corps
C_ALPHA(30;$Titre) `Titre de la ligne de résultat
`Initialisations
$Colonne:=4 `Affichage à partir de la colonne D
$Ligne:=3 `Affichage à partir de la 3ème ligne (Titre + ligne blanche)
$Primaire:=Table(->[Contacts]) `C'est un "état" de la table des contacts
$TableRupture:=Table(->[Titres])
$ChampRupture:=Champ(->[Titres]Libellé) `La rupture portera sur le titre des contacts
`Affichons dans la colonne 1 le nombre pour chaque type
$TabOpérations{1}:=pv état calcul nombre
$TabTables{1}:=Table(->[Titres])
$TabChamps{1}:=Champ(->[Titres]Libellé) `Libellé du titre colonne 1
$TabOpérations{2}:=pv état calcul aucun `Aucun calcul dans la colonne 2
$TabTables{2}:=Table(->[Contacts])
$TabChamps{2}:=Champ(->[Contacts]NomDuContact) `Nom du contact colonne 2
$TabOpérations{3}:=pv état calcul aucun `Aucun calcul dans la colonne 3
$TabTables{3}:=Table(->[Contacts])
$TabChamps{3}:=Champ(->[Contacts]PrénomDuContact) `Prénom du contact colonne 3
$Insérer:=1 `Insertion demandée
$Corps:=2 `Affichage lignes de corps, les valeurs de rupture ne sont affichées qu'une fois
$Titre:="Nombre de contacts pour #" `Le # sera remplacé par la valeur de rupture courante
LIEN RETOUR([Clients]Code) `Récupère les contacts du client
`Tri nécessaire à la rupture + affichage par ordre alphabétique
TRIER([Contacts];[Titres]Libellé;[Contacts]NomDuContact;[Contacts]PrénomDuContact)
PV ETAT MULTIPLE(Zone;$Colonne;$Ligne;$Primaire;$TableRupture;$ChampRupture;
$TabOpérations;$TabTables;$TabChamps;$Insérer;$Corps;$Titre)
La sélection dépendra des liens entre tables au niveau de la structure de la base, des numéros de champs et de tables passés en paramètres à la commande.
Produit : 4D View
Thème : PV Valeur de cellule
Numéro :
15904
Nom intl. : PV REPORT MANY
Créé : 4D View 6.8
PV ETAT SIMPLE
PV TABLEAU VERS CELLULES
4D View - Langage ( 4D View v11.4)
4D View - Langage ( 4D View v12)
4D View - Langage ( 4D v13)
4D View - Langage ( 4D View v14 R2)
4D View - Langage ( 4D View v14)
4D View - Langage ( 4D View v14 R3)
4D View - Langage ( 4D View v14 R4)