2017-03-09 52 views
0

随着按钮的onclick事件我想保存多个文档,但只有最后一个保存。ssjs保存多个文档

<xp:this.data> 
    <xp:dominoDocument var="document1" formName="tg"></xp:dominoDocument> 
    </xp:this.data> 

,并在按钮的onclick事件:

... 
while (re.next()) { 

     document1.replaceItemValue("TGARKD",tgarkd); 
     document1.replaceItemValue("TGKDOM",tgkdom); 
     document1.replaceItemValue("TGARGR",tgargr); 
     document1.replaceItemValue("TGDLGR",tgdlgr); 
     document1.save(); 
} 

回答

1

如果你想创建的NSF多个文档,则需要使用后端类。 DominoDocument数据源绑定到单个后端文档。 var doc = document1.getDocument(true)将获得(第一)后端文件句柄,然后在你的循环使用

var doc2 = database.createDocument(); 
doc.copyAllItems(doc2, true); 
doc2.save(true, false); 
+0

用于记录:'getDocument(true)'调用与文件附件一起具有副作用 - 可能在保存的文档中缺失。 –

+0

也许另一种方法,因为我们正在讨论在保存后立即获取文档,是'database.getDocumentByUNID()',使用DominoDocument中新设置的单元。 –

0

或者,您也可以定义一个重复控制内部数据源并绑定字段的那一个。然后在重复之外呼叫save(),它保存所有数据源: