文档命令不可用错误



为什么出现" 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),这样文档有足够的时间,一切都很好。

相关内容

最新更新