Referencing parent field on document creation

瘦欲@ 提交于 2019-12-11 06:25:15

问题


I have a form called ProductFamily. It has a field called ProductFamilyMBValues which is a list of strings.

I've got a response document using a form called Item, which is always a response of a document using the above form.

The Item form has a dialoglist field ItemMakeBuy that has the validation formula @If(@Length(ItemMakeBuy) = 0;@Failure("You must choose a Make or Buy value");@Success)

The choices for that field is a formula: @IfError(@GetDocField($ref;"ProductFamilyMBValues");"?").

My problem is that when i create a new Item document the choices for the ItemMakeBuy field aren't populated, seemingly because until the document is saved the $ref field isn't populated. However, i can't save it because of my validation formula, requiring a value to be entered.

How can i get around this issue? Ideally i want to keep the validation formula for the field.


回答1:


When creating the response, do you copy any other fields from the parent? If you copy the UniversalID to the response you can use that until the document is saved. If combined with a @IsNewDoc in the formula, the moment the document is saved it can point to the $REF.

Or something like this: @IfError(@GetDocField($ref;"ProductFamilyMBValues");@GetDocField(ParentUNIDField;"ProductFamilyMBValues"))




回答2:


That is a logical way to reference the parent document, but Notes has an alternate way to get at parent field information. In your Item form, go to the form properties and select the option "on create: formulas inherit values from selected document". Then you can create any number of fields in the Item form and use a computed field formula referencing the field name from the ProductFamily form, and those values will get passed in. In your case, you could just pass the ProductFamilyMBValues field to the response doc.

Here is more information on that subject from the docs.




回答3:


You can use the function @InheritedDocumentUniqueID to get the parent doc id when creating a new doc.

In your case the formula for the choices would be : @IfError(@GetDocField(@InheritedDocumentUniqueID;"ProductFamilyMBValues");"?")



来源:https://stackoverflow.com/questions/7660665/referencing-parent-field-on-document-creation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!