【发布时间】:2014-03-11 20:55:50
【问题描述】:
我有一个 Lotus Notes 表单的 UNID。我可以使用这个 UNID 来获取该表单的文档集合吗??
我正在使用 NotesDatabase.Search() 方法来获取文档集合。但此查询仅在提供表单名称时才有效。不适用于表单 UNID。
我正在尝试这样做,因为在我的应用程序中有两个具有相同名称和别名的表单。
【问题讨论】:
标签: lotus
我有一个 Lotus Notes 表单的 UNID。我可以使用这个 UNID 来获取该表单的文档集合吗??
我正在使用 NotesDatabase.Search() 方法来获取文档集合。但此查询仅在提供表单名称时才有效。不适用于表单 UNID。
我正在尝试这样做,因为在我的应用程序中有两个具有相同名称和别名的表单。
【问题讨论】:
标签: lotus
简短回答:这是不可能的。
文档通过它们自己的表单项链接到表单。这是一个文本项,包含创建它们的表单的别名。创建文档时“真正”使用的表单之间没有进一步的关系。一旦您使用该别名创建另一个表单并删除旧表单,所有文档都将使用新表单。只要有 2 个具有相同别名的表单,就会偶然使用其中的一个(通常会使用 NoteID 较小的那个,但不能保证这一点)。
如果您的问题是找出哪些文档是使用哪种表单创建的,唯一的可能是根据表单中的特殊字段选择它们。如果例如一种形式有“CreatedDate”项,另一种没有,则可以选择@IsAvailable( CreatedDate )
不幸的是,如果您打开使用“旧”表单创建的文档并保存它,它也会有新项目...所以这永远不会是 100% 的解决方案。
更难:可以使用 LotusScript 创建一个文档,最后只需填写表单项:doc.Form = "SomeForm"。那么文档不是使用您的两种形式中的任何一种创建的......
【讨论】: