【问题标题】:Lotus Notes - Script or formula to create multiple new documents within a databaseLotus Notes - 在数据库中创建多个新文档的脚本或公式
【发布时间】:2023-03-23 00:10:01
【问题描述】:

我有以下情况:
目前,最终用户需要使用分步流程创建多个文档,但在创建了一些新功能后,用户将需要创建更多所需的文档。
恐怕他们会忘记创建一个重要的,最终会弄乱整个过程。
基于此,我正在考虑创建一个脚本,因为 Compose @Command(公式语言)只允许我创建一个表单。

请注意,这些文档将包含计算字段,因此无需在这些新表单上填写任何数据。

这是我到目前为止得到的,它正在工作,但我认为有人可以给出更好的主意。谢谢。

    Dim session As New notessession
    Dim db As notesdatabase
    Dim newdoc As notesdocument
    Dim i%
    
    Set db=session.currentdatabase
    
    For i%=1 To 1 'or however many slots you want
        
        Set newdoc=db.createdocument
        newdoc.form= "Form1"
        Call newdoc.save(True,True)
        
        Set newdoc=db.createdocument
        newdoc.form="Form2"  
        Call newdoc.save(True,True)     
        
        Set newdoc=db.createdocument
        newdoc.form="Form3"
        Call newdoc.save(True,True)
                
    Next i%
End Sub

【问题讨论】:

  • 计算字段在您在 UI 中打开并保存之前不会获取它们的值。
  • 谢谢@Duston,我会考虑并要求用户编辑文档。有什么想法可以增强上面的代码吗?

标签: lotus-notes lotusscript lotus-formula


【解决方案1】:

如果您想让文档像在前端打开一样进行计算,那么您需要告诉代码这样做:简单保存文档不会进行前端计算。您需要在每次保存之前添加一个 ComputeWithForm 来做到这一点:使用分配的表单计算文档。看起来像这样:

    Set newdoc=db.createdocument
    newdoc.form= "Form1"
    Call newdoc.ComputeWithForm( True, True )
    Call newdoc.save(True,True)

请注意:如果由于您忘记填写某些基本字段而导致表单的公式中有任何错误,则计算将不会完成,只会计算出现错误的字段之上的字段。此外,如果您必须在代码中捕获某些错误,此函数可能会引发错误(取决于参数,检查文档)

【讨论】:

  • 感谢@Torsten Link,我会使用它。另外,感谢您编辑我的问题,我是这个世界的新手,不知道如何包含该格式……我非常感谢所有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多