Question

Comment transmettre le contexte du document dans Xpages tout en appelant un agent?Dans Xpage, j'ai besoin d'appeler un agent Java avec DocumentContext de mon Xpage, et j'ai également besoin de passer mon document actuel en tant que paramètre ...

Dans Lotuscript, nous pouvons le faire aussi facilement sans enregistrer le document actuel, mais dans XPage, j'utilise le code suivant., Document1 est un document actuel.

var agent=database.getAgent("AgentName");
agent.runWithDocumentContext(currentDocument.getDocument());

Ce code Je ne suis pas capable d'obtenir les valeurs des éléments de mon document actuel, mais si je vais utiliser le code suivant,

var agent=database.getAgent("AgentName");
document1.save();
agent.runWithDocumentContext(currentDocument.getDocument());

Je peux obtenir la valeur de l'article du document actuel ... mais je ne veux pas enregistrer le document, sans enregistrer le document que j'ai besoin d'obtenir la valeur de l'élément de l'élément.

S'il vous plaît donner n'importe quelle belle solution pour ça ...

Était-ce utile?

La solution

agent.RunwithdocumentContext (CurrentDocument.getDocument (True)).Cela mettra toutes les nouvelles valeurs à l'intérieur du Backend Doc, de sorte qu'il fonctionne de la même manière que Lotusscript.En outre, si vous devez avoir le courant actuel calculé avec le formulaire de notes, définissez la propriété «ComputeWithNotesform» de la source de données sur «Onload» ou «à la fois».

Autres conseils

Puisque quand il peut y avoir plus d'une source de document sur XPage, j'utilise le paramètreDocide ...

var id = document1.getDocument().getNoteID();
var agent = database.getAgent("MyAgent");
agent.run(id)

et dans l'agent ...

Call GetDocument(agent.ParameterDocID)

...

Public Sub GetDocument(DocID As String)
On Error GoTo eh

Set Doc = Db.GetDocumentByID(DocID)

es:
Exit Sub
eh:
Resume es
End Sub

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top