0

我有 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)

请帮忙 !!

4

1 回答 1

1

Ravi,很可能您的 currDoc 没有 docid,因为它尚未保存。添加一个 currDoc。save();一开始你的功能。respDoc.recyle();在将其设置为空之前还要添加。此外,为您遗漏的每一个都烧一个 jostick ;(不要试图争论那个 <vbg>)。

让我们知道怎么回事。

于 2013-02-27T15:43:22.800 回答