Lotus notes 如果视图处于打开状态,lotus notes 5 getdocumentbykey将不工作
LotusNotes5上有一个应用程序。如果视图处于打开状态,则getdocumentbykey函数不起作用。如果其他视图处于打开状态或数据库处于关闭状态,则该函数可以正常工作并查找文档。即使视图是开放的,我们如何使其工作?我已经给出了下面代码的一部分。多谢各位Lotus notes 如果视图处于打开状态,lotus notes 5 getdocumentbykey将不工作,lotus-notes,lotus-domino,lotus,lotusscript,Lotus Notes,Lotus Domino,Lotus,Lotusscript,LotusNotes5上有一个应用程序。如果视图处于打开状态,则getdocumentbykey函数不起作用。如果其他视图处于打开状态或数据库处于关闭状态,则该函数可以正常工作并查找文档。即使视图是开放的,我们如何使其工作?我已经给出了下面代码的一部分。多谢各位 BillNo2 = cdoc.fieldgettext("Bill_No2") Set view = db2.GetView("Bill No.") Set doc = view.getdocumentbykey
BillNo2 = cdoc.fieldgettext("Bill_No2")
Set view = db2.GetView("Bill No.")
Set doc = view.getdocumentbykey(BillNo2)
If Not doc Is Nothing Then
doc.DOdone = "Done"
doc.LorryNo = cdoc.fieldgettext("Lorry_No")
doc.TripNo = cdoc.fieldgettext("Trip_No")
Call doc.save(True, True)
End If
在调试过程中,它会跳过“If Not doc is Nothing”一行,即使有文档也会结束循环。如果视图未打开,同样的代码也可以正常工作。请帮帮我。谢谢。这听起来像是一个bug,这是完全可能的,因为我们谈论的是一个13年前发布的版本。但首先要检查几件事:
- 确保“票据编号”视图的第一列已排序
- 确保该视图不是私有视图类型
如果这两个都不是真的,或者您出于业务原因无法更改该视图,我认为Anders建议的使用隐藏视图的解决方案是一个很好的主意,应该可以解决这个问题。这听起来像是一个bug,考虑到我们正在讨论的是一个13年前发布的版本,这是完全可能的。但首先要检查几件事:
- 确保“票据编号”视图的第一列已排序
- 确保该视图不是私有视图类型
如果这两个都不正确,或者您出于业务原因无法更改该视图,我认为Anders建议的使用隐藏视图的解决方法是一个很好的主意,应该可以解决问题。反向工作,如果fieldGetText没有返回您期望的结果,则getDocumentByKey调用将失败。在调用之前,您是否在调试器中检查了BillNo2的值
再往后退一步,fieldGetText不会返回您期望的结果的一个原因是cdoc不是您期望的。你是如何运行这段代码的?设置cdoc的代码是什么?由于您使用fieldGetText,我假定它是一个NotesUIDocument,从名称猜测,我打赌您是从NotesUIWorkspace.currentDocument获得它的。也许代码正在运行的上下文中的currentDocument与您期望的不完全一样。也就是说,如果您的代码是在视图的上下文中运行的,而不是在您正在阅读的文档的上下文中运行的,则我不希望它工作。反向工作,如果fieldGetText没有返回您所期望的,则getDocumentByKey调用将失败。在调用之前,您是否在调试器中检查了BillNo2的值
再往后退一步,fieldGetText不会返回您期望的结果的一个原因是cdoc不是您期望的。你是如何运行这段代码的?设置cdoc的代码是什么?由于您使用fieldGetText,我假定它是一个NotesUIDocument,从名称猜测,我打赌您是从NotesUIWorkspace.currentDocument获得它的。也许代码正在运行的上下文中的currentDocument与您期望的不完全一样。也就是说,如果代码在视图的上下文中运行,而不是在您正在读取的文档的上下文中,那么我就不希望它工作。< /P>对具有类似选择的隐藏视图进行查找,而用户不能打开它,您应该考虑升级Lotus Notes 5(也可能是您的多米诺服务器?)至8.5的最新版本。Lotus Notes 5于1999年推出,并于2004年撤销。在选定文档、新文档等上运行的代理属性是什么?@AndersLindahl:非常感谢。隐藏视图起作用了。我试图做一个数据库搜索作为替代,这是使过程变慢。我正在考虑这个主意。谢谢你的建议。@PerHenrikLausten:嗯,我也向客户提出了同样的建议。可能是应用程序对他们来说是如此的好:)在一个隐藏的视图中查找一个类似的选择,这个选项是用户不能打开的。你应该考虑将Lotus Notes 5(也许还有多米诺服务器?)升级到最新版本8.5。Lotus Notes 5于1999年推出,并于2004年撤销。在选定文档、新文档等上运行的代理属性是什么?@AndersLindahl:非常感谢。隐藏视图起作用了。我试图做一个数据库搜索作为替代,这是使过程变慢。我正在考虑这个主意。谢谢你的建议。@PerHenrikLausten:嗯,我也向客户提出了同样的建议。也许到目前为止,这个应用程序对他们来说还不错:)是的,安德斯的解决方案解决了这个问题。可能是版本5中的错误。非常感谢您的回复。是的,Anders的解决方案解决了这个问题。可能是版本5中的错误。非常感谢您的回复。