我有 2 个按钮,button1(为新的主文档创建响应文档)和 button2(为现有的主文档创建响应文档)当我第一次创建新的主“MyBirthday”文档并创建响应时,只有 1即使我尝试创建更多响应文档,也会创建响应文档。这是我隐藏 button1 的时候,它在调用 create-responseDoc 函数之前保存主文档。
对于响应文档的第二个或更多条目,我创建了 button2 直接调用 create-responseDoc 函数,因为我的主文档已经保存。单击 button2 不会影响任何内容。它不会创建响应。但是,如果我关闭并重新打开文档.. 同样的事情可以正常工作。我发现很难理解幕后实际发生的事情!
这应该很简单,但我被困在代码或我的理解中。我的问题在这里:我有一个主文档“MyBirthday”。我想创建链接到 MyBirthday 的响应文档“MyFamily Birthday”。我想要这个而不提交我的主文档(我可以保存它)。
我做了什么:我为家庭生日创建了生日 xpage 和 2 个字段。单击“创建响应文档 1”按钮后,首先我使用简单的操作保存主文档。然后我通过 SSJS 中的函数创建响应文档。
我创建了 2 个类似的按钮(第一个用于新文档,第二个用于现有文档):1 个位于上方,它将首先保存主文档,然后调用此函数,另一个按钮不会保存主文档,但会调用并创建响应。
功能如下:
function fncCreateResponseDoc(currDoc:NotesDocument)
{
var name = sessionScope.get("FNAME")
var Bday = sessionScope.get("FBIRTH")
var respDoc:NotesDocument = database.createDocument()
respDoc.replaceItemValue("Form","rfFamily")
respDoc.replaceItemValue("FName",name)
respDoc.replaceItemValue("FBirthday",Bday)
respDoc.makeResponse(currDoc)
respDoc.save()
respDoc = null
}
然后就在下面,我重复查看这些响应文档。重复的数据绑定公式如下 ->currentDocument.getDocument().getResponses()
在保存主文档之前,我设置了 sessionScope 变量:
sessionScope.put("FNAME",currentDocument.getItemValueString("FName"))
sessionScope.put("FBIRTH",currentDocument.getItemValueDateTime("FBirthday"))
然后在这个document1的postSaveDocument事件中:
var currDoc:NotesDocument = currentDocument.getDocument(true)
fncCreateResponseDoc(currDoc)
请帮忙 !!