Lotus notes 在文档创建时引用父字段

Lotus notes 在文档创建时引用父字段,lotus-notes,lotus-formula,Lotus Notes,Lotus Formula,我有一张叫做ProductFamily的表格。 它有一个名为ProductFamilyMBValues的字段,它是一个字符串列表 我有一个响应文档,它使用一个名为Item的表单,它始终是使用上述表单的文档的响应 Item表单有一个dialoglist字段ItemMakeBay,该字段具有验证公式@If@LengthItemMakeBuy = 0;@失败你必须选择制造或购买价值@成功 该字段的选项是一个公式:@IfError@GetDocField$ref;ProductFamilyMBValue

我有一张叫做ProductFamily的表格。 它有一个名为ProductFamilyMBValues的字段,它是一个字符串列表

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

Item表单有一个dialoglist字段ItemMakeBay,该字段具有验证公式@If@LengthItemMakeBuy = 0;@失败你必须选择制造或购买价值@成功

该字段的选项是一个公式:@IfError@GetDocField$ref;ProductFamilyMBValue

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


我怎样才能避开这个问题?理想情况下,我希望保留字段的验证公式。

创建响应时,是否从父字段复制其他字段?如果将UniversalID复制到响应中,则可以使用它,直到保存文档为止。如果在公式中与@IsNewDoc组合,则文档保存时可以指向$REF


或者像这样:@IfError@GetDocField$ref;ProductFamilyMBValue@GetDocFieldParentUNIDField;ProductFamilyMBValues

创建响应时,是否从父级复制任何其他字段?如果将UniversalID复制到响应中,则可以使用它,直到保存文档为止。如果在公式中与@IsNewDoc组合,则文档保存时可以指向$REF


或者像这样:@IfError@GetDocField$ref;ProductFamilyMBValue@GetDocFieldParentUNIDField;ProductFamilyMBValues

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


以下是文档中关于该主题的内容。

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

以下是文档中的主题。

创建新文档时,可以使用函数@InheritedDocumentUniqueID获取父文档id

在您的情况下,选择的公式为: @IfError@GetDocField@继承文档唯一ID;ProductFamilyMBValue

创建新文档时,可以使用函数@InheritedDocumentUniqueID获取父文档id

在您的情况下,选择的公式为:
@IfError@GetDocField@继承文档唯一ID;ProductFamilyMBValue

我知道我可以使用公式继承所选文档中的值,但是,如果父文档值发生更改,我希望更新这些值,而不必在可能的情况下添加额外的代码。我也不希望所有的父字段都会污染响应表单。这是有道理的。使用此方法将parentUNID传递到响应文档,然后在公式中使用该方法通过@GetDocField检索值,这样的组合应该可以达到目的。我知道我可以使用公式从所选文档继承值,如果父文档值发生更改,我希望更新这些值,如果可以的话,不必添加额外的代码。我也不希望所有的父字段都会污染响应表单。这是有道理的。使用此方法将parentUNID传递到响应文档,然后在公式中使用该方法通过@GetDocField检索值,这两种方法的组合应该可以达到目的。您所说的“从父级复制任何其他字段”是什么意思?我如何将UNID复制到Response?复制它的一种方法是Ken在回答中提到的方法。如果您使用公式或脚本创建响应,我会将其添加到那里;;项,如何设置新创建文档的字段。我猜@SetField会影响当前文档。如果可用,可以使用父项上项目的universalid副本。在这种情况下,只需在响应上使用computed when composition字段,并在父级上使用项的名称。我不确定universalid是否可以直接从父级继承。五月
在lotusscript中编程更容易维护control.Welcome@InheritedDocumentUniqueID是一个公式,您所说的“从父项复制任何其他字段”是什么意思?我如何将UNID复制到Response?复制它的一种方法是Ken在回答中提到的方法。如果您使用公式或脚本创建响应,我会将其添加到那里;;项,如何设置新创建文档的字段。我猜@SetField会影响当前文档。如果可用,可以使用父项上项目的universalid副本。在这种情况下,只需在响应上使用computed when composition字段,并在父级上使用项的名称。我不确定universalid是否可以直接从父级继承。也许在lotusscript中编程以维护control.Welcome更容易@顺便说一下,InheritedDocumentUniqueID是公式