Page 1 sur 1

Refresh form en front-end

MessagePublié: 06 Mai 2013 à 00:29
par camilleB
Bonjour,
J'ai un document sur lequel je mets à jour un champ auteur par un agent.runOnserver (donc en back-end).
Après la mise à jour, le document est enregistré, fermé et réaffiché par:
Code : Tout sélectionner
doc.saveoptions="0
doc.save(true,false)
call uidoc.close(true)
msgbox "message apres le close"
Call agent.runonserver(param.noteid)
call ws.Editdocument (false,doc).

1. Le message s'affiche mais le form n'a pas le temps de disparaitre de la fenêtre!
2. Je dois fermer à nouveau le form pour rafraichir le champ et voir les nouvelles valeurs
D'après mes recherches Editdocument devrait permettre de rafraichir le front end.
Merci de votre aide.
cdt
camille

Re: Refresh form en front-end

MessagePublié: 06 Mai 2013 à 07:59
par Michael DELIQUE
Salut

essais cette function pour re-afficher ton uidoc

Code : Tout sélectionner
Public Function DocBackEndOnServer(wUIDoc As NotesUIDocument) As NotesDocument
   
   On Error Goto CatchError
   
   Set DocBackEndOnServer = Nothing
   
   If wUIDoc Is Nothing Then
      Error 9999,"wUIDoc is Nothing"
      Exit Function
   End If
   
   Set DocBackEndOnServer = wUIDoc.Document.ParentDatabase.GetDocumentByUNID(wUIdoc.Document.UniversalID)
   
   Exit Function
CatchError:
   MsgBox "("+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Error " + CStr(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Line # "+Cstr(Erl),16," ERROR !"
   Set DocBackEndOnServer = Nothing
   Exit Function
End Function

Re: Refresh form en front-end

MessagePublié: 06 Mai 2013 à 20:23
par camilleB
Salut,
j'ai mis ceci, mais toujours pas de refresh sans fermeture et réouverture manuellement:
Code : Tout sélectionner
doc.saveoptions="0
doc.save(true,false)
call uidoc.close(true)
msgbox "message apres le close"
Call agent.runonserver(param.noteid)
set doc=nothing
set doc=DocBackEndOnserver(uidoc)
call ws.Editdocument (false,doc).

Merci!

Camille

Re: Refresh form en front-end

MessagePublié: 06 Mai 2013 à 23:10
par roubech
Le runonserver ne rend pas la main tout de suite, avant même d'avoir exécuté le code ?

Re: Refresh form en front-end

MessagePublié: 06 Mai 2013 à 23:37
par camilleB
Salut, c'est le seul point en commun!
En code c'est plus rapide de fermer et ré-ouvrir qu'à la main!
Comment faire patienter....un timer?
cdt
camille

Re: Refresh form en front-end

MessagePublié: 07 Mai 2013 à 07:37
par Michael DELIQUE
salut

normalement le runonserver ne rend la main qu'apres la fin de l'execusion de l'agent non ?