2

我想获取 Lotus Domino 文档的创建者和最后一个修改器。我怎么能这样做?

我找到了Authorsproperty,它是 aVector但文档中没有定义它的顺序。我可以依赖第一个元素是创建者,最后一个元素是最后一个修饰符吗?

4

2 回答 2

5

最安全的解决方案是在设计上设置一个“组合时计算”类型字段,该字段在创建文档时设置为当前用户,另一个包含最后一个修饰符名称(类似于事件@SetField("LastUpdatedby";@UserName)中的名称QuerySave)。

在您的情况下,如果您只想从现有应用程序中收集数据并且没有可以使用的手动添加字段,则需要考虑一些事实:

1.) $UpdatedByitem 和 Authors 属性相同:使用 Lotusscript 中的 Authors 属性将返回从$Updatedbyitem 收集的数组。

2.)该$UpdatedBy项目不能被操纵=从这方面来说,使用它是安全的

3.) 假设您已经掌握了整个历史*,您将使用类似@Subset($Updatedby;1)Cstr(updatedbyarray(Lbound(updatedbyarray)))in lotusscript的公式获得创建者

4.) 通过使用or查看$Updatedby数组中的最后一个条目,您将始终获得最后一个修饰符。@Subset($Updatedby;-1)Cstr(array(Ubound(array)))

5 *。)您的数据库可能对条目有限制$Updatedby,因为这些可能会占用大量空间(数据库级别设置,最后一个选项卡,限制$UpdatedBy字段中的条目)。一旦达到此限制,Notes 将在有新条目添加时开始删除旧条目,并且查询数组的第一个成员将不再为您提供创建者。

6.) 由于您可能在数组中找不到创建者$Updatedby,您应该使用以下方式保护您的代码:

If Ubound(var)+1 <> db.LimitUpdatedBy Then 
    'You are safe
Else 
    Msgbox "Ouch!"
End If

如果它是安全的,您可以继续使用该$Updatedby项目进行计算。顺便说一句,使用我们的 (Ytria) scanEZ 产品,您将能够为数据库中的所有文档收集这些值,而无需任何编码。几个简单的公式,您已经准备好将完整的报告导出到 DXL 或 CSV。

于 2012-11-01T21:35:06.760 回答
3

尝试$UpdatedBy直接使用字段。(我认为Authors属性也使用它。)在这个字段中,所有更新程序都按时间顺序存储:发起者——首先,最后修改——最后。

如果在数据库属性中设置了“限制字段中的条目$UpdatedBy”选项,它可能会向您显示错误的数据:当达到限制时,它会删除 中的第一个条目$UpdatedBy,因此您无法了解文档创建者。

于 2012-10-26T09:14:47.323 回答