Domanda

Come passare il contesto del documento in XPages mentre chiamano un agente?In Xpage, ho bisogno di chiamare un agente Java con DocumentContext dalla mia XPage, e anche io ho bisogno di passare il mio documento corrente come parametro ...

In LotScript possiamo farlo come facilmente senza salvare il documento corrente, ma in XPage sto usando il seguente codice., Document1 è un documento corrente.

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

Questo codice non sono in grado di ottenere i valori dei miei articoli del mio documento corrente, ma se utilizzerò il seguente codice,

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

Posso ottenere il valore dell'articolo del documento corrente ... ma non voglio salvare il documento, senza salvare il documento che devo ottenere il valore dell'articolo dell'articolo.

Si prega di fornire qualsiasi bella soluzione per questo ...

È stato utile?

Soluzione

agent.runwithdocumentcontext (currentdocument.getdocument (true)).Ciò metterà tutti i nuovi valori all'interno del backend DOC, quindi funziona allo stesso modo di LotusScript.Inoltre, se è necessario avere il CurrentDocument calcolato con il modulo Notes, impostare la proprietà 'ConfewithNotesform' di DATASoURCE su 'onload' o 'entrambi'.

Altri suggerimenti

Dal momento che quando ci può essere più di una fonte di documenti sulla Xpage, uso parametroDocid ...

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

e nell'agente ...

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
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top