我想通过查询从 MasterData 获取一些结果。我没有看到任何错误或其他什么。调试器仅在 queryMasterData 处停止。没有显示结果。
我调用的函数:
$local:getSparepartsSearch = function(searchString)
{
pool = $masterdata:'com.movilizer.bottler.sparepartresources.location.99.employee.S031';
group = "ALL";
filter = {
'col' : 'key';
'op' : 'startswith';
'val' : searchString;
};
returnArray = {
'result' : 'all';
'order' : {
'key' : 'A';
};
'limit' : 1000;
'offset' : 0;
};
spareparts = queryMasterData(pool, group, filter, returnArray);
for(i:spareparts)
{
sparepartData = spareparts[i]['data'];
for(j:sparepartData)
{
key = j;
value = sparepartData[j];
result[i][key] = value;
}
}
return result;
};
您能否添加更多信息,您的 movelet 是什么样子的? 您正在使用哪种屏幕类型以及您尝试如何显示数据(屏幕更改或更改事件)?
我查看了工作区以找到更接近的示例,过去我通过现有的邮政编码池创建了邮政编码搜索。在我的示例中,我使用了一个文本项屏幕,它返回了起始值至少为 2 位的匹配数字。
if(length(value) ?ge 2)
{ addAnswer($answer:'q0a1', '0', '输出:');
pool = $masterData:'PostCode';
group = 'FrenchDealer';
filter =
{
'col':'key';
'op':'startswith';
'val':value;
};
keyword = queryMasterdata(pool, group, filter,{ "result":"all";});
for(i:keyword)
{
for(j:keyword[i]['data'])
{
addAnswerItem($answer:'q0a1', '0', '0', j, conCat(keyword[i]['data'][j]['CITY'], '(', keyword[i]['data'][j]['COMMUNE'], ')'));
}
addAnswer($answer:'q0a3', '0', 'matched:');
str = conCat(i, '\n', str);
setAnswerValueByClientKey($answer:'q0a3', '0', str);
}
$local:addedDropDown = true;
}
我面临着完全相同的问题,解决方案是将限制从 1000 减少到 500 或更小。 Android 云不能简单地处理大数据集。