2011-11-18 71 views
2

当我尝试执行表单的批准操作时,为什么会出现“文档命令不可用错误”错误?它就像一个审批周期流程。此错误仅出现在最后一个批准者身上。当最后批准者点击批准时,会发生此错误。并且该文件没有得到批准。在拒绝不同的错误消息(如“Notesdocument-can not 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 

结束子

和用于拒绝操作

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 

结束子

上述动作是罚款以前批准者。 请帮忙

回答

3

“文档命令不可用”错误意味着您尝试访问或在错误模式下执行某些操作。您需要先检查您是否处于编辑模式,然后才能调用uidoc.save。您的批准代码应该如下所示。

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.refresh。查看笔记设计器帮助以获取有关uidoc.save和uidoc.editmode的信息。另外,请注意错误处理,错误处理将帮助您查明这样的问题。

如果您访问表单中不可见的字段,则可能会出现“拒绝”操作问题。再次,添加错误处理,并且它将很容易解决问题。

+0

这真的有帮助..非常感谢你.. – Priya

0

这种错误通常在UI类尝试执行操作并且后端安全性实施阻止操作的情况下发生。如果批准应用程序函数中的代码正在对后端NotesDocument对象进行更改,尤其是对任何读者或作者姓名字段的更改,则可以对其进行解释。如果不是这样,我已经看到了与Notes客户端集成的第三方产品的扩展管理器插件模块导致此错误的情况。