为什么出现" Document command not available "错误";当我试图执行批准动作的形式。这就像一个认可循环。这个错误只发生在最后一个审批者身上。当单击由最后一个审批人批准时,会发生此错误。而且这份文件还没有得到批准。如果拒绝另一条错误信息,如"Notesdocument-cannot locate field";发生,但按下Ok后,文档被拒绝。有人能帮帮我吗?下面是批准动作
的代码Sub Click(Source As Button)
Dim w As New notesuiworkspace
Dim uidoc As notesuidocument
Set uidoc = w.currentdocument
process = True
approveapplication
gprocess = False
uidoc.Save
uidoc.Refresh
End Sub
,对于拒绝动作:
Sub Click(Source As Button)
Dim w As New notesuiworkspace
Dim uidoc As notesuidocument
Set uidoc = w.currentdocument
process = False
rejectapplication
gprocess = False
uidoc.Save
uidoc.Refresh
End Sub
上述操作对于以前的审批者是可以的。请帮助
"文件命令不可用";错误意味着您试图以错误的模式访问或执行某些操作。在调用uidoc.save之前,需要检查是否处于编辑模式。您的Approve代码应该是这样的。
Sub Click(Source As Button)
On Error GoTo errHandle
Dim w As New notesuiworkspace
Dim uidoc As notesuidocument
Set uidoc = w.currentdocument
If Not uidoc.EditMode Then
uidoc.EditMode = TRUE
End If
process =True
approveapplication
gprocess = FALSE
uidoc.Save
Exit Sub
errHandle:
Messagebox Lsi_info(2) + ": Error " + Str(Err) + " - " + Error(Err) + ", at line " + Str(Erl)
Exit Sub
End Sub
不应该调用uidoc。调用save后刷新,或者在文档关闭时很可能提示用户再次保存文档,即使没有任何更改。查看notes设计器帮助以获取有关uidoc的信息。保存和uidoc.editmode。另外,请注意错误处理,错误处理将帮助您查明此类问题。
"Reject"如果您正在访问表单上不可见的字段,可能会出现操作问题。同样,添加错误处理功能后,故障排除将容易得多。
此错误通常发生在UI类试图执行操作而后端安全强制阻止操作的情况下。如果approveapplication函数中的代码对后端NotesDocument对象进行了更改,特别是对任何读者或作者姓名字段进行了更改,这就可以解释了。如果不是这样的话,我已经看到了集成了Notes客户机的第三方产品的扩展管理器插件模块导致此错误的情况。
我处理来自LotusNotes数据库的大量数据,这种情况经常发生在我身上。
与其他答案相反,在我的情况下,原因是不同的:似乎调用。edit返回控制太快了…和下一个命令(例如,SelectAll)是不可能执行的,因为文档没有完全打开进行编辑。
解决方案…sipmle。我添加了小睡眠(1000ms),这样文档有足够的时间,一切都很好。