我有一个使用分类视图的 REST 服务。我正在尝试让“keys”属性与非硬编码值一起使用。当我尝试使用任何 Javascript 时,我收到“抱歉,发生错误”消息。
这是它工作的唯一方式:
<xe:restService id="rsVictims" pathInfo="gridDataVictims">
<xe:this.service>
<xe:viewItemFileService defaultColumns="true"
viewName="InvoiceMPRVictims" contentType="application/json"
keys="k28ts71zrjsw">
<xe:this.databaseName><![CDATA[#{javascript:applicationScope.get("appConfig").keywords.appDataStore.join("!!")}]]></xe:this.databaseName>
</xe:viewItemFileService>
</xe:this.service>
</xe:restService>
我试过用 SSJS 返回一个值:
<xe:restService id="rsVictims" pathInfo="gridDataVictims">
<xe:this.service>
<xe:viewItemFileService defaultColumns="true"
viewName="InvoiceMPRVictims" contentType="application/json">
<xe:this.databaseName><![CDATA[#{javascript:applicationScope.get("appConfig").keywords.appDataStore.join("!!")}]]></xe:this.databaseName>
<xe:this.keys><![CDATA[#{javascript:var doc:NotesDocument = currentDocument.getDocument();
var keyValue = doc.getItemValueString("grantID");
return keyValue;}]]></xe:this.keys>
</xe:viewItemFileService>
</xe:this.service>
</xe:restService>
我也尝试过将 SSJS 移动到一个函数中并调用它:
<xe:restService id="rsVictims" pathInfo="gridDataVictims">
<xe:this.service>
<xe:viewItemFileService defaultColumns="true"
viewName="InvoiceMPRVictims" contentType="application/json"
keys="#{javascript:getMPRRESTKey();}">
<xe:this.databaseName><![CDATA[#{javascript:applicationScope.get("appConfig").keywords.appDataStore.join("!!")}]]></xe:this.databaseName>
</xe:viewItemFileService>
</xe:this.service>
</xe:restService>
这是 getMPRRESTKey() 函数:
function getMPRRESTKey() {
var doc:NotesDocument = currentDocument.getDocument();
var keyValue = doc.getItemValueString("grantID");
return keyValue;
}
它起作用的唯一方法是在 keys 属性中“硬编码”一个值。
任何帮助都会很棒!
谢谢!