2017-05-12 16 views
1

ドミノでビューを作成して、各カテゴリで最後に作成された文書を検索しようとしています。 Dominoデータベースはカレッジクラスレポートのレコードを保持しています。最初の列はCollegeClass、2列目はDateCreated、3列目はReportTitleとして作成しました。 CollegeClass列には、複数のレポートエントリが明示的に表示されます。私は、DateCreated列のLotus Notes Formulaを使用して、各カレッジクラスの最後のレポートのみを表示します。私はいくつかの方法で@createdを使ってみましたが、まだ成功していません。最新のレポートのみを表示するには、これをフィルタリングするにはどうすればよいですか?最後に作成された文書を表示します

答えて

1

これはビューでは実現できません。ビュー内のドキュメントは、別のドキュメントに依存して非表示にすることはできません。

+1

ご意見ありがとうございます。これにより、これ以上の時間を無駄にすることがなくなります – AJF

0

これはノーツクライアントアプリケーション(そしておそらくそれがウェブアプリケーションの場合もあります)の場合、最善の策は2つのビューを作成することです。あなたが望むものを表示するもの(すべてのレポートを表示しますが、最新のレポートを最初に表示します)と、同じビュー列を持つフォルダです。

次に、この最新のレポートのカテゴリを設定/消去する機能を持つLotusScriptスクリプトライブラリを作成して、この2番目のビューに必要なものが正確に表示されるようにします。私はその機能が...

  1. そのフォルダ内のすべてのドキュメントのNotesViewEntryCollectionを取得すると思います。
    (例:Set col = db.GetView("LatestReportsPerCategory").AllEntries

  2. ビューのNotesViewNavigatorオブジェクトを取得します。

  3. は、ビューを介してこの道を歩いた後、各カテゴリ内の最初の文書を取得し、...

    Set doc = entry.Document
    doc.PutInFolder "LatestReportsPerCategory"
    col.Subtract doc

  4. 、のすべてを歩いてNotesViewNavigatorを使用して、 2番目のビューに表示するドキュメントがそこに表示されますが、が2番目のビューに属しているレポートのLatestReportInCategoryフィールドはまだクリアされていません。しかし、それらの余分の文書のすべては、私たちが属しているもののすべてを差し引いたのでNotesDocumentCollection内の文書だけが今あるので、あなたはその作業を持ってたら、今
    col.RemoveAllFromFolder "LatestReportsInCategory"

を行うことができ、新しい/変更された文書で実行されるエージェントから、または毎晩、レポート文書の保存および/または削除イベントから、またはそれが適切なときに、その関数を呼び出すことができます。また、ノーツクライアント経由で使用する場合は、フォルダではなくコードを必要とするため、フォルダのQueryAddToFolderイベントをFalseに設定してください。

関連する問題