1

我正在嘗試使用ModelService.filtered函數檢查Maximo中的現有記錄。在這個用例中,我使用過濾器請求數據,如果它返回結果,我執行其他操作。ModelService.Filtered不返回移動設備上的數據

我遇到的問題是代碼在瀏覽器中按預期工作,但在設備上無法正常工作。對於相同的條件,瀏覽器會返回記錄,而移動設備則不會。

此函數以前在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

你檢查過該函數的參數嗎?其中之一是關於forceServerPreferred和一個forceLocalPreferred。 http://maximodev.blogspot.nl/p/anywhere-reference-modelservice.html – Jeroen

回答

0

我面臨同樣的問題,這裏是我的解決方案;

您實際上可以從應用程序本身進行調試。

轉至Settings > Advance Settings > Logging。單擊右上角的More菜單按鈕,然後單擊Enable Logging(錯誤,信息和調試)。

從應用程序運行過濾器步驟直到它無法顯示過濾器結果的部分。回到上面的日誌記錄,你可以看到信息/錯誤;

Logging Data

正如你所看到的,它說的屬性 「的AttributeName」 不是 「資源」 JSONStore索引。您需要在資源定義中爲要過濾的屬性放置index =「true」,並且它將起作用。

謝謝