0

我正在使用以下 SSJS:

var author = @Author().toString();
var str = author.replace("CN=","");
var str2 = str.replace("O=","");
var str3 = str2.replace("[","");
var str4 = str3.replace("]","");

if("" == str4)
    return @Name("[CN]",session.getEffectiveUserName());
else
    return var4;

不是完美的方法,但是...

问题:为什么我会得到所有在该字段中编辑过文档的用户?我只想显示文档的作者。

4

1 回答 1

3

您将获得所有用户的列表,因为这就是@Author()返回的内容。以下是从在线帮助中获取的函数描述:“返回当前文档的作者姓名。

您可以使用@Subset() 获取最新作者:

@Subset(@Author(), -1)

并获取原作者:

@Subset(@Author(), 1)

用于@Name()格式化名称。因此,要仅显示原作者的常用名部分,请执行以下操作:

@Name("[CN]",@Subset(@Author(), 1)) 
于 2014-11-12T10:12:20.287 回答