В Notes Domino есть встроенная функция для управления версиями документов. В зависимости от того, как это сконфигурировано в дизайне базы данных (и при условии, что разработчик базы данных не свернул свои собственные), версии будут либо откликами для исходного родителя, либо наоборот, где новые версии становятся родительскими, а более старые версии - ответы.
Однако все, что для этого нужно, - это автоматически настроить иерархию ответов в базе данных при редактировании документов. Как остальная часть дизайна базы данных взаимодействует с этой иерархией, зависит от разработчика.
Что вы, вероятно, хотите сделать, - это создать представление, в котором документы отображаются только в верхней части иерархии ответов. Затем вы можете просмотреть это представление и узнать, что документы, которые вы получаете от него, являются самыми последними версиями.
Таким образом, если у вас есть документы, созданные с формой "Статья", формула выбора вида будет такой:
SELECT form*="Article" & !@IsAvailable($ref)
Выбирает все документы товара, которые не являются ответами. Теперь в коде вы можете просто открыть представление и пройти его.
Если у вас есть дескриптор документа, вы можете получить его немедленные дочерние ответы через
doc.getResponses()
Возвращает DocumentCollection
, который вы можете использовать для поиска ответов на ответы. Вы не можете получить родительский документ напрямую. Сначала вам нужно получить его идентификатор с помощью doc.getParentDocumentUNID()
, а затем позвонить db.getDocumentByUNID()
. Конечно, вы можете комбинировать это:
db.getDocumentByUNID(doc.getParentDocumentUNID())
В любом случае вам придется посмотреть, что на самом деле делает ваша база данных, как она была изначально разработана и вписывается в это.