保存之前怎么避免保存冲突?

原石化玉 2007-09-14 02:28:59
怎么在保存之前判断一下是否会发生保存冲突,如果会就放弃保存并通知用户?
BS
...全文
140 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
timlq 2007-10-04
  • 打赏
  • 举报
回复
添加一个域进行程序控制,设置内容为当前进行编辑时此文档是否为编辑状态。同时结合LastModified。
原石化玉 2007-09-28
  • 打赏
  • 举报
回复
toby跟我想的一样。:)
但是很奇怪的在Notes R6上,db.getDocumentByUNID(UNID)返回的文档也是前台文档。我记得以前R5的时候就是这样区分前后台的啊。现在怎么才能取到服务器文档呢?
另外currdoc.LastModified不能用,它表示的是在前台转为编辑状态的时间,理论上应该打开时读取文档的LastModified作为当前文档的LastModified
tobyzhou 2007-09-26
  • 打赏
  • 举报
回复
用LastModified属性试试?
可以获取当前文档currdoc的最后修改时间.
同样,可以利用当前文档的UNID获取服务器上的文档serverdoc(set serverdoc = db.GetDocumentByUNID(UNID))
也可以获取到服务器上文档的最后修改时间.
if currdoc.LastModified <> serverdoc.LastModified then
msgbox "文档在您打开期间已被别人修改过,请重新打开一次."
'其他需要处理的事项.
end if
原石化玉 2007-09-24
  • 打赏
  • 举报
回复
加锁容易解锁难啊
klyy 2007-09-21
  • 打赏
  • 举报
回复
你可以在表单中设置一个隐藏状态域,用程序控制:对文档进行编辑时首先判断这个域的值是否处于编辑状态,如果是则不允许进行编辑,否则进入编辑同时将状态域的值改为正在编辑,编辑结束退出时将此域的值改未编辑。相当于给文档加一个锁。
E_arm 2007-09-17
  • 打赏
  • 举报
回复
哦,这样啊,那就只能期待高手指点拉,
我做的是C/S结构的,入口只有一个,所以可能比较容易控制,也许能实现。
要是入口比较多,确实是个难题阿。
原石化玉 2007-09-14
  • 打赏
  • 举报
回复
问题是文档可能会被各种途径编辑,包括CS/BS/代理,可以是LotusScript/JavaScript/公式等等。因此想控制入口是不可能的,除非有文档级的事件,可惜没有。所以我想能否在保存之前先试探一下?如果保存后也能探察一下结果并且可以回滚就更好了。
E_arm 2007-09-14
  • 打赏
  • 举报
回复
我也想问这个问题,
我设想了一下,可不可以在打开文档的时候就不让两个人同时打开,
那就不存在上述问题了吧,不知道可不可行,希望高手指点。。

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧