2012-11-05 99 views

回答

9

此解決方案的問題可能是,當您想要使用代理中操作的數據時,您必須在xpage中重新加載註釋文檔。這可以用下面的代碼行來完成:

 var ag = database.getAgent("agentname"); 
    if(ag != null){ 
     var id = doc.noteid; 
     ag.runonserver(id); 
     doc.recycle(); 
     doc = database.getdocumentbyid(id); 
     // check if the agent did its job. 
     // if so do stuff otherwhise report this to the user? 
    } 

由於8.5.2版本有一個新的方法加入到該代理類

agent.runWithDocumentContext(NotesDocument的DOC);

此方法使用xPage的內存文檔。因此,您不需要將文檔保存在代理本身中,但可以進行更改並退出代理代碼。 xpage可以直接使用所做的更改。這樣可以節省你很多的麻煩與檢查,如果代理做他的工作,重新加載文檔等等等等

對於這個工作你有你的代理的選項設置爲

  1. 運行的Web用戶
  2. 允許受限制的操作
  3. 劑的類型是「代理列表選擇」目標與「無」
8

只需撥打該上點擊事件(是沒有區別的使用何種語言劑)

database.getAgent("agentName").run() or database.getAgent("agentName").runOnServer() 

通知,運行時間爲代理人必須是這樣的 enter image description here