基本に戻ります。ドキュメントを表示するための2つのフォームが必要です。ただし、ドキュメントがフォームAを使用して作成された場合は、常にフォームAを表示し、ドキュメントがフォームBを使用して作成された場合は、そのドキュメントを開くときに常にフォームBを表示します(ただし、ビューに関する限り、同じエイリアスとフォーム名を使用する必要があります)。現在のアプリケーションロジックを変更したくありません。また、このフォームB(フォームAはすでに存在します)を使用するためにビュー式を変更したくありません。ヘルプやヒントをいただければ幸いです。
3 に答える
なぜあなたがこれをしたいのか分かりません。長い目で見れば、あなたの人生は本当に難しくなると私には思えます。しかし、私はあなたが理由を持っているに違いないと思うので、これが私がすることです:
- フォームAをサブフォームAにコピーします。下部に、Computed-When-ComposedフィールドOriginalFormを追加し、値の数式を「A」に設定します。
- フォームBをサブフォームBにコピーします。下部に、Computed-When-ComposedフィールドOriginalFormを追加し、値の数式を「B」に設定します。
- 元のフォームを削除します。
- 計算されたサブフォームを使用して新しいフォームAを作成し、数式を「サブフォーム」+OriginalFormに設定します。
- 計算されたサブフォームを使用して新しいフォームBを作成し、数式を「サブフォーム」+OriginalFormに設定します。
ビューにフォーム式を追加できます。次のような単純な式を含めることができれば
@If(FormWasUsed="FormA"; "FormA"; "FormB")
または単にプレーン
FormWasUsed
これは、計算されたサブフォームとフィールドとラベルの非表示を使用して行うことができます。
リチャードが提案するように、「フォームA」と「フォームB」に固有のラベルとフィールドを含む2つのサブフォームを作成します。メインフォームに、そのドキュメントに使用されるサブフォームを示す「ドキュメントタイプ」フィールドがあることを確認してください。すべての一般的な情報はメインフォームに表示されるため、すべてのドキュメントがすべてのビューに表示され、既存のアプリケーションロジックを使用します。
異なるラベルとフィールドの数が連続していないか、数が少ない場合は、「ドキュメントタイプ」フィールドに基づいて、hide-when式を使用してそれらのフィールドを追加するだけです。
同じ名前とエイリアスを持つ2つのフォームを持つことはできません。同じエイリアスを持つ2つのフォームを使用できますが、これは、NotesクライアントまたはWebクライアントのみが使用できるフォームに最適です。そうしないと、どちらのフォームも使用できるため、クライアントはどちらのフォームを使用するかわかりません。1つしか使用しないと思われますが、それはあなたが望むものではありません。