Page 2 sur 2

Publié:
25 Nov 2010 à 17:26
par Michael DELIQUE
la ligne à changer
Call ws.DialogBox("CBP-BoiteSaisieTraitementRFI",True,True,False,False,False,False,"Titre",Doc)

Publié:
25 Nov 2010 à 17:32
par clementbp
He ben voila c'est parfait
Merci par contre je vais essayer de trouver la signification des différents parametres mais en tout cas merci beaucoup

Publié:
25 Nov 2010 à 17:33
par Michael DELIQUE
re,
l'aide en ligne te donnera toutes les explications

Publié:
25 Nov 2010 à 17:44
par clementbp
Juste un truc
Comment on peut dire que quand on clique sur Annuler dans la boite de dialogue, le reste de l'agent ne s execute pas ?

Publié:
25 Nov 2010 à 17:47
par Michael DELIQUE
re,
qqc comme
- Code : Tout sélectionner
if ws.DialogBox("CBP-BoiteSaisieTraitementRFI",True,True,False,False,False,False,"Titre",Doc) = false then
exit sub
end if
l'aide en ligne te donnera plus de précision

Publié:
25 Nov 2010 à 17:56
par clementbp
Merci c'est parfait maintenant
L'aide en ligne c'est "Table des matières de l'aide" dans le menu "Aide" de Designer ?
Par ce que je vois pas tous ces paramètres dans l'aide moi, ( à part dans les exemples)
En tout cas merci pour ton aide

Publié:
26 Nov 2010 à 02:28
par roubech

Publié:
26 Nov 2010 à 16:01
par JfCt
Bonjour
Cela vient de ce que tu es pas positionne sur le bon document quand tu ouvres la boite de dialogue.
En effet, quand tu fais un set doc=collection.getfirstdocument, tu as bien le premier document que tu as selectionne, le premier qui est coche dans la marge.
Par contre, quand tu ouvres la dialogbox, le document qui est associe a cette dialogbox n'est pas celui que tu crois (le doc precedent), mais le document courrant dans la vue, donc celui qui est encadre dans la vue.
J'ai fait le test avec le script ci dessous (voir les commentaires) :
Sub Click(Source As Button)
Dim Session As New NotesSession
Dim Db As NotesDatabase
Dim Ws As New NotesUIWorkspace
Dim UiView As NotesUIView
Dim Collection As NotesDocumentCollection
Dim Doc As notesdocument
Dim Temp As String
Set Db=Session.currentdatabase
Set UiView=Ws.CurrentView
Set Collection=UiView.Documents
' Se positionner sur le document courant dans la vue (l'encadre)
Set Doc=Db.GetDocumentByID(UiView.CaretNoteID)
' Ouvrir la dialogbox sur ce document
Call Ws.DialogBox ("TEST", True, True, False, False, False, False, "TEST", Doc)
' Recuperer la valeur saisie dans le champe de la dialogbox
Temp=Doc.Categorie(0)
' Se positionner sur le 1er document de la collection, donc le premier doc coche dans la vue
Set Doc=Collection.Getfirstdocument
' La bouche de traitement des documents selectionnes (coches)
While Not Doc Is Nothing
Doc.Toto=Temp
Call doc.Save( True, True )
Set Doc=Collection.getnextdocument(Doc)
Wend
' Decocher tous les docs en sortant
Call UiView.DeselectAll
End Sub
PS : ne pas oublier d'ajouter le traitemenr d'erreur .....

Publié:
26 Nov 2010 à 22:07
par roubech
@JfCt : perso , je n'utiliserai pas un doc de la vue pour faire la saisie dans la boite de dialogue
je préfère créer un doc temporaire (en mémoire uniquement)
[syntax="LotusScript"]set docTemp = new NotesDocument(db)
Call ws.DialogBox ("TEST", True, True, False, False, False, False, "TEST", docTemp)[/syntax]

Publié:
29 Nov 2010 à 17:52
par JfCt
Bonsoir
Oui .. possible aussi.
Si tu prends le doc de la vue, c'est pas genant tant que tu fais pas un save.
Mais tu as raison, cela marche aussi avec un doc temporaire, qu'il faut de toute facon n e pas sauvegarder non plus !!
Le principal est en fait d'avoir un doc autre qu'un de ceux selectionnes dans la vue pour ouvrir la boite de dialogue.