Notes Domino には、文書のバージョン管理機能が組み込まれています。データベース設計でどのように構成されているかに応じて (データベース開発者が自分でロールバックしていないと仮定すると)、バージョンは元の親への応答になるか、新しいバージョンが親になり、古いバージョンが反応。
ただし、これは、ドキュメントを編集するときにデータベースに応答階層を自動的に設定するだけです。データベース設計の残りの部分がこの階層とどのように相互作用するかは、開発者次第です。
おそらくやりたいことは、応答階層の最上位にあるドキュメントのみを表示するビューを作成することです。次に、そのビューをたどって、そこから取得したドキュメントが最新バージョンであることを確認できます。
したがって、フォーム「記事」で作成されたドキュメントがある場合、ビュー選択式は次のようになります。
SELECT form*="Article" & !@IsAvailable($ref)
これにより、応答ではないすべての Article ドキュメントが選択されます。コードでは、ビューを開いてトラバースするだけです。
ドキュメントのハンドルを取得したら、直接の子の応答を取得できます
doc.getResponses()
DocumentCollection
これは、応答への応答を見つけて再帰できることを返します。親ドキュメントを直接取得することはできません。最初に で ID を取得してdoc.getParentDocumentUNID()
から を呼び出す必要がありますdb.getDocumentByUNID()
。もちろん、それを組み合わせることができます:
db.getDocumentByUNID(doc.getParentDocumentUNID())
いずれにせよ、データベースが実際に何を行っているか、最初にどのように設計され、それに適合するかを確認する必要があります。