如何在按钮动作公式中访问lotusscript变量?

时间:2017-03-30 04:56:27

标签: lotus-notes lotus-formula

在视图中,我创建了一个复选框操作按钮。操作按钮根据我设置的公式显示/隐藏复选框:

@If(AAAR = True; @True; @False)

我在视图的声明部分下声明了变量AAAR,如下所示:

Dim AAAR As Boolean

现在,此标志在OnSelect事件中设置,以便每当用户从视图中单击/选择文档时,此事件将触发:

Sub Onselect(来源为Notesuiview)

Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uiview As NotesUIView
Dim doc As NotesDocument

Set db = session.CurrentDatabase  
Set uiview = ws.CurrentView         
Set doc = db.GetDocumentByID(uiview.CaretNoteID)

If doc.GetItemValue("AllotmentApprovalReq")(0) = "Yes"  Then
    AAAR = True
Else
    AAAR = False
End If

End Sub

现在的问题是,我希望复选框菜单应该根据此值AAAR更改其状态(复选框/无复选框)。我必须做'某事' OnSelect事件,但我不知道如何从那里访问和设置复选框菜单。请帮忙。

1 个答案:

答案 0 :(得分:1)

哇,这总是一团糟:首先:@Formulas变量和LotusScript-变量彼此无关。在@Formula中,每当你编写一个变量名时,它总是以下两个之一:

  • 当前处于焦点的文档中具有该名称的项目(打开的文档或视图中光标下的文档)。注意:当您选择其他文档时,不会自动重新计算操作,您需要启用视图的操作栏属性以更新焦点更改
  • 同一公式中较早的变量

如果您的示例是正确的,那么操作按钮中的公式将只是:
@If( AllotmentApprovalReq = "Yes"; @True; @False )

根本不需要Onselect中的任何代码......

但是又一次:您需要设置视图操作栏以在每次焦点更改时重新计算。