如何通过SuiteTalk获取Netsuite保存的项目组搜索

时间:2013-12-31 18:12:53

标签: php api netsuite

我在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”类型的“交易搜索”。

我怀疑我应该使用不同的搜索类型,但我找不到它应该是什么的参考。

1 个答案:

答案 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);