在xpages中的session.evaluate中的@dbcolumn

Not*_*Art 2 lotus-notes lotus-formula lotus-domino xpages

我试图为列表框执行此代码,但它不起作用,这给了我错误500.如果我直接在列表框中写@formula它工作正常.

return session.evaluate("@DbColumn(@DbName(), \"viewName\", 1)").elementAt(0)
Run Code Online (Sandbox Code Playgroud)

但如果我写下面的代码,它工作正常.

return session.evaluate("@Unique").elementAt(0);
Run Code Online (Sandbox Code Playgroud)

我在Lotus Notes 8.5.3上使用xpages

Sve*_*ach 5

您收到500er错误,因为SSJS的@DbColumn的参数小于"原始"@DbColumn-Version,如果您使用的是evaluate方法,它将被执行.对于XPages,缓存和类的选项丢失了.

这是evaluate语句的语法:

@DbColumn( class : cache ; server : database ; view ; columnNumber )
Run Code Online (Sandbox Code Playgroud)

这是XPages语法:

@DbColumn( server : database , view , columnNumber );
Run Code Online (Sandbox Code Playgroud)

并且您必须使用本机Notes @Formula语法,fe使用分号代替逗号.