我在Netsuite中保存了搜索,唯一的标准是“Type is Item Group”,我正在尝试使用Soap API SuiteTalk通过PHP检索其结果。
这是我正在使用的功能:
function getSavedSearch($ns_client, $search_id, $search_type, $page_size = 1000) {
$searchItem = array();
$searchItem['savedSearchId'] = $search_id;
$search = new nsComplexObject($search_type);
$search->setFields($searchItem);
$ns_client->setSearchPreferences(false, $page_size);
return $ns_client->search($search);
}
我尝试使用搜索的internalId和类型'ItemSearchAdvanced'来调用它,但是返回一个包含0条记录的搜索。
如果我将类型更改为“ItemSearchBasic”,它似乎忽略了搜索条件,并且我获得了系统中的每个项目记录(不限于项目组)。
我可以使用相同的功能来检索其他已保存搜索的结果,例如使用“TransactionSearchAdvanced”类型的“交易搜索”。
我怀疑我应该使用不同的搜索类型,但我找不到它应该是什么的参考。
答案 0 :(得分:1)
此代码使用较旧版本的Toolkit。
2013_1版本更好,更好,更易于使用。另外,请注意Toolkit指向哪个端点,因为不再支持旧版本,如2009_2。
使用2013_1版Toolkit时的代码很简单:
$service = new NetSuiteService();
$search = new ItemSearchAdvanced();
$search->savedSearchId = "XX"; //replace with your internal ID
$request = new SearchRequest();
$request->searchRecord = $search;
$searchResponse = $service->search($request);