Net套件PHP-搜索SalesOrder


Net suite PHP - search for a SalesOrder

我是NetSuite的新手。我使用2014 PHP开发工具包。我想搜索SalesOrder(就像他们在示例search.php文件中搜索员工一样)。

更不用说,我想通过"salesRep"搜索SO并获得其内部ID。之后我想更新"备忘录"。

我试着这样搜索,

$gr = new GetRequest();
$gr->baseRef = new RecordRef();
$gr->baseRef->salesRep= "<name>";
$gr->baseRef->type = "salesOrder";

但我收到一个错误,上面写着"INVALID_KEY_OR_REF"。然后为了测试,我尝试了这个,

$gr = new GetRequest();
$gr->baseRef = new RecordRef();
$gr->baseRef->internalId = 387555;
$gr->baseRef->type = "salesOrder";

现在它说的是"UNEXPECTED_ERROR"。

请帮助我的代码,在我得到搜索结果后,请指导我如何更新此SalesOrder记录。

提前谢谢。

刚刚找到了答案-为了后验性起见,将其留在这里(假设您使用的是较旧的PHPToolKit)

$service = new NetSuiteService();
$search = new TransactionSearchBasic();
$searchStringField = array('searchValue' => "SO1267816",
                       'operator' => 'is');
$search->tranId=$searchStringField;
$request = new SearchRequest();
$request->searchRecord = $search;
$searchResponse = $service->search($request);
echo print_r($searchResponse,true);

尝试引用此示例:

$service = new NetSuiteService();
$service->setSearchPreferences(false, 20);
$emailSearchField = new SearchStringField();
$emailSearchField->operator = "startsWith";
$emailSearchField->searchValue = "j";
$search = new EmployeeSearchBasic();
$search->email = $emailSearchField;
$request = new SearchRequest();
$request->searchRecord = $search;
$searchResponse = $service->search($request);
if (!$searchResponse->searchResult->status->isSuccess) {
    echo "SEARCH ERROR";
} else {
    echo "SEARCH SUCCESS, records found: " . $searchResponse->searchResult->totalRecords;
}