我正在尝试使用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
}
}
);发布于 2018-01-17 14:00:27
我也面临着同样的问题,下面是我的解决方案;
您实际上可以从应用程序本身进行调试。
转到Settings > Advance Settings > Logging。单击右上角的More菜单按钮,然后单击Enable Logging (错误、信息和调试)。
从应用程序运行筛选步骤,直到它无法显示筛选结果的部分。返回到上面的日志记录,您可以看到信息/错误;

如你所见,它所说的属性“属性名”并没有在“资源”JSONStore中建立索引。你需要在资源定义中为你想要过滤的属性设置index="true“,它就会起作用。
谢谢
https://stackoverflow.com/questions/44574366
复制相似问题