Page 1 sur 1

[Résolu]Initialiser valeur champs formulaire

MessagePublié: 28 Oct 2011 à 12:18
par Bing [Bot]
Bonjour,
un truc bête me direz vous !
je voudrais initialiser les valeur des champs au chargement d'un formulaire!
Je sais qu'il faut passer en front-end puisque le form n'est pas encore créé donc pas de ui!
J'ai déclaré mes variables dans le [globals] du form, puis dans le (Masque) form:
Set s = New NotesSession
Set gdb=s.CurrentDatabase
Set ws=New NotesUIWorkspace
Set guidoc=ws.CurrentDocument
Set gdoc=guidoc.Document
gdoc.ficheExtok="0"

FicheOK est calculé!
En mode débug la valeur du champ est bien à 0 mais quand le form est chargé et que je veux tester la valeur elle est a "".
Quelle est la meilleur solution pour initialiser des valeurs de champs?
Merci!
cdt
camille

MessagePublié: 28 Oct 2011 à 12:22
par Michael DELIQUE
salut

tu as plus simpe, tu vas dans ton masque, pour chaque champ tu as une option "valeur par defaut" et hop

deplus dans ton code tu mélange programation frontal et dorsal je tu sugère de tout faire en frontal

MessagePublié: 01 Nov 2011 à 00:09
par Bing [Bot]
Michael DELIQUE a écrit:salut

tu as plus simpe, tu vas dans ton masque, pour chaque champ tu as une option "valeur par defaut" et hop

deplus dans ton code tu mélange programation frontal et dorsal je tu sugère de tout faire en frontal


Merci!
En fait j'ai remarqué que parfois on accédait pas aux champs en Front-end!! Erreur champ inexistant alors que bien présent dans le masque!
ou quand je test une valeur d'un champ du style
if doc.FieldGettext("nomchamp")=valeur[code][/code]
cdt
camille

Re: Initialiser valeur champs formulaire

MessagePublié: 02 Nov 2011 à 09:25
par roubech
camille a écrit:Je sais qu'il faut passer en front-end puisque le form n'est pas encore créé donc pas de ui!


FrontEnd = UI : NotesUIWorkspace, NotesUIDocument, ...
BackEnd = NotesSession, NotesDocument, ...

Et en effet, si tu mets du code dans le QueryOpen d'un masque par exemple, ton masque n'est pas encore affiché à l'écran, donc pas accès aux champs avec uidoc.FieldGetText

par contre, sur le PostOpen, tu y as accès, à condition bien sur que ce champ soit éditable. S'il s'agit d'un champ calculé, calculé à l'affichage ou à la création, d'un point de vue UI, il n'est pas géré comme un champ éditable, donc pas de méthode GetFieldText dispo

Pour en revenir à la valeur par défaut, pour la création d'un nouveau doc, idem que Michael : utilisé la propriété "valeur par défaut" du champ
Certes il existe d'autres cas, comme par exemple un champ qui ne s'affiche qu'à partir d'une certaine étape du workflow et pour laquelle la valeur par défaut dépend d'autres champs saisis dans les étapes précédentes du workflow ... dans ce cas, il faut préciser ton contexte, mais en général on positionne la valeur l'ors du changement d'état précédent.