急notesDocument.Save()时的文档冲突有关问题
急!急!急!notesDocument.Save()时的文档冲突问题
我在执行ls代码的时候,要对一个文档中的某个字段值进行重新赋值,并在保存之后要判断是否会出现文档冲突,片段代码如下:
Set tdoc = tmview.GetDocumentByKey(keys )
usecnt = tdoc.GetItemValue("TD07")
td7 = Cint(usecnt(0))
Call tdoc.ReplaceItemValue("TD07", td7 + 1)
Call tdoc.Save(False, True)
If tdoc.hasitem("$Conflict") Then
Msgbox "可能发生了文旦冲突!",16,""
End If
我在运行这段代码的时候是进行单步调试的,在执行完 td7 = Cint(usecnt(0))这句之后,在另外一台机器上以其他的用户登录服务器,并相应打开ls代码中要编辑的文档tdoc,然后编辑该文档中的字段【TD07】,并保存。保存之后,在回到ls代码中,执行 td7 = Cint(usecnt(0))之后的代码。
我查看了下帮助文档,notesDocument.Save( force, createResponse [, markRead ] ),第一个参数为False,第二个参数为True时,当前的文档就会变成是原来文档的冲突文档。
我在代码中写的是Call tdoc.Save(False, True),所以字段值改变之后的tdoc文档应该变成之前的tdoc文档的冲突文档,该冲突文档中应该包含了字段"$Conflict",但是在执行到If tdoc.hasitem("$Conflict") 时,却没有弹出Msgbox框。
------解决方案--------------------
为什么不用锁机制解决这个问题呢?
------解决方案--------------------
说明tdoc不是冲突文档啊,你第2次打开的并保存关闭的那个才是。
------解决方案--------------------
我这边也会出现复制冲突
处理起来好麻烦啊
我在执行ls代码的时候,要对一个文档中的某个字段值进行重新赋值,并在保存之后要判断是否会出现文档冲突,片段代码如下:
Set tdoc = tmview.GetDocumentByKey(keys )
usecnt = tdoc.GetItemValue("TD07")
td7 = Cint(usecnt(0))
Call tdoc.ReplaceItemValue("TD07", td7 + 1)
Call tdoc.Save(False, True)
If tdoc.hasitem("$Conflict") Then
Msgbox "可能发生了文旦冲突!",16,""
End If
我在运行这段代码的时候是进行单步调试的,在执行完 td7 = Cint(usecnt(0))这句之后,在另外一台机器上以其他的用户登录服务器,并相应打开ls代码中要编辑的文档tdoc,然后编辑该文档中的字段【TD07】,并保存。保存之后,在回到ls代码中,执行 td7 = Cint(usecnt(0))之后的代码。
我查看了下帮助文档,notesDocument.Save( force, createResponse [, markRead ] ),第一个参数为False,第二个参数为True时,当前的文档就会变成是原来文档的冲突文档。
我在代码中写的是Call tdoc.Save(False, True),所以字段值改变之后的tdoc文档应该变成之前的tdoc文档的冲突文档,该冲突文档中应该包含了字段"$Conflict",但是在执行到If tdoc.hasitem("$Conflict") 时,却没有弹出Msgbox框。
------解决方案--------------------
为什么不用锁机制解决这个问题呢?
------解决方案--------------------
说明tdoc不是冲突文档啊,你第2次打开的并保存关闭的那个才是。
------解决方案--------------------
我这边也会出现复制冲突
处理起来好麻烦啊