アプリケーションの設計


値を引き継ぐフィールドを作成する
継承とは、新しい文書を作成するときに、時間を節約したり、文書間の整合性を確保するために、既存の文書からフィールドの値をコピーすることです。

メモ 文書の作成後に元の文書と新しい文書のフィールド値を同期化する機能は内蔵されていません。継承機能によって入力されるのは、初期のフィールド値のみです。いずれかの文書を後で編集した場合に文書を同期した状態に維持するには、カスタムコードが必要です。

IBM(R) Lotus Notes Client(R) で文書からフィールド値を引き継ぐには、新しい文書を作成するときに、元の文書を Notes Client から開くか、元の文書を任意のビューでハイライト表示する必要があります。

Web アプリケーションでは、新しい文書の引き継ぎ元となる文書は、Lotus Domino URL コマンドの URL 引数 ParentUNID に基づいて決定されます。例を次に示します。


別の文書から値を引き継ぐフィールドを作成するには別の文書から情報を引き継ぐフィールドを作成することで、ユーザーがデータを入力する手間を省いたり、関連する文書の整合性を維持したりできます。新しい文書を作成するときに使用するフォームを開きます。
1 [設計] - [フォームのプロパティ] を選択します。

2 [デフォルト] タブで、[作成するとき] の [式で選択文書からの値を引き継ぐ] を選択します。

3 値を引き継ぐフィールドを作成します。新しいフィールド名は、引き継ぐ値を保持するフィールドのフィールド名と一致する必要はありません。


4 デフォルト値を記述するか、または親文書のフィールド名をその値として使用する各フィールドの計算結果フィールド式を記述します。たとえば、[FullName] フィールドを引き継ぐには、引き継ぐフィールドの式として FullName を使用します。
値が引き継がれると、その値は、現在表示されている文書ではなく、最後に保存したバージョンの文書に読み込まれます。[表示用の計算結果] フィールドの値は保存されないため、引き継がれません。

式は、親文書のフィールドの値を引き継ぎます。フィールドは値を引き継ぎません。ただし、フィールドのデフォルト値または計算結果の値に式を使用した場合は、値を引き継ぎます。新しい文書のフィールドに同じフィールド名を使用するだけでは、そのフィールドの親文書の値を引き継ぐには不十分です。

親文書から引き継がれた値を使用できるのは、新しい文書の作成中だけです。新しい文書を作成し、編集のために保存するか表示すると、親文書の値を式に使用することはできなくなります。

新しいフォームのフィールドが、親フォームのフィールドと名前を共有する場合、新しいフォームのフィールドの前に記述した式でそのフィールド名を参照すると、親フォームのフィールド値が使用されます。このフィールド名を、新しいフォームのフィールドの後に記述した式で参照すると、新しいフォームのフィールド名が使用されます。たとえば、新しいフォームに 3 つのフィールドが次の順番で配置されているとします。


フィールド OrigSubject2 には、テキスト「Topic: Re:」と、その後に親文書の Subject が入ります。新しいフォームに定義されている Subject の値が使用されるためです。

例:アドレス情報を引き継ぐ[顧客連絡先] アプリケーションには、[レター] というフォームがあります。このフォームは、[会社のプロフィール] 文書から情報をコピーして引き継ぎます。[会社のプロフィール] には、名前と宛先のフィールド ([名(FirstName)]、[姓(LastName)]、[宛先])、および [FullName] という非表示の計算結果フィールド (と式 FirstName + " " + LastName) があります。
[レター] フォームには、この式のデフォルト値が "Dear" + FullName である編集可能フィールド [挨拶文] と、式のデフォルト値が Address である編集可能フィールド [宛先] があります。

Lotus Notes Client ユーザーが、あるビューで [会社のプロフィール] 文書をハイライト表示し、メニューから [作成] - [レター] を選択すると、作成されたレターには受取人の宛先と挨拶文が最初から入力されています。ここで、ユーザーは必要に応じてこれらのフィールドを編集できます。

Web ユーザーが [会社のプロフィール] 文書を開いてボタンをクリックし、[レター] 文書を作成した場合、この文書も同じように機能します。

クロスリファレンス関連項目