分類されたビューを使用する REST サービスがあります。「キー」プロパティをハードコードされていない値で動作させようとしています。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 プロパティの値を「ハードコード」することです。
これに関してどんな助けも素晴らしいでしょう!
ありがとう!