7. Les nouveaux comportements▲
7-1. Les éditeurs de formules▲
Les méthodes projets ne sont plus visibles dans les éditeurs de formules.
Vous devez expressément les autoriser avec la commande FIXER METHODES AUTORISEES,
pour la session courante :
2.
3.
FIXER METHODES AUTORISEES
(
TabMéthodes)
LIRE METHODES AUTORISEES
(
TabMéthodes)
EDITER FORMULE
(
Table
;
Formule)
Exemple :
2.
3.
4.
5.
6.
7.
8.
9.
10.
TABLEAU ALPHA(
15
;
tabméthodes;
2
)
tabméthodes{1
}:=
"Formule@"
tabméthodes{2
}:=
"Total général"
FIXER METHODES AUTORISEES
(
tabméthodes)
$maFormule
:=
""
EDITER FORMULE
([
Salaires];
$maFormule
)
Si
(
OK=
1
)
APPLIQUER A SELECTION
([
Salaires];
EXECUTER(
$maFormule
))
Fin de si
7-2. Harmonisation du fonctionnement des formulaires sortie...▲
... en mode utilisation,
en mode menus créés, des sous-formulaires.
Trois modes de sélection sur toutes les listes :
• Aucun
· Pas de définition du UserSet
· Pas de génération Sur nouvelle sélection
• Ligne unique
· Pas de définition du UserSet
· L'enregistrement devient l'enregistrement courant
· Flèche HAUT et BAS
· CTRL+CMD CLIC inverse la sélection
· Sur nouvelle sélection générée à chaque changement d'enregistrement courant
• Multiligne
· UserSet disponible
(attention : pour un sous-formulaire on récupère
l'ensemble utilisateur avec la commande LIRE ENREGISTREMENTS MARQUES - voir ci-après).
· Un clic ne modifie pas l'enregistrement courant
· Flèche HAUT et BAS
· CTRL/CMD clic ou SHIFT clic pour la multisélection
· Sur nouvelle sélection générée à chaque changement d'enregistrement sélectionné
· Si paramètre SaisieListe à Vrai ou Saisissable en liste coché,
l'ajout et la modification s'effectuent en Liste, sinon en Page.
7-3. Nouveautés concernant les Formulaires Sortie▲
• Plus de bouton "QUITTER LA LISTE "
• Tous types d'objets actifs : en entête, corps, rupture, pied de page
• Les actions standards "Ajouter sous-enregistrement" et "Modifier sous-enregistrement" fonctionnent désormais
aussi pour les formulaires sortie
7-4. Nouveaux événements liés aux listes▲
• Sur chargement ligne :
au moment du passage en édition en Saisie en Liste
• Sur nouvelle selection :
modification de l'enregistrement courant ou modification de la sélection courante dans un formulaire
liste, un sous-formulaire ou une ListBox
7-5. Nouvelles commandes liées aux listes▲
• LIRE ENREGISTREMENTS MARQUES ({Table;}Nom de l'ensemble)
· Nom de l'ensemble : ensemble dans lequel on recopie la sélection Utilisateur
· Peut s'utiliser dans plusieurs sous-formulaires puisqu'on indique le nom de la table.
· L'ensemble peut être Local/client, process ou interprocess
• DEFILER LIGNES ({*;}objet|Table{;Position{;*}})
· * objet sous formulaire (chaîne)
· * affiche la ligne en première position après défilement
· Permet de faire défiler les lignes d'un sous-formulaire ou d'un formulaire sortie via les commandes
MODIFIER SELECTION ou VISUALISER SELECTION
· Position est optionnel car s'il n'est pas indiqué, la commande se positionne sur le premier enregistrement
sélectionné
7-6. Commandes modifiées liées aux listes▲
• ALLER DANS SELECTION ({Table;}Position)
· permet désormais de désélectionner tous les enregistrements d'une liste en passant Position à 0
• MARQUER ENREGISTREMENT({Table}{; Ensemble{;*})
· {Table} peut être la table d'un sous-formulaire
· Inactive le défilement automatique de la liste pour autoriser la gestion
personnalisée via DEFILER LIGNES
7-7. Commandes modifiées pour la Saisie en liste▲
La saisie en liste est désormais disponible dans tous les types de listes d'enregistrements.
VISUALISER SELECTION ({Table}{;ModeSélection{;SaisieListe{;*{;*}}}})
MODIFIER SELECTION ({table}{;ModeSélection{;SaisieListe{;*{;*}}}})
· Mode sélection : 0 Pas de sélection, 1 sélection unique, 2 sélection multiple
· Saisie Liste : vrai ou faux (faux par défaut)
7-8. Nouveautés concernant les sous-formulaires▲
• Barre de défilement horizontale
• Gestion du double-clic sur ligne
· Ne rien faire
· Modifier l'enregistrement
· Afficher l'enregistrement
• Double-clic sur ligne vide (bases converties uniquement)
· Ne rien faire
· Ajouter enregistrement (si Saisissable en liste : en Formulaire sortie sinon en Formulaire entrée)
• L'objet sous-formulaire est focusable
• Plus de triangle clignotant
Comparatif des propriétés du sous-formulaire sous 4D 2004 et versions précédentes :
Propriétés 4D des versions précédentes | Propriétés 4D de la version 2004 | ||
---|---|---|---|
Saisissable | Saisissable et double cliquable | Focusable Saisissable en liste Mode de sélection Double clic sur ligne Double clic sur ligne vide |
oui oui aucun modifier enrg ajouter enrg |
Saisissable et non double cliquable | Focusable Saisissable en liste Mode de sélection Double clic sur ligne Double clic sur ligne vide |
oui oui aucun ne rien faire ne rien faire |
|
Sélectionnable | Sélectionnable et double cliquable | Focusable Saisissable en liste Mode de sélection ligne Double clic sur ligne Double clic sur ligne vide |
non non unique afficher enrg ne rien faire |
Sélectionnable et non double cliquable | Focusable Saisissable en liste Mode de sélection ligne Double clic sur ligne Double clic sur ligne vide |
non non unique ne rien faire ne rien faire |
|
Non modifiable | Focusable Saisissable en liste Mode de sélection Double clic sur ligne Double clic sur ligne vide |
non non aucun ne rien faire ne rien faire |
La propriété "Double-clic sur ligne vide" ne devrait apparaître que dans les
bases converties, pour assurer la compatibilité avec les anciens fonctionnements.
Propriété qu'il est déconseillé d'utiliser, conformément aux préconisations d'ergonomie de l'OS.
• Si le double-clic sur ligne vide ne doit plus permettre l'ajout, vous pouvez le gérer par :
· Soit par des boutons dans le formulaire principal
· Soit par des boutons dans l'en-tête et la zone de rupture du formulaire inclus
· Soit par des boutons dans le pied de page du formulaire principal
• L'enregistrement courant n'est plus chargé
Tout affichage ou rafraîchissement de l'affichage (ou prise de focus par un objet 4D sur le formulaire) provoqué par le système décharge l'enregistrement courant mais conserve le pointeur d'enregistrement courant :
SOLUTION :
utilisez la commande CHARGER ENREGISTREMENT
• L'événement "Sur affichage corps" est généré aussi pour les lignes vides
Ceci signifie qu'une variable sera affichée jusqu'en bas de la liste,
ce qui n'était pas le cas auparavant.
SOLUTIONS :
(en faisant un test supplémentaire)
2.
3.
Si
(
Enregistrement charge
([
Table
]))
…
Fin de si
Ou
2.
3.
4.
5.
6.
7.
$n
:=
Numero de ligne affichee
$p
:=
Enregistrements trouves
([
Clients])
Si
(
$n
>
$p
)
CHOIX VISIBLE (*;
"Popup@"
;
Faux
)
Sinon
CHOIX VISIBLE (*;
"Popup@"
;
Vrai
)
Fin de si
• Affichage des objets situés de l'en-tête à la zone de rupture
• Affichage des lignes vides
• Visibilité des objets en fonction de leur sélection
• Tous types d'objets actifs dans l'en-tête et en zone de rupture
• Déclenchement des événements formulaires
· Dans les versions inférieures à 4D 2004 :
Trigger
Méthode formulaire Sur affichage corps
· En 4D 2004 (bases créées ET converties)
(fonctionnement identique à un MODIFIER SELECTION ou VISUALISER SELECTION)
Méthode objet Sur entête
Méthode formulaire Sur entête
Méthode objet Sur affichage corps
Méthode formulaire Sur affichage corps