【问题标题】:Compose a new document in a embedded view and set field value in Lotus Notes在嵌入式视图中编写新文档并在 Lotus Notes 中设置字段值
【发布时间】:2026-01-18 20:20:02
【问题描述】:

我有以下情况:

  1. 面具 Person 具有嵌入视图,其中包含 Notes 形式的文档(关于此人的注释)。
  2. 掩码 Person 有一个 Person_ID 字段。

我需要在嵌入式视图中执行以下操作:

  1. 创建一个新的 Notes 文档。
  2. 从嵌入视图的掩码中读取字段 Person_ID。
  3. 将新创建文档中的值存储在 Notes_Refto 字段中。
  4. 在编辑掩码中打开新文档。

最好的问候 罗伯特

【问题讨论】:

    标签: lotus-notes lotus-domino lotusscript lotus-formula notesview


    【解决方案1】:

    将此按钮添加到表单 Person 中,而不是嵌入视图中。您可以将按钮放置在嵌入视图的正上方或下方。

    让新文档从 Person 文档继承字段,例如 Person_ID 字段。

    【讨论】:

    • 好的,完美!我遇到的下一个问题是无法保存新打开的文档。没有消息显示,没有任何反应,文档也没有保存。我使用命令@Command([FileSave])。
    • 文档可能已保存,但您可能还没有在嵌入视图中看到它。保存并关闭新文档后在个人文档中按F9可以看到吗?
    • 好吧,你说得对。文档已保存,但我无法显示它们。这是另一个问题。谢谢!
    【解决方案2】:

    如果你想嵌入视图中的动作,你可以这样做:

    在嵌入视图中创建操作。使用公式运行代理

    @Command([RunAgent]; "(CreateNotes)")

    代理应如下所示:

    Dim personDoc As NotesDocument
    Set personDoc = workspace.Currentdocument.Document
    
    Dim notesDoc As New NotesDocument(app.CurrentDatabase)
    
    Call notesDoc.Replaceitemvalue("Form", "Notes")
    Call notesDoc.Replaceitemvalue("Person_ID", personDoc.ID(0))
    
    Call workspace.Editdocument(True, notesDoc)
    

    【讨论】:

    • 它也可以工作,并且可能是一种更清洁的方式。更好的是直接在视图操作中使用代码,witch 也可以在没有代理的情况下工作! @Knut_Herrmann 的解决方案的优点是可以为每个表单设置专门的操作。我使用 Notes 泛型,因此我可以根据需要处理它。我将在许多其他行动中使用您的示例。谢谢!