2013-01-23 3 views
2

폴더에 특정 하위 문서의 고유 ID로 채워진 AUNID 필드가있는 문서가 있습니다. 폴더의 작업 표시 줄에는 사용자가 편집 할 수있는 AUNID과 관련된 문서를 여는 데 필요한 버튼이 있습니다. 동작 버튼을 누르면 문서를 편집 할 때 UNID가 유효하지 않습니다.

는, 사용자에게 다음과 같은 오류를 범 :

Invalid UNID; UNID must be a 32-digit hex string.

을 'OK'그러나 정확한 문서 편집 열리고 누르면. 나는 디버거를 사용했고 코드는 모두 내가 예상했던대로 정확히 실행하지만,이 오류는 아무런 이유없이 보이는 것처럼 튀어 나온다.

Sub Click(Source As Button) 
    On Error Goto handleError 
    Dim ws As New NotesUIWorkspace 
    Dim s As New NotesSession 
    Dim leaddoc As NotesDocument 
    Dim action As NotesDocument 
    Dim db As NotesDatabase 
    Dim view As NotesView 
    Dim doc As NotesUIDocument 

    Set db = s.CurrentDatabase 
    Set leaddoc = db.UnprocessedDocuments.GetFirstDocument 
    Set view = db.GetView("(ActionsByLead)") 
    If (leaddoc.GetFirstItem("AUNID").Text = "") Then 
     Msgbox ("There is nothing to edit!") 
     Exit Sub 
    End If 
    Dim uid As String 
    uid = Cstr(leaddoc.GetFirstItem("AUNID").Text) 
    Set action = db.GetDocumentByUNID(uid) 
    Call ws.SetTargetFrame("") 
    Call ws.EditDocument(True, action,,,, False) 'Error occurs on this line according to the debugger. 

    Exit Sub 
handleError: 
    Resume Next 
End Sub 
+0

오류가 발생했을 때 uid 값은 무엇입니까? –

+0

마이클이 말한 것과 플러스는 "액션이 아무것도 아닌가?" 또한, 오류 처리기는 적어도 오류 $ 및 Erl을 인쇄해야합니다. 그러면 문제가 있는지 알 수 있습니다. – Eric

+0

@MichaelRuhnau 편집하려는 문서의 유효한 문서입니다. –

답변

4

확인 열려는 자식 문서의 형태 :

여기 내 코드입니다. 오류가 발생한 해당 문서를로드하는 동안 무언가가 의심스럽고 부모 문서의 작업 또는 AUNID 항목과 관련이 없습니다.

또는 새 하위 문서를 만들고 오류가 표시되는지 확인하십시오.

+0

감사. 내가'@ SetDocField' 작업을 진행할 때 의사가 나타나서'$ REF'가 엉망이 된 것 같습니다. –

+1

아하! @SetDocField는 인수가 텍스트 값 또는 UNID 값 이외의 값일 경우 설명 된 오류를 정확하게 반환하기 때문에 의미가 있습니다. – Eric