【问题标题】:Xpages : Strange behavior of Response DocumentXpages:响应文档的奇怪行为
【发布时间】:2013-02-27 07:52:21
【问题描述】:

我有 2 个按钮,button1(为新的主文档创建响应文档)和 button2(为现有的主文档创建响应文档) 当我第一次创建一个新的主“MyBirthday”文档并创建响应时,即使我尝试创建更多响应文档,也只会创建一个响应文档。这是我隐藏button1的时候,它在调用create-responseDoc函数之前保存了主文档。

对于响应文档的第二个或更多条目,我创建了 button2 直接调用 create-responseDoc 函数,因为我的主文档已经保存。 单击 button2 不会影响任何内容。它不会创建响应。但是,如果我关闭并重新打开文档.. 同样的事情可以正常工作。 我发现很难理解幕后实际发生的事情!

这应该很简单,但我被困在代码或我的理解中。 我的问题在这里: 我有一个主文档“我的生日”。我想创建链接到 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)

请帮忙!!

【问题讨论】:

    标签: xpages xpages-ssjs


    【解决方案1】:

    Ravi,很可能您的 currDoc 没有 docid,因为它尚未保存。在开始时将 currDoc.save(); 添加到您的函数中。在将其设置为 null 之前,还要添加 respDoc.recyle();。此外,为您忽略的每个 ; 烧一个 jostick(不要试图争论那个 )。

    告诉我们进展如何。

    【讨论】:

    • 谢谢威塞尔!我能得到它。我检查了,在调用 create-response-doc 函数之前保存了文档。我想我在搞乱这么多数据源。我在新页面上重复了同样的内容,它运行起来就像一个魅力。虽然这次我加了;在我省略的每一行之后。谢谢。
    • 欢迎接受答案 :-) 如果您想知道分号,请阅读:inimino.org/~inimino/blog/javascript_semicolons
    • 谢谢。关于分号的有趣博客。很快再见:)
    猜你喜欢
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多