首页 文章

公式中的莲花公共变量

提问于
浏览
0

我再一次请你帮忙 . 我在创建公共变量并在公式中使用它时遇到问题 . 此问题的详细信息如下:1,在启动Lotus Notes应用程序后,我必须创建公共变量EmpNum,它将包含一个员工编号(该编号将从IBM Blue Pages导入)2,此EmpNum变量将用于过滤视图中的数据,因此我必须在视图选择中的公式中使用它 .

如果你帮助解决这个问题,我将非常感激 . 也许这个问题有可能是最简单的解决方案吗?

在此先感谢Tomasz(td2003)

EDIT: Torsten, Panu, thank you. I've decided to try write an EmpNum variable in notes.ini using @SetEnvironment and read it by @GetEnvironment, and it works. BUT (!) there is a very strange thing: 1)当我输入公式时"SELECT((form=" ITForm ") & (Status="已完成") & (TX_EmployeeNumber=@Environment(" EmpNum ")))"该视图显示了"TX_EmployeeNumber"为空的所有文件; 2)否则,当我输入公式"SELECT((form=" ITForm ") & (Status="已完成") & (TX_EmployeeNumber!=@Environment(" EmpNum ")))"(不相等)时,视图显示"TX_EmployeeNumber"不是EMPTY的所有文档,无论TX_EmployeeNumber与EmpNum具有完全相同的值 . 例如:如果EmpNum = "P11",带有第二个公式的视图显示TX_EmployeeNumber字段包含"P11","P22","A32"等的文档 .

我确信@Environment(“EmpNum”)从notes.ini中检索正确的数据 .

我完全糊涂了,完全不知道发生了什么 . 你对此有什么想法吗?

3 回答

  • 1

    您可以使用 NotesView class修改视图选择公式 . 在这种情况下,您将不得不使用私人视图 .

    更好的解决方案是使用XPage显示视图并使用类别过滤器 . 或者,如果要使用传统样式,则将视图嵌入到表单或页面中,并使用“显示单个类别”功能 .

  • 0

    可以在视图的QueryOpen和/或PostOpen中使用@SetViewInfo公式,以使视图仅显示来自一个类别的数据 . 请注意这一点,因为您需要触摸每个视图,以便在用户导航到未被员工编号分类的视图时清除该值...

    FWIW:我只使用@UserName而不是另一条数据 . 我建议您通过导入过程在导入文档时将用户的完全限定Notes名称添加到文档中 .

  • 2

    首先:您在请求Lotus Notes时没有公共变量 . 无论是在LotusScript还是在Formula中 . 每个变量都只存在于其上下文中,而不是完整的客户端 .

    放置这样一个变量有两个地方:

    notes.ini中的

    • ,您可以使用公式(@ Environment,@ SETEnvironment,@ getEnvironent)或LotusScript(NotesSession.GetEnvironmentString,NotesSession.SetEnvironmentVar)设置/读取它 .

    • 在数据库的Profile文档中,您可以使用@GetProfileField(Formula)或NotesDatabase.GetprofileDocument()(LotusScript)获取它

    这两个approches都不会帮助你获得你的号码2.所有用户只有一个View-Selection- Formula . 在其中放置“特定于用户”的内容将使其正确呈现一个值(服务器在构建视图索引时使用的值),而不是所有其他值 .

    要解决您的问题,您可以使用:

    a)嵌入式视图

    • 按empNum分类的视图

    • 嵌入了此视图的表单和此嵌入式视图集的"Show single category"公式

    b)SPOFU视图

    SPOFU是“首次使用时共享,私密”,意味着每个用户都拥有自己的视图副本 . 这些观点有一些警告,很难维护 . 你不应该使用它们,如果你没有完全意识到这些含义(正确的ACL是这些观点的一个非常重要的事情)......

    编辑(由于问题的变化):SPOFU既不会使用环境也不会使用Profile-文档,因为视图中不支持读取它们的方法...所以b)实际上不是一个选项...抱歉......

相关问题