2015-03-19 24 views
1

我是NetSuite的新手。我使用2014 PHP開發人員工具包。我想搜索一個SalesOrder(就像他們在他們的示例search.php文件中有搜索員工)。Net suite PHP - 搜索SalesOrder

免得說,我想通過「salesRep」搜索SO並獲取其internalId。之後,我想更新「備忘錄」。

我tryied做這樣的搜索,

$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記錄。

在此先感謝。

回答

0

嘗試參照此示例:

$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; 
} 
+0

謝謝您響應。是的,這是他們的search.php文件中的示例代碼。這工作,也是這個代碼是「僱員」。 我想要搜索的是SalesOrder搜索。我無法找到「SalesOrderSearchBasic」類來執行這樣的搜索。 請幫忙。在此先感謝 – masterFly 2015-03-19 13:49:30

1

剛剛發現了這個答案 - 在這裏留下它的後人着想(假設你正在使用的PHPToolKits的舊)

$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); 
+0

你知道如何搜索其他領域?上面的例子是在tranid,你原來的問題是銷售代表。我試圖通過orderStatus ='_pendingApproval'進行搜索,但似乎無法使它工作。有任何想法嗎? – 2016-06-08 21:18:43

+1

這適用於通過交易ID查找,謝謝。 – 2017-03-14 00:03:38