Page 1 sur 1

Mise à jour Document en LS

MessagePublié: 16 Déc 2011 à 17:12
par edcj
Bonjour à tous,
J' ai des cases à cocher sur des documents déjà enregistrés, pour un nouveau traitement j'ai ajouter des alias, je souhaite relire tous mes documents et les réenregistrer par un agent pour prendre la modif de l'alias.
J'ai essayé un agent avec des commandes (editdocument, filesave) mais çà ne fonctionne. J'ai aussi essaye un agent en ls, mes champs ne sont pas modifiés.
Pouvez vous m'aider svp

[syntax="LotusScript"][/syntax]
Sub initialize

Dim Session As NotesSession
Dim DB As NotesDatabase
Dim Doc As NotesDocument
Dim dc As NotesDocumentCollection


On Error GoTo ErrorHandler


Set Session = New NotesSession
Set DB = Session.currentdatabase
Set dc = DB.unprocessedDocuments


Set doc = dc.GetFirstDocument
While Not doc Is Nothing

Doc.form="Ermancia"

Call Doc.Save(False,False)

Set doc = dc.GetNextDocument( doc )
Wend



Exit Sub

ErrorHandler :
MsgBox "Erreur " & Err & " ligne " & Erl & " : " & Error
Exit Sub

End Sub

MessagePublié: 16 Déc 2011 à 21:01
par roubech
cet agent parcours les docs sélectionnés est mets à jour le champ Form et enregistre le document
mais un enregistrement en backend, ne ré évalue pas toutes les formules présentent sur le masque comme une édition manuelle
il existe ComputeWithForm, mais à utiliser en connaissance de cause

un simple agent en @Formula devrait faire l'affaire, du genre :
[syntax="Formula"]tLstLibelle := "Libellé1" : "Libelle2";
tLstAlias := "Alias1" : "Alias2";
FIELD NomDuChamp := @Replace( NomDuchamp; tLstLibelle; tLstAlias )[/syntax]

Pour plus d'infos, consulter l'aide
http://publib.boulder.ibm.com/infocente ... PLACE.html
http://publib.boulder.ibm.com/infocente ... ETHOD.html

Et faire des essais sur une base de test avec quelques docs

MessagePublié: 16 Déc 2011 à 23:27
par edcj
Merci, je vais tester le "computewithform", mais la commande "@Command([ToolsRefreshSelectedDocs])" répond à mon problème, merci