В настоящее время переделывается старая форма в LotusNotes, где, если пользователь редактирует форму, некоторые поля будут сброшены.Теперь мне нужно поместить эту функцию в кнопку, чтобы пользователи могли просто редактировать без необходимости сбрасывать эти поля, но при этом разрешать им использовать функцию сброса при необходимости.
В основном я копировал LotusScriptкод в части формы, который включает эту функцию, и вставьте ее в действие кнопки:
------------------------------------------------
Reset Approval (Action) : (Declaration)
------------------------------------------------
Dim editflag as string
------------------------------------------------
Reset Approval (Action) : Click
------------------------------------------------
Sub Click(Source As button)
Dim w As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Set db = session.CurrentDatabase
Set uidoc = w.CurrentDocument
' Get value for Approver 1 and 2
Approver_1 = uidoc.FieldGetText( "Approver_1" )
Approver_2 = uidoc.FieldGetText( "Approver_2" )
status1 = uidoc.FieldGetText( "status1" )
status2 = uidoc.FieldGetText( "status2" )
author = uidoc.FieldGetText( "Author" )
submit = uidoc.FieldGetText( "submit" )
cname = session.CommonUserName & "/ASY/MAWA"
aname = session.UserName
'Msgbox submit
'Cannot edit if user is not the author or approver 1 and 2
If (aname <> author And cname <> Approver_1 And cname <> Approver_2) Then
Msgbox "You Dont Have The Authorization To Edit This Document", 16, "Access Restricted"
Continue = False
Exit Sub
End If
'''''''''''''If user is the author prompt warning if the form already approved
If (aname = author And (status1 = "Yes" Or status2 = "Yes")) Then
Message = "Editing This Document Will Reset The Approval Status" & Chr$(13) &_
"Do you wish to continue?"
YesNo = Messagebox(Message,36,"Continue?")
If YesNo = 7 Then
continue = False
Exit Sub
Else
editflag = "Y"
End If
End If
Dim doc1 As NotesDocument
Dim source1 As NotesUIDocument
'Use backend notes object to assign value to current document
Set doc1 = source1.Document
'Check if document in edit mode
If (source1.EditMode = True) Then
'If edit flag is "Y" then reset status1 and status2 value
If (editflag = "Y") Then
doc1.ReplaceItemValue "status1", ""
doc1.ReplaceItemValue "status2" ,""
doc1.ReplaceItemValue "submit" ,"progress"
End If
End If
'Refresh document to anable send button
Call source1.Refresh
End Sub
Когда я сохранял изменения, я не получал никаких сообщений об ошибках, поэтому я предположил, что все в порядке.Но когда я пытаюсь проверить это, я получаю ошибку Object Variable is not set
, и форма не меняется.Чего мне не хватает?