troubleshooting Question

ensure that author fields refresh/recalculate on child/response documents

Avatar of everetjo
everetjo asked on
Lotus IBM
20 Comments1 Solution452 ViewsLast Modified:
when I save a parent document, it autogenerates a series of child documents.  Despite having author fields on these child documents and having a least one author field with their username.  these users cannot edit the created child documents.

how do i ensure that author field formulas will calculate so users can edit the child documents ?
child document generation code :
Sub QuerySave(Source As Notesuidocument, Continue As Variant)
	
	On Error Goto catcherror
	
	Dim sess As New Notessession
	Dim doc As notesDocument
	Dim varDocStatus As Variant
	
	Set doc = Source.Document
	varDocStatus = doc.DocStatus
	
	
        ' Check if child documents have been generated already '
	
	If doc.ChildDocGenerated(0)<>"1" Then
		
		If doc.DocStatus(0) = "Document Selection Approved" Then
			
               ' No need to declare doc here, we have it already '
			Dim db As NotesDatabase
			
			Set db = sess.CurrentDatabase
			
			Dim newDoc As NotesDocument
			
			
              ' Generate child documents '
			
               ' first values and labels '
			Dim varReqDocCheck As Variant
			Dim varDocName As Variant
               ' second values and labels '
			Dim varReqDocList As Variant
			
			Dim varReqDocsApproved As Variant
			Dim varReqDocsAppDate As Variant
			Dim varReqDocCheck_1 As Variant
			Dim varsysdocstatus1 As Variant
			
			
			varsysdocstatus1 = "PENDING"
			varReqDocCheck = doc.ReqDocCheck
			varReqDocCheck_1 = doc.ReqDocCheck_1
			varReqDocList = doc.ReqDocList
			varDocName = doc.DocName
			varDocStatus = doc.DocStatus
			varReqDocApproved = doc.ReqDocsApproved
			varReqDocsAppDate = doc.ReqDocsAppDate
			varProdManager = doc.ProdManager
			
			Dim i As Integer ' value counter '
			i = 0
			
			doc.DocStatus = "Document Selection Approved"
			doc.ReqDocsApproved = sess.CommonUserName
			doc.ReqDocsAppDate = Now()
			
			Forall elem In varReqDocCheck
               ' **** create a new document object ***
				Set newDoc = db.CreateDocument()
				newDoc.Form = "sysspecs" 
				newDoc.DocManager = doc.ProdManager
				newDoc.SequenceField = doc.SequenceField(0) + "-" + elem    'e.g. put field value in seq
				newDoc.DocName = varReqDocCheck(i)
				newDoc.SysStatus = varsysdocstatus1
				newDoc.sysNumber_1 = doc.number
				newDoc.sysDesignation = doc.Designation
				newDoc.sysCompany= doc.Company
				newDoc.sysProductrName = doc.ProductName
				newDoc.DspProdManager= doc.ProdManager
				newDoc.sysProdIntroDate_1 = doc.ProdIntroDate
				newDoc.sysCreatedDate= doc.CreatedDate
				newDoc.sysAttachments= doc.Attachments
				
				i = i + 1
				Call newDoc.MakeResponse( doc )
				Call newDoc.Save( True, False, True )
				
			End Forall
			
			
                        ' All documents generated, '
                        ' MARK a hidden flag field '
			doc.ChildDocGenerated = "1"
			
		End If  
	End If
	
	Exit Sub ' Exit here, if no errors occur '
	
catcherror:
   ' Print error description on Status bar:
	Print "ERROR in QuerySave"": "  & Str(Err) _
	& " " & Error$ & " on row " & Cstr(Erl)
	Exit Sub
End Sub
Join the community to see this answer!
Join our exclusive community to see this answer & millions of others.
Unlock 1 Answer and 20 Comments.
Join the Community
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 20 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros