Xpages 显示窗体或视图最新添加内容的计算字段

Xpages 显示窗体或视图最新添加内容的计算字段,xpages,Xpages,我想找到一种方法,从另一个nsf文件(不是当前文件)获取添加到特定表单(视图)的最新文档的unid 编辑 我创建了一个视图,第一列是@Created,降序 然后我试着: var db:NotesDatabase = session.getDatabase("", "product/picture.nsf"); if (db == null) { return "Database not open"; } else { var unid = db.GetView("pictur

我想找到一种方法,从另一个nsf文件(不是当前文件)获取添加到特定表单(视图)的最新文档的unid

编辑

我创建了一个视图,第一列是@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[静态Java接口包装,lotus.domino.local.Database:lotus.domino.Database]”类型的对象上调用方法“GetView(string)”时出错

有什么想法吗?

我建议接下来:

  • 使视图的第一列(让我们称此视图为“ByDate”)按“Created Date”降序排序
  • 然后你需要做类似的事情:
    • 要从中获取最后一个文档unid:session.getDatabase(服务器,文件路径)的初始化数据库
    • var unid=NotesDatabase.GetView(“ByDate”).getFirstDocument().getUniversalID()
  • 我建议下一步:

  • 使视图的第一列(让我们称此视图为“ByDate”)按“Created Date”降序排序
  • 然后你需要做类似的事情:
    • 要从中获取最后一个文档unid:session.getDatabase(服务器,文件路径)的初始化数据库
    • var unid=NotesDatabase.GetView(“ByDate”).getFirstDocument().getUniversalID()

  • 有很多方法可以做到这一点

  • 使用database类的getModifiedDocuments方法执行此操作
  • 根据创建日期在db2中进行搜索
  • 在db2中查找或创建包含文档并按降序排序的视图,然后使用view.getFirstDocument()

  • 祝你好运有很多方法可以做到这一点

  • 使用database类的getModifiedDocuments方法执行此操作
  • 根据创建日期在db2中进行搜索
  • 在db2中查找或创建包含文档并按降序排序的视图,然后使用view.getFirstDocument()

  • 祝您好运

    在另一个id中有一个视图,该视图按描述顺序显示所有相关文档的UNID 使用session.getDatabase()(http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesSession_sample_JavaScript_code_for_XPages#getDatabase)打开另一个数据库。
    打开视图并导航到视图中的第一个文档。您可以自己选择是否使用Viewnavigator并通过读取列值或打开documnet并返回UNID来获取值。您可以在另一个id中选择视图,该视图按描述顺序显示所有相关文档的UNID 使用session.getDatabase()(http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesSession_sample_JavaScript_code_for_XPages#getDatabase)打开另一个数据库。 打开视图并导航到视图中的第一个文档。您可以自己选择是否使用Viewnavigator并通过读取列值或打开documnet并返回UNID来获取值您尝试过吗 var unid=db.getView(“pictures4”).getFirstDocument().getUniversalID(); 而不是 var unid=db.GetView(“pictures4”).getFirstDocument().getUniversalID(); 你试过了吗 var unid=db.getView(“pictures4”).getFirstDocument().getUniversalID(); 而不是 var unid=db.GetView(“pictures4”).getFirstDocument().getUniversalID(); 这里有几点

    1) 您收到的错误消息是,在NotesDatabase中调用GetView()时出错。SSJS中的方法区分大小写,并且总是区分大小写。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) 您收到的错误消息是,在NotesDatabase中调用GetView()时出错。SSJS中的方法区分大小写,并且总是区分大小写。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”)。

    谢谢Paul,我将“”改为database.getServer(),谢谢Paul,我将“”改为database.getServer()