Pergunta

Como passar o contexto do Documento no Xpages ao chamar um Agente?No Xpage, preciso chamar um agente java com documentcontext do meu Xpage, e também preciso passar meu documento atual como parâmetro ...

No Lotusscript podemos fazer isso facilmente sem salvar o documento atual, mas no Xpage estou usando o seguinte código., document1 é um documento atual.

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

Este código não consigo obter os valores dos itens do meu documento atual, mas se for usar o código a seguir,

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

Posso obter o valor do item do documento atual...Mas não quero salvar o documento, sem salvar o documento preciso obter o valor do item do item.

Por favor, dê alguma solução legal para isso ...

Foi útil?

Solução

agente.runWithDocumentContext(currentDocument.getDocument(true)).Isso colocará todos os novos valores dentro do documento de back-end, para que funcione da mesma maneira que o lotusscript.Além disso, se você precisar que o documento atual seja computado com o formulário de notas, defina a propriedade 'computewithnotesform' da fonte de dados como 'onload' ou 'both'.

Outras dicas

Desde quando pode haver mais de uma fonte de documento no xPage, eu uso ParameterDocID...

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

e no 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top