我正在尝试使用ModelService.filtered函数来检查Maximo中的现有记录。在这个用例中,我使用过滤器请求数据,如果它返回结果,我执行其他操作。
我遇到的问题是代码在浏览器中按预期工作,但在设备上无法正常工作。对于相同的条件,浏览器返回记录,而移动设备则不返回。
此函数之前曾在Maximo Anywhere 7.5.1.2中用于此用例,但似乎已针对7.6.1进行了更改,并且我无法从新代码中获得相同的结果。
这是我的代码:
var selectedResource = eventContext.getResource().getCurrentRecord();
var currentUser = UserManager.getCurrentUser();
var myTask = selectedResource.get('wonum');
var siteid = selectedResource.get('siteid');
var isremoved = false;
var filter ={'thtaskwo':myTask,'thsiteid':siteid,'thhelper':currentUser,'isremoved':isremoved};
ModelService.filtered('sftaskhelperresource', null, filter, null, true, null, null, null, false).then(function(result){
if(result.count()>0){
//some additional code here
}
}
);
答案 0 :(得分:0)
我面临同样的问题,这是我的解决方案;
您实际上可以从应用程序本身进行调试。
转到Settings > Advance Settings > Logging
。单击右上角的More
菜单按钮,然后单击Enable Logging
(错误,信息和调试)。
从应用程序运行过滤器步骤,直到无法显示过滤器结果的部分。按照上面的步骤返回日志,您可以看到信息/错误;
如您所见,它表示属性“attributename”未在“resource”JSONStore中编入索引。您需要将index =“true”放在要过滤的属性的资源定义中,它将起作用。
谢谢