Page 1 sur 1

Editer un document en Web

MessagePublié: 03 Déc 2009 à 18:24
par az
Bonjour,
J'ai un doc qui est enregistré dans ma base et je voudrais l'afficher dans le navigateur en edition pour modification.
Mais aucune modification n'est prise en compte, je ne comprends pas se qui ce passe...
L'agent accéde bien au document, mais pas possible de l'enregistrer.
L'agent est signé avec des droits d'admin.
Le document contient des champs auteurs et lecteurs correctement renseignés.
Dans L'agent le DocCourant ne raméne rien, c'est à dire:
DocAEnregistrer.unChamp = DocCourant.unChamp(0)

Merci de votre aide.

Je l'ouvre avec : http://monserveur/mabase/vCourrierRelan ... itDocument

Puis je lance un agent LS déclenché par un bouton:
Code : Tout sélectionner
On Error Goto Erreur
Dim Session As New NotesSession
Dim DbCourant As NotesDataBase
Dim DocCourant As NotesDocument
Dim DocAEnregistrer As NotesDocument

Dim CheminBase As String
Dim URLAccueil As String     
Dim ID As String
Dim Pos As Integer
Dim Lg As Integer

'---------------------------------------------------------------------------
Set DocCourant = Session.DocumentContext     
Set DbCourant = DocCourant.ParentDatabase
'Récupération du document
Pos=Instr(1,DocCourant.Query_String(0),"&")
Lg=Len(DocCourant.Query_String(0))     
ID=Right(DocCourant.Query_String(0),Lg-Pos)
Set DocAEnregistrer = DbCourant.GetDocumentByUNID( ID$)      
URLAccueil="mrecherche?OpenForm"
CheminBase={/} & DbCourant.FilePath & {/} 
DocAEnregistrer.objet=DocCourant.objet(0)
Call DocAEnregistrer.ComputeWithForm(False,False)
Call DocAEnregistrer.Save(True,True)
Print {[} + CheminBase + "vCourrierRelance/" + DocAEnregistrer.docid(0)+ "?OpenDocument" +{]}
Exit Sub
Erreur :
Messagebox "Agent MajCourrierRelance / L´erreur n°" & Str(Err) & "est survenue : " & Error$ & ", ligne " & Erl
Resume fin
   
fin :
End Sub

MessagePublié: 03 Déc 2009 à 21:17
par roubech
si tu souhaites juste enregistrer les champs saisie par l'utilisateur, il n'y a rien à faire

l'utilisateur arrive sur la page comme tu l'as indiqué avec une url du genre ... vue/cle?EditDocument
il rempli les champs et clique sur un bouton codé en HTML input type=submit
soit généré "à la main", soit sumplement avec un bouton créé via designer avec le code en @Formula @command([FileSave]); @command([FileClose])

ensuite, si tu veux renvoyer sur une page précise, ou le même doc en lecture, tu peux ajouter un champ $$Return dans le masque avec la formule adéquate
sinon, si tu veux faire quelques traitements intermédiare, tu peux créer un agent LS que tu appelles dans l'événement WebQuerySave du masque

MessagePublié: 03 Déc 2009 à 21:40
par Michael DELIQUE
salut

a moins que ton agent ne soit lancé par le webqueryseve, le doccontext est celui de l'agent !

MessagePublié: 04 Déc 2009 à 11:15
par az
Merci,

Les @Command ne marchent pas en web, ça me génére une erreure.
J'ai finalement utilisé le lancement de l'agent dans le Webquerysave et ça marche.

Merci encore, ce forum est vraiment utile, continuez...

MessagePublié: 04 Déc 2009 à 12:17
par AlexandreV
az a écrit:Les @Command ne marchent pas en web, ça me génére une erreure.


Normalement, cela fonctionne (au moins la commande indiquée ce-dessus).

MessagePublié: 04 Déc 2009 à 12:21
par Michael DELIQUE
sinon

un submit en java script !