1

我有一个名为ProductFamily. 它有一个名为的字段ProductFamilyMBValues,它是一个字符串列表。

我有一个使用名为 的表单的响应文档Item,它始终是使用上述表单的文档的响应。

Item表单有一个包含验证公式的dialoglist字段ItemMakeBuy@If(@Length(ItemMakeBuy) = 0;@Failure("You must choose a Make or Buy value");@Success)

该字段的选择是一个公式:@IfError(@GetDocField($ref;"ProductFamilyMBValues");"?")

我的问题是,当我创建一个新Item文档时,该ItemMakeBuy字段的选择没有被填充,这似乎是因为在保存文档之前,该$ref字段没有被填充。但是,由于我的验证公式,我无法保存它,需要输入一个值。

我该如何解决这个问题?理想情况下,我想保留该字段的验证公式。

4

3 回答 3

2

创建响应时,您是否从父级复制任何其他字段?如果将 UniversalID 复制到响应中,则可以在保存文档之前使用它。如果与@IsNewDoc公式中的 a 结合使用,则在保存文档的那一刻,它可以指向 $REF。

或类似的东西:@IfError(@GetDocField($ref;"ProductFamilyMBValues");@GetDocField(ParentUNIDField;"ProductFamilyMBValues"))

于 2011-10-05T12:10:56.187 回答
1

这是引用父文档的合乎逻辑的方式,但 Notes 有另一种获取父字段信息的方式。在您的项目表单中,转到表单属性并选择“创建时:公式从选定文档继承值”选项。然后,您可以在表单中创建任意数量的字段Item并使用计算字段公式引用ProductFamily表单中的字段名称,这些值将被传入。在您的情况下,您可以将 ProductFamilyMBValues 字段传递给响应文档。

这是文档中有关该主题的更多信息。

于 2011-10-05T12:18:08.537 回答
1

您可以在创建新文档时使用该函数@InheritedDocumentUniqueID获取父文档 ID。

在您的情况下,选择的公式是: @IfError(@GetDocField(@InheritedDocumentUniqueID;"ProductFamilyMBValues");"?")

于 2014-01-16T09:36:40.007 回答