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 を応答にコピーすると、ドキュメントが保存されるまでそれを使用できます。式で a と組み合わせると@IsNewDoc、ドキュメントが保存された瞬間に $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 に答える