如何使用@ formula获取Document / Assignment管理器名称

时间:2014-06-05 16:13:44

标签: lotus-notes lotus-formula

我有一个视图,我需要获取文档管理器名称而不是层次结构名称。我需要获取姓氏和名字。我使用了@Name函数,但我不确定如何使用它。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

许多人认为@Name([G];theName)会给出名字,而@Name([S];theName)会给出姓氏 - 因为这就是Lotus documentation所说的。这实际上是正确的,但它只适用于通过旧的Lotus X.400网关收到的消息中的分层名称,其中可能包括G和S组件(例如,CN =最后一个/ G =第一个/ S =最后一个/ OU = OU1 / O =组织/ C = US)。

对于普通的Notes / Domino用户,使用@Name可以做的最好是按@Mike Zens的建议使用@ Name([CN];theName),然后如果需要分隔名字和姓氏,可以使用@左和右。不幸的是,没有完美的方法可以做到这一点,因为CN看起来像这样:“Mary Ann Jones”,其名字可能是“Mary”,也可能是“Mary Ann”。 (而且我实际上遇到了一个有这个名字的用户,他对我支持的一个软件感到愤怒,认为“Ann”是她的中间名!)或者你可能遇到这样的名字:“Jose de la Madrid“。没有可能的算法总是将名称解析为正确的部分。

因此,如果您确实需要单独获取名字和姓氏,最好的办法是使用@NameLookup从Domino目录中检索FirstName和LastName字段。当然,只有在填写这些字段时才会有效,但这并非100%保证。

答案 1 :(得分:1)

如果文档中的AUTHOR字段包含“CN = Mary Tsen / OU = Illustration / O = Acme”,则此示例返回“Mary Tsen”:

@Name([CN]; AUTHOR)

将AUTHOR替换为存储文档管理器名称的字段名称。

答案 2 :(得分:1)

如果您正在寻找格式化名称的方法,如上所述,您可以使用@Name公式:

@Name([CN]; DocumentManager);

如果您要查找有关该用户的具体信息,可以使用@NameLookup公式:

lastNameList := @NameLookup([ForceUpdate]; DocumentManager; "Lastname");

(其中DocumentManager是具有用户名称的项目,“Lastname”是您尝试检索的Person doc中的值);