Pregunta

¿Cómo pasar el contexto del documento en XPages mientras llama a un agente?En XPage, necesito llamar a un agente de Java con DocumentContext desde mi XPage, y también necesito pasar mi documento actual como parámetro ...

En Lotuscript Podemos hacerlo tan fácilmente sin guardar el documento actual, pero en XPage estoy usando el siguiente código., Document1 es un documento actual.

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

Este código que no puedo obtener los valores de los elementos de Mis documentos actuales, pero si usaré el siguiente código,

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

Puedo obtener el valor del artículo del documento actual ... pero no quiero guardar el documento, sin guardar el documento, necesito obtener el valor del artículo del artículo.

Por favor, dale una solución agradable para eso ...

¿Fue útil?

Solución

agent.runwithdocumentcontext (CurrentDocument.getDocument (verdadero)).Esto pondrá todos los nuevos valores dentro del DOC Backend, por lo que funciona de la misma manera que LotusScript.Además, si necesita tener el documento actual computado con el formulario de notas, configure la propiedad 'ComputeWithNotesForm' de la fuente de datos para 'Onload' o 'ambos'.

Otros consejos

Dado que cuando puede haber más de una fuente de documentos en la XPAGE, utilizo Parámetros deociocid ...

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

y en el 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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top