【问题标题】:Refresh lotus documents with scheduled agent使用预定代理刷新 Lotus 文档
【发布时间】:2016-01-16 08:41:03
【问题描述】:

我在计算显示文本字段上有错误。 对于每个文档,我在编辑模式下打开它并重新保存以更正它。 我在许多数据库和文档上都有同样的问题。 我尝试使用 uiworkspace 中的 EditDocument 函数在整个基础上使用代理更正它。如下:

Option Public
Option Declare

Sub Initialize

Dim session As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim view As NotesView
Dim doccand As NotesDocument
Dim doc As NotesDocument
Dim result As Integer
Dim uiwks As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

Set db  = session.Currentdatabase
Set col = db.Unprocesseddocuments
Set docCand =  col.getfirstdocument

On Error Resume next

While Not docCand Is Nothing
    Set uidoc =  uiwks.Editdocument(True, docCand)
    Call uidoc.save
    Call uidoc.close(True)
    Set docCand =  view.getNextdocument(docCand)
Wend

End Sub

仅当我从 Notes 客户端启动此功能时,它才能解决问题。它不能作为 domino 服务器中的计划任务工作。我尝试在没有 uiworkspace 的情况下使用 computewithform,但它也不起作用。 有没有人可以在预定代理中通过编辑和保存文档来刷新?

【问题讨论】:

  • 如果它是为显示而计算的,它不会被保存,并且每次有人打开要阅读的文档时都会重新计算它。如果您已经更正了公式,那么任何人都不会看到错误,我并没有真正看到刷新的意义。
  • 这是一个计算显示字段,它保存在最后一次文档保存时。我必须切换到编辑模式才能看到更正。
  • 计算字段和计算显示字段的区别在于计算显示字段不会保存到文档中,只有在打开文档进行显示时才会计算。

标签: lotus-notes lotus-domino lotusscript lotus agent


【解决方案1】:

计算显示字段不应该被保存。您不必进行刷新。

据我所知,只有一种情况会保存为显示字段计算的值。当表单上的字段最初设计为常规计算字段时,就会发生这种情况,但后来有人将其更改为计算字段以供显示。原始计算字段作为项目保存在存储的文档中,即使在字段更改为已计算字段后,Notes 仍将继续看到保存的值。如果发生了这种情况,那么您真正想要做的是运行一个代理来删除保存的值。例如,

FIELD myFieldThatUsedToBeComputedButIsNowCFD := @DeleteField;

【讨论】:

    【解决方案2】:

    为显示文本字段计算

    这种类型的字段不会保存在文档中,它与计算文本是一样的。

    关于您的解决方案:

    NotesUIWorkspace 和 EditDocument 不能用于在后台(即在服务器上)运行的计划代理中,而只能从 UI 中使用(这就是运行 LN 时它工作的原因)。

    您需要做的是使用 NotesDocument 中的ComputeWithForm 方法。它将在后台刷新文档(无需打开/保存)。

    While Not docCand Is Nothing
        Call docCand.ComputeWithForm(False, False)
        Call docCand.save
        Set docCand = col.getNextdocument(docCand)
    Wend
    

    注意,在您的脚本中存在一个问题,您正试图从未初始化的视图中获取下一个文档。我猜你想用 col 代替。

    Set docCand =  view.getNextdocument(docCand)
    

    【讨论】:

      猜你喜欢
      • 2012-09-11
      • 2013-07-20
      • 1970-01-01
      • 2021-12-16
      • 2012-11-07
      • 1970-01-01
      • 2012-12-07
      • 2020-07-27
      • 1970-01-01
      相关资源
      最近更新 更多