Lotus Notes:如何检查已保存的文档是否已被修改

时间:2015-09-08 06:14:31

标签: lotus-notes lotusscript lotus

在Lotus Notes 6.5中,我如何检查文档字段是否与以前不同?

现在我在Queryopen中放了一些代码,用一些源文档值填充字段“ changes ”,并在查询中检查我在queryopen期间保存的值是否与字段不同在源文档中。如果他们改变了我必须更新一些其他文件,在其他情况下我不需要更新任何东西。

还有其他更简单的解决方案吗?

2 个答案:

答案 0 :(得分:2)

通过QuerySave中的视图查找获取相同的文档。不要尝试通过db.getdocumentbyunid获取相同的文档(因为它将从已经修改的内存中读取文档)(参见下面的示例)

dim s as new notessession
dim db as notesdatabase
dim view as notesview
dim samedoc as notesdocument
set db = s.currentdatabase
set view = db.getview('lookupview')

' that is how you can get unsaved document from database (but not the one you already updated in QueryOpen event)
set samedoc = view.getdocumentbykey(key, true)

' samedoc - untouched one, form database;
' source - updated document
msgbox samedoc.keyitem(0) ' original value
msgbox source.document.keyitem(0) ' QueryOpen's value

如果它不起作用,请告诉我。

答案 1 :(得分:0)

并且您可能还需要 - 应该可以在Notes 6.5中使用 - 如果可行的话,在表'合并/ NoConflict'或'不要创建冲突'上使用ReplicationConflict设置。