ModelService.Filtered不会在移动设备上返回数据

时间:2017-06-15 18:21:18

标签: javascript ibm-mobilefirst maximo maximo-anywhere mobilefirst-studio

我正在尝试使用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
                }
            }
        );

1 个答案:

答案 0 :(得分:0)

我面临同样的问题,这是我的解决方案;

您实际上可以从应用程序本身进行调试。

转到Settings > Advance Settings > Logging。单击右上角的More菜单按钮,然后单击Enable Logging(错误,信息和调试)。

从应用程序运行过滤器步骤,直到无法显示过滤器结果的部分。按照上面的步骤返回日志,您可以看到信息/错误;

Logging Data

如您所见,它表示属性“attributename”未在“resource”JSONStore中编入索引。您需要将index =“true”放在要过滤的属性的资源定义中,它将起作用。

谢谢