You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM Case Manager打开案例预览同类案例onBroadcastEvent未定义报错

错误根因
  • 你将var self = this声明在require的异步回调内部,此时回调的this指向全局window对象,不是脚本适配器的组件实例,自然不存在onBroadcastEvent实例方法
  • onBroadcastEvent是ICM组件的实例方法,仅在组件自身作用域下调用有效,作用域偏移后就会抛出未定义错误
修复方案

推荐直接使用ICM提供的全局事件广播APIicm.util.broadcastEvent,不需要依赖当前组件实例,彻底规避作用域问题,修复后的代码如下:

// 若需要使用脚本适配器实例的其他方法,可将self声明在require外层捕获正确实例
// var self = this;
require(["icm/model/properties/controller/ControllerManager", "ecm/model/Desktop" ], function(ControllerManager, Desktop) {
  var solution = Desktop.currentSolution;   
  var params = {};  
  var prefix = solution.prefix;    
  params.ObjectStore = solution.getTargetOS().id;    
  var custID = payload.workItemEditable.propertiesCollection.LSS_IdentificationValue.value;
  console.log ("Customer ID: ",custID);    
  var caseObj = payload.workItemEditable.icmWorkItem.caseObject;    
  caseObj.retrieveCachedAttributes(function(caseObject) {      
    var caseID = caseObject.caseIdentifier;      
    console.log ("Case ID: ",caseID);        
    /* 构造搜索条件 */      
    var criterion1 = new ecm.model.SearchCriterion({"id": prefix+"IdentificationValue", "name" : "Identification Type", "selectedOperator": "STARTSWITH", "defaultOperator": "STARTSWITH", "dataType": "xs:string"});      
    criterion1.value = custID ;      
    criterion1.defaultValue = custID ;      
    criterion1.setValues( [custID]);        
    params.criterions = [criterion1];      
    params.CaseType = ""; /* 搜索全部案例类型 */      
    params.solution = solution;        
    var searchPayload = new icm.util.SearchPayload();      
    searchPayload.setModel(params);        
    searchPayload.getSearchPayload(function(payload) {          
      // 替换为全局广播方法,不需要依赖self实例
      icm.util.broadcastEvent("icm.SearchCases", payload);      
    });  
  });            
});

如果你一定要使用组件实例的onBroadcastEvent方法,只需要把var self = this的声明移到require调用的外层,捕获到脚本适配器的正确实例即可。

内容的提问来源于stack exchange,提问作者user1814595

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:45:03