【问题标题】:Lotus Notes Domino API - Generate Value From FormulaLotus Notes Domino API - 从公式生成值
【发布时间】:2011-11-17 04:24:56
【问题描述】:

这对你来说很难:我有一个 NotesForm 对象,我得到了整个结构,包括字段的默认值,其中一些是公式。现在,我正在使用代码为该表单创建一些 NotesDocument 对象。我事先不知道 NSF 的结构 - 只有在运行时,数据库可以来自任何地方。所以,这意味着我也不知道公式是什么。

现在,我想知道的是:有没有一种方法可以将我从默认值(例如:@Today)读取的一些公式文本传递给 Notes,并获取该公式的结果?然后我可以在生成文档时使用该值。就目前而言,如果这些字段是通过 Notes 客户端输入的,那么它们完全可以具有默认值时是空白的。

有什么想法吗?

【问题讨论】:

    标签: lotus-notes formula lotus lotus-domino


    【解决方案1】:

    您可以使用评估功能/方法。如果您在 Notes/Domino 环境中使用 LotusScript 进行操作,则可以使用如下内容:

    Dim result As Variant
    result = Evaluate(formulaString [,doc])
    

    NotesDocument 对象 doc int 以上 sn-p 是可选的,但如果您正在评估使用来自特定文档的数据的公式,则它是必需的。您不需要使用它来评估@Today,但如果您的公式使用来自另一个字段的值,那么您需要告诉公式语言引擎使用哪个文档(它没有上下文提示) “纯公式”的情况)。

    如果您使用的是 COM 或 Java,则 Evaluate 语句不是语言的一部分,因此它作为 Notes 会话对象的方法来处理。

    Evaluate 返回一个 Variant,通常包含一个 Array(它也可能返回一个错误值)。在 LotusScript 中,如果您期望返回单个标量值,请使用 Variant 并取第零个索引。在 VB 经典或 VBA 中,它将是一个 Variant。在 .NET 中,它是一个对象;在 Java 中它将是一个向量。

    【讨论】:

    • 斯坦...你是个天才。不,我不是在 notes 环境中操作,但 Evaluate 方法存在于 NotesSession 对象上。谢谢你1000次!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多