我正在努力满足Siebel Open UI要求,该要求要求在双击记录时对当前业务组件运行查询。
我在与我的自定义小程序关联的 PR js 中尝试了以下内容:
var pm = this.GetPM();
var recordSet = pm.Get("GetRecordSet");
for (record in recordSet) {
var row = $("#" + this.GetPM().Get("GetPlaceholder"))
.find("tr[id=" + (Number(record) + 1) + "]")
.dblclick({ctx:pm}, function(event) {
var bc = event.data.ctx.Get("GetBusComp");
bc.InvokeMethod("ClearToQuery");
bc.SetSearchSpec("Id","1-81OR");
bc.InvokeMethod("ExecuteQuery");
});
}
"bc"变量似乎已实例化,但是当我查看公开的方法(控制台Web浏览器)时,除了InvokeMethod("ExecuteQuery")之外,我没有看到任何进行查询的兴趣,它不起作用(当我查看日志时它什么也没做)。
您知道如何从 PR 或 PM 进行此类查询吗?
文森佐
OpenUi 的早期版本存在限制,但在 15 之后,它暴露了许多 BC 方法。试试这个:http://www.askmesiebel.com/2014/04/siebel-open-ui-invoke-business-service-from-pm-file/
最后我明白了,查询本身在浏览器端是不可能的。唯一的方法是调用执行查询的业务服务(此时,bs 在服务端执行)