我有一个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服务器上不起作用了吗?
欢迎任何帮助,建议或信息。
答案 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设置中逐个删除这些字段。