I have a form “IT Request” , user fills the form and press “Submit”.
code behind submit is:
Sub Click(Source As Button)
Dim w As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim doc1 As Notesdocument
Dim parentdoc As NotesDocument
Dim counterdoc As NotesDocument
Dim oView As NotesView
Dim oDoc As NotesDocument
Dim Sernam As NotesName
Dim ServerL As String
Dim ServerM As String
Dim iTemp As Long
Dim profileDoc As NotesDocument
Dim viewIT As NotesView
Dim entry As NotesViewEntry
Dim selString As String
Dim diff As Integer
Dim range1 As String
Dim range2 As String
Dim singleholidays As String
Dim check As Integer
Dim response_time As Double
Set db = session.CurrentDatabase
Set uidoc = w.CurrentDocument
Set doc = uiDoc.Document
Set doc1 = db.CreateDocument
If (uidoc.FieldGetText("d_fd_title") = "") Then
Messagebox "Please enter the Request Subject"
Exit Sub
End If
’ ************ Get Number
serverl = "" + db.server
Set sernam = session.CreateName(serverL)
iTemp = AutoNumberGet("vwLookSettings", "AutoNumbering*OrderCounter", "fValue", "", True)
serverL = "" + sernam.Common
Set oView=db.GetView("Server View")
Set oDoc= oView.GetDocumentbyKey(serverL,True)
serverL = odoc.fd_sefix(0)
Call uidoc.FieldSetText("id",serverL+AutoNumberCstr(iTemp, 5))
’ ************ Get Number /
Call uidoc.FieldSetText("x_fd_itrep_sign", Cstr(session.CommonUserName))
Call uidoc.FieldSetText("x_fd_itrep_sign_date",Cstr(doc1.Created))
Call uidoc.FieldSetText("d_fd_creation",Cstr(doc1.Created))
Call uidoc.FieldSetText("x_fd_statusN","2")
Call uidoc.FieldSetText("x_fd_module","Hardware")
Set viewIT = db.GetView("IT Personal Information")
selstring = "Hardware" + "*" + uidoc.FieldGetText("x_fd_location")
Set entry = viewIT.Getentrybykey(selstring)
Call uidoc.FieldSetText("x_fd_modulerep",Cstr(entry.ColumnValues(2)))
’ **********************************************************************************
response_time = responsetime (uidoc.FieldGetText("creation_date_it"),Cstr(doc1.Created))
Call uidoc.FieldSetText("fd_istresponsetime",Cstr(response_time))
’ *********************************************************************************
savcheck=1
Call uidoc.Save
unid = doc.UniversalID
doc.SaveOptions = "0"
Call doc.Save(False, True)
Set parentdoc = db.GetDocumentByUNID( doc.ParentDocumentUNID )
parentdoc. x_fd_noraised="1"
Call parentdoc.Save(True,True,True)
Call sendNotification(uidoc.fieldgettext("fd_username"),uidoc.fieldgettext("x_fd_modulerep"), "IT Request Form - Request Initialized", "IT Request "+Cstr(uidoc.fieldgettext("fd_ID"))+" has been raised by "+Cstr(session.CommonUserName)+ " on " +uidoc.fieldgettext("fd_username")+"'s behalf. Please click on link below to open the form for neccessary changes.", True , doc)
Call uidoc.close
End Sub
When user presses “Submit” , form goes to next state.The issue is that if an error comes because of user input or because of computed values from views, it does not move to the next state but it saves a copy of the form every time a submit is pressed.
What I want that if an error comes then form should not be saved.It should be saved only when the inputs are error free + form goes to next state.
Any tips?
Regards,
Aisha Ishrat.