xPages创建作者和读者字段

xPages创建作者和读者字段,xpages,Xpages,我的xPage有一个querySaveDocument函数,我在其中设置了一些后端字段,包括Authors和Readers字段 var authors = new Array("[AdminEditors]"); var user:String=session.getEffectiveUserName(); authors.push( user ); var authitem:NotesItem = doc.replaceItemValue("z_Authors", authors ); aut

我的xPage有一个querySaveDocument函数,我在其中设置了一些后端字段,包括Authors和Readers字段

var authors = new Array("[AdminEditors]");
var user:String=session.getEffectiveUserName();
authors.push( user );
var authitem:NotesItem = doc.replaceItemValue("z_Authors", authors );
authitem.setAuthors(true);

var readitem:NotesItem = doc.replaceItemValue("z_Readers", "[AdminReaders]" );
readitem.setReaders(true);
我以为doc.replaceItemValue()会返回对NotesItem的引用,但authItem为null

那么,如何使用SSJS在后端Notes文档上创建一个字段并获取对它的引用呢

谢谢


--Jeff

确保使用getDocument(true)使后端文档与前端文档中所做的更改同步

var doc = document1.getDocument(true);

它对我有用。命令的确切顺序可能略有不同。正如@Per Henrik Lausten所说,在获取后端文档时使用true(id将缓存的更新写入数据源)。我的代码片段与以下代码略有不同:datasource.replaceitemvalue;doc=datasource.getDocument(true);doc.getfirstitem().setAuthors(true)感谢您的回复,非常有用。admend的工作代码是:doc.replaceItemValue(“z_Authors”,Authors);//添加作者项doc=currentDocument.getDocument(true);//刷新doc var authitem:NotesItem=doc.getFirstItem(“z_Authors”);//获取项目authitem.setAuthors(true);//将其设置为authors字段doc.replaceItemValue(“z_Readers”,“[AdminReaders]”);doc=currentDocument.getDocument(true);var readitem:NotesItem=doc.getFirstItem(“z_阅读器”);readitem.setReaders(true);--杰夫:太好了,杰夫。记住接受答案。如果您不知道这是如何工作的,请参阅此了解更多详细信息: