2016-09-06 4 views
1

特定の顧客のすべての受注を検索する必要があります(顧客の内部IDまたはエンティティIDを使用)。スクリプトの下で実行すると、すべての受注(ページあたり20)が返されます。顧客によってその結果をフィルタリングする方法は?Netsuiteのphpツールキットを使用して顧客によってフィルタリングされた受注を検索する

require_once 'PHPToolkit/NetSuiteService.php'; 

$service = new NetSuiteService(); 


    $service->setSearchPreferences(false, 20); 

    $SearchEnumMultiSelectField = new SearchEnumMultiSelectField(); 
    $SearchEnumMultiSelectField->searchValue = Array('_salesOrder'); 
    $SearchEnumMultiSelectField->operator = 'anyOf'; 

    $search = new TransactionSearchBasic(); 
    $search->type = $SearchEnumMultiSelectField; 

    //$search->customForm = new SearchMultiSelectField(); 
    //$id = new RecordRef(); 
    //$id->internalId = 'xxxxxx'; customer internal Id 
    //$search->customForm->searchValue = $id; 


    $request = new SearchRequest(); 
    $request->searchRecord = $search; 

    $searchResponse = $service->search($request); 

    echo print_r($searchResponse,true); 

答えて

0
 $service = new NetSuiteService(self::_config); 
     $customerSearchBasic = new CustomerSearchBasic(); 

     $searchValue = new RecordRef(); 
     $searchValue->type = 'customer'; 
     $searchValue->internalId = $customer_id; 

     $searchMultiSelectField = new SearchMultiSelectField(); 
     setFields($searchMultiSelectField, array('operator' => 'anyOf', 'searchValue' => $searchValue)); 
     $customerSearchBasic->internalId = $searchMultiSelectField; 

     $transactionSearchBasic = new TransactionSearchBasic(); 

     $searchMultiSelectEnumField = new SearchEnumMultiSelectField(); 
     setFields($searchMultiSelectEnumField, array('operator' => 'anyOf', 'searchValue' => "_salesOrder")); 

     $transactionSearchBasic->type = $searchMultiSelectEnumField; 
     $transactionSearch = new TransactionSearch(); 
     $transactionSearch->basic = $transactionSearchBasic; 
     $transactionSearch->customerJoin = $customerSearchBasic; 

     $request = new SearchRequest(); 
     $request->searchRecord = $transactionSearch; 
     $searchResponse = $service->search($request); 

     if ($searchResponse->searchResult->status->isSuccess) { 
      if(isset($searchResponse->searchResult->recordList)) { 
       return $searchResponse->searchResult->recordList->record; 
      } 
     } 
関連する問題