2014-11-24 59 views
0

我正在查找将返回用Domino服务器进行身份验证的人的shortName/UserID的UserName方法getShortName()或属性。在论坛上搜索了一下,StackOverflow,除了在注册类中找不到任何这样的方法。XPages - 返回登录用户的简称

我会在下面发表我的备选解决方案,但如果有人有更好的解决方案,我很乐意听到它。

感谢,

回答

2

您可以使用公式命令@NameLookup()从人员文档中返回项目。与session.evaluate()一起,您应该可以在XPages中使用它。

试试这个:

session.evaluate('@NameLookup([EXHAUSTIVE];' + userName + ';"ShortName")'); 

免责声明:没有测试过的。

+0

我的人文档在ShortName字段中包含8个值。只是说... – 2014-11-25 15:10:02

+0

谢谢Per。我修改了我的解决方案: var shortName = session.evaluate(“@ NameLookup([Exhaustive]; \”“+ @UserName()+”\“; \”ShortName \“)”); shortName; – 2014-11-26 17:15:35

+0

Frantisek,谢天谢地,我们的短名/ userid字段每人只有一个条目。 – 2014-11-26 17:50:05

0

我的解决方案如下:

var userName = @Name("[ABBREVIATE]" ,@UserName()); 
var shortName = @DbLookup([@DbName()[0],'names.nsf'],'($VIMPeople)',userName,"ShortName"); 
return shortName; 
+1

按Per建议使用@NameLookup。将在配置的任何目录中搜索 – stwissel 2014-11-25 14:09:11

0

不知道是什么版本的NAB的有一个名为($ NamesFieldLookup)隐藏的观点,但如果我还记得它包括CN = Bugs Bunny/OU = ACME/O =第一个排序列中的COM。这将允许您跳过代码的第一步。除此之外,不知道提供的方法来获取短名称。

相关问题