在Domino 9.x服务器上使用XPage中的计算字段的子表单

时间:2015-04-22 19:54:00

标签: xpages lotus-notes lotus-domino subform domino-designer-eclipse

我有一个Notes表单(人员),其中包含一个Notes子表单(我称之为DocInfo),它具有用于存储原始作者和创建日期的计算字段。

创建字段公式

@If(@IsAvailable(CreatedOrig); CreatedOrig; @Text(@Created) + " by " + @Text(@Author))

作者字段公式

@UserName

我有一个XPage文件来源"人员"并computeWithForm设置为both。在Domino 8.5.3服务器上,XPage计算并保存后端的Created和Author字段。但是,在Domino 9.0.1服务器上,XPage不会计算字段,并且字段不会出现在后端的文档属性中。

 <xp:dominoDocument 
    var="document1" 
    formName="Personnel"
    computeWithForm="both">
        <xp:this.parentId>
            <![CDATA[#{javascript:sessionScope.get("PID")}]]>
        </xp:this.parentId>
 </xp:dominoDocument>

我猜这个Domino 9.0.1服务器引擎在某种程度上不包含computeWithForm函数中的子表单字段?这已经在我们的8.5.3服务器上工作了几年,但现在在9.0.1服务器上不起作用了吗?

欢迎任何帮助,建议或信息。

1 个答案:

答案 0 :(得分:1)

我不知道你的情况究竟是什么问题,但我之前遇到过一些奇怪的问题,在XPages上有计算字段和computeWithForm。子表单没有问题,至少在9.0.1FP2上是这样。但是从8.5到9.0的行为发生了一些变化。

在一个案例中,我发现字段类型不匹配会导致一些意外问题(博客:http://lotusnotus.com/lotusnotus_en.nsf/dx/more-xpages-error-fun....htm

我建议检查这些字段的类型。例如,如果将字段设置为日期/时间但提供字符串值,则computeWithForm不会抛出错误,而是字段将为空。公式错误也是如此。

要查找根本原因,请在单独的XPage-Form-Subform设置中逐个删除这些字段。