我想找到一种方法来将最新文档的unid从另一个nsf文件(不是当前文件)中添加到某个Form(View)中。
修改
我用第一列@Created,降序
创建了一个视图然后我尝试了:
var db:NotesDatabase = session.getDatabase("", "product/picture.nsf");
if (db == null) {
return "Database not open";
} else {
var unid = db.GetView("pictures4").getFirstDocument().getUniversalID();
return unid;
}
这给了我一个错误:
[TypeError]在类型为'lotus.domino.local.Database [Static Java Interface Wrapper,lotus.domino.local.Database:lotus.domino.Database]'的对象上调用方法'GetView(string)'时出错/ p>
有什么想法吗?
答案 0 :(得分:1)
这里有几点。
1)您收到的错误消息是在NotesDatabase中调用GetView()时出错。 SSJS中的方法是区分大小写的并且总是来自caslcase。 GetView()方法不存在。你需要getView()。
2)如果数据库不在该位置,您的代码将抛出错误。 getDatabase(String,String)返回未打开的NotesDatabase对象。要返回null,需要第三个参数,因此getDatabase(String,String,boolean)使用false。查看关于该主题的Domino Designer帮助。
3)getDatabase(“”,“product / picture.nsf”)可能会为XPiNC和Web投放不同的结果。在XPiNC中,我认为“”表示本地服务器 - 它适用于@DbLookup。最好使用getDatabase(database.getServer(),“product / picture.nsf”)。
答案 1 :(得分:0)
我建议接下来:
答案 2 :(得分:0)
有很多方法可以做到这一点
答案 3 :(得分:0)
在另一个id中有一个视图,它以desc顺序显示所有相关文档的UNID 使用session.getDatabase()(http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesSession_sample_JavaScript_code_for_XPages#getDatabase)打开另一个数据库。 打开视图并导航到视图中的第一个文档。您可以自己选择使用Viewnavigator并通过读取列值或打开documnet获取值并返回UNID
答案 4 :(得分:0)