首页 PHP 正文
502

Netsuite-PHP toolkit call Saved Search with joined sublist

  • yiqingpeng
  • 2019-04-17
  • 0
  •  
$nsService->setSearchPreferences($bodyFieldsOnly = false, $pageSize = 10, $returnSearchColumns = true);

$search = new \NetSuite\Classes\CustomerSearchAdvanced();
$search->savedSearchId = '2256';//OR $search->savedSearchScriptId = 'customsearch2256'
//设置要查询的字段,主表字段通过basic属性指明,子表字段需要使用相应的Join
$search->columns = new \NetSuite\Classes\CustomerSearchRow();
$search->columns->basic = new \NetSuite\Classes\CustomerSearchRowBasic();
$search->columns->basic->altName = new \NetSuite\Classes\SearchColumnStringField();
$search->columns->basic->country = new \NetSuite\Classes\SearchColumnEnumSelectField();
$search->columns->salesRepJoin = new \NetSuite\Classes\EmployeeSearchRowBasic();
$search->columns->salesRepJoin->internalId = new \NetSuite\Classes\SearchColumnSelectField();
$search->columns->salesRepJoin->entityId = new \NetSuite\Classes\SearchColumnStringField();
$search->columns->salesRepJoin->firstName = new \NetSuite\Classes\SearchColumnStringField();
//设置查询条件,主表字段条件通过basic指定,子表使用相应的Join指定
$search->criteria = new \NetSuite\Classes\CustomerSearch();
//主表country字段包含'_greece'和'_poland'的记录
$search->criteria->basic = new \NetSuite\Classes\CustomerSearchBasic();
$search->criteria->basic->country = new \NetSuite\Classes\SearchEnumMultiSelectField();
$search->criteria->basic->country->operator = \NetSuite\Classes\SearchEnumMultiSelectFieldOperator::anyOf;
$search->criteria->basic->country->searchValue = ['_greece','_poland'];
//子表Employee的internalId为994136和3173000的记录
$search->criteria->salesRepJoin = new \NetSuite\Classes\EmployeeSearchBasic();
$search->criteria->salesRepJoin->internalId = new \NetSuite\Classes\SearchMultiSelectField();
$search->criteria->salesRepJoin->internalId->operator = \NetSuite\Classes\SearchMultiSelectFieldOperator::anyOf;
$recordRef1 = new \NetSuite\Classes\RecordRef();
$recordRef1->internalId = '994136';
$recordRef2 = new \NetSuite\Classes\RecordRef();
$recordRef2->internalId = '3173000';
$search->criteria->salesRepJoin->internalId->searchValue = [$recordRef1, $recordRef2];

$request = new \NetSuite\Classes\SearchRequest();
$request->searchRecord  = $search;
$response = $nsService->search($request);

正在加载评论...