在此之前,我已经发布了有关我的问题的问题,但仍然没有答案。我将再次尝试在此处发布有关我的问题的问题。我将更新新代码并对此进行解释。在此之前,我已经完成了对话框的操作,但是我被要求对其进行更改,只需在视图中使用表单即可。
我的流程从打开表单开始,以设置新的批次信息。表单名称为 PCBatchInfo 。在此表单中,我有4个字段,分别是 BBatchNo , BInspector , BStart 和 BEnd 。然后以这种形式我有一个按钮。当我单击此按钮时,它将执行三个过程,即:
在我的按钮下面,我的莲花脚本
Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set dialogDoc = uidoc.Document
Set view = db.GetView("Computer")
Set doc = view.GetFirstDocument
If doc.PStatus(0) = "Lock" Then
Msgbox "Complete PC Inspection first!"
Exit Sub
Else
'--set new batch info--'
dialogDoc.Form = "PCBatchInfo"
Call uidoc.FieldSetText("SaveOptions", "1")
Call uidoc.Save
answer% = Messagebox("Please confirm", 4,"Batch Number")
If answer% = 6 Then
While Not (doc Is Nothing)
If doc.PStatus(0) = "Active" Then
'--create new copy document--'
Set newdoc = doc.CopyToDatabase (db)
newdoc.DocumentId = doc.UniversalID
newdoc.PBatchNo = dialogDoc.BBatchNo(0)
Call newdoc.Save(True, False)
'-- set new acceptance form --'
Set repdoc = New NotesDocument (db)
repdoc.Form = "EmpPCSpec"
repdoc.ABatchNo = doc.PBatchNo(0)
repdoc.AStatus = doc.PStatus(0)
repdoc.ATagNo = doc.PTagNo(0)
repdoc.AFStatus = doc.PFStatus(0)
repdoc.AInspector = dialogDoc.BInspector(0)
repdoc.AStart = dialogDoc.BStart(0)
repdoc.AEnd = dialogDoc.Bend(0)
Call repdoc.ReplaceItemValue("AStatus", "Incomplete")
Call repdoc.ComputeWithForm(False,False)
Call repdoc.save(True,False)
doc.PStatus = "Lock"
Call doc.ComputeWithForm(False,False)
Call doc.save(True,False)
End If
Set doc = view.GetNextDocument(doc)
Wend
End If
End If
我通过一个按钮运行所有这些过程。因此,当我运行此按钮时,我可以成功创建新的批处理信息,可以创建文档的副本,也可以创建报告文档。 但是问题出在复制文档中,它没有显示 BBatchNo 。并且在报告文档中,它没有显示我要从PCBatchInfo表单获取的 BInspector , BStart 和 BEnd 。该字段为空。我希望我的解释清楚我的问题。谢谢你们的任何帮助。谢谢!
答案 0 :(得分:1)
我认为您的问题就在这里
Set dialogDoc = New NotesDocument(db)
您仔细地从当前的UIDoc中获取了文档对象,然后用新的(空白)文档覆盖了它。