0

Lotus Notesアプリケーションがあり、メインのメールテンプレート(R7)で変更(新しいフォーム、ビュー、および「標準」ビューの1つへのボタンの追加)としてのみ展開されています。

これらの「新しい」フォームとビューはすべて、メインのアプリケーションテンプレートから順番に継承されます。

これらのフォームの1つが正しく機能するには、顧客(エンドユーザーではなく組織)ごとに異なるフィールドが必要です。

テンプレートからの継承を壊したくないので、新しいテンプレートを送信するだけでアプリケーションを簡単に更新できます。したがって、この特定のフォームの継承を解除するようにクライアント管理者に依頼することはできません。すべての更新が停止するためです(または手動で行う必要があります)。

したがって、計算フィールドClientCustomDataを持つMainAppFormがあるとします。「デフォルト」フィールドClientCustomDataが1つしかない別のフォームが欲しいのですが。変更される可能性のある実際の設計要素がないため、この2番目の形式の継承を解除できます。その後、クライアントは、上書きされることを恐れずに、このデフォルト値を必要なものに変更できます。

問題は、MainAppFormから他のフォームから値を読み取る方法を教えてください。

または-2つのデータ要素をメールテンプレート(私は知らない、共有ファイルなど)にのみ保存する方法があるので、各ユーザーが利用できるようになり、MainAppFormはそれらを取得できます。継承の依存関係を削除する必要はありません。テンプレートからのMainAppFormの。

これを返す関数だけを備えたクラスライブラリでさえ想像することができます(なぜこのアプローチが私ににおいがするのかわかりません)。

ベストプラクティスやアドバイスはありますか?

4

3 に答える 3

2

あなたの質問を正しく理解したかどうかはわかりませんが、クライアントごとに構成可能な大きなフォームのごく一部が必要なようです。この場合、計算されたサブフォームでうまくいくと思います。

次のシナリオを検討してください。アプリケーションClientCustomDataには、クライアント設定の適切なデフォルトのみを含むサブフォームが付属しています。フォームMainAppFormには、これが計算されたサブフォームとして含まれています。その後、ローカル管理者は、の継承に影響を与えることなく、サブフォームの継承を無効にし、カスタムデータを変更することができMainAppFormます。

明らかな欠点は、継承が無効になると、ClientCustomDataサブフォームを自動的に更新できないことです。このサブフォームはできるだけ小さくしてください。より多くのclient-custom値が必要な場合は、いつでも同じ方法で別のサブフォームを追加できます。

于 2009-06-09T21:22:09.160 に答える
1

最初の説明:Lotus Notesには、他のフォームから読み取るフォームはありません。フォームは単なるUIオブジェクトです。ただし、フォームを使用して作成されるバックエンドドキュメントとフロントエンドドキュメントはあります。

フォームに基づいて新しいドキュメント(たとえば、新しい電子メール)を作成すると、まだ保存されていないフロントエンドドキュメントが作成されます。そのドキュメントは、それ自体の他の部分にアクセスすることも、保存されているバックエンドドキュメントにアクセスすることもできます。

私があなたを正しくフォローしている場合、MainAppFormに基づいてドキュメントに取り込むには、クライアント/顧客ごとに異なるデータが必要です。これを行うにはいくつかの方法があります。私の提案は、データベースプロファイルを使用することです。データベースプロファイルは、NotesFormula言語またはLotusScriptを介してデータベースのどこからでも簡単にアクセスできる特別なドキュメントです。確かに、テンプレートを介してこれらのドキュメント内のデータをプッシュすることはできませんが、データベースプロファイルを使用してデータベース設定を保存する場合、クライアント管理者はオプションを一度設定でき、テンプレートが変更されても変更されません。

@SetProfileField関数と@GetProfileField関数を見てください。

于 2009-06-09T16:11:16.917 に答える
1

私自身の質問に答えるには(まだ私がNotesの考え方に関して正しいかどうかはわかりませんが、有望に見えます):

「共有フィールド」を見つけました。そこで、計算された値(渡したいフィールド)を使用してこのようなフィールドを2つ作成し、MainAppFormにそれらを使用させます。インストール時に、管理者は値を変更し、テンプレートで更新しないようにマークを付けます。

Notesの専門家から提供された賛否両論を尊重します。

ありがとう

于 2009-06-09T17:38:07.280 に答える