使用NetSuite PHP SDK时对事务搜索结果排序
我有一些简单的代码,可以在NetSuite中搜索客户订单。订单首先返回。有没有一种简单的方法可以让最新的first退货?我尝试过查看我们正在使用的Ryan Winchester SDK的内部,并在google上进行了大量搜索,但令人惊讶的是,没有发现任何有用的东西 这是密码使用NetSuite PHP SDK时对事务搜索结果排序,php,netsuite,Php,Netsuite,我有一些简单的代码,可以在NetSuite中搜索客户订单。订单首先返回。有没有一种简单的方法可以让最新的first退货?我尝试过查看我们正在使用的Ryan Winchester SDK的内部,并在google上进行了大量搜索,但令人惊讶的是,没有发现任何有用的东西 这是密码 <?php namespace App\Controller\Product; use App\Component\NetSuite\ServiceFactoryInterface; use NetSuite\Cla
<?php
namespace App\Controller\Product;
use App\Component\NetSuite\ServiceFactoryInterface;
use NetSuite\Classes\CustomerSearchBasic;
use NetSuite\Classes\RecordRef;
use NetSuite\Classes\SearchEnumMultiSelectField;
use NetSuite\Classes\SearchMultiSelectField;
use NetSuite\Classes\SearchRequest;
use NetSuite\Classes\TransactionSearch;
use NetSuite\Classes\TransactionSearchBasic;
use Symfony\Component\Routing\Annotation\Route;
class QuickTest
{
private ServiceFactoryInterface $netSuiteServiceFactory;
public function __construct(ServiceFactoryInterface $netSuiteServiceFactory) {
$this->netSuiteServiceFactory = $netSuiteServiceFactory;
}
/**
* @Route(path="benstest")
*/
public function bensTest()
{
$customerSearchBasic = new CustomerSearchBasic();
$searchValue = new RecordRef();
// @phpstan-ignore-next-line
$searchValue->type = 'customer';
$searchValue->internalId = (string) '14835';
$searchMultiSelectField = new SearchMultiSelectField();
setFields($searchMultiSelectField, ['operator' => 'anyOf', 'searchValue' => $searchValue]);
$customerSearchBasic->internalId = $searchMultiSelectField;
$transactionSearchBasic = new TransactionSearchBasic();
$searchMultiSelectEnumField = new SearchEnumMultiSelectField();
setFields($searchMultiSelectEnumField, ['operator' => 'anyOf', 'searchValue' => "_salesOrder"]);
$transactionSearchBasic->type = $searchMultiSelectEnumField;
$transactionSearch = new TransactionSearch();
$transactionSearch->basic = $transactionSearchBasic;
$transactionSearch->customerJoin = $customerSearchBasic;
$request = new SearchRequest();
$request->searchRecord = $transactionSearch;
$nsService = $this->netSuiteServiceFactory->getNetSuiteService();
$nsService->setSearchPreferences(false, 10);
$response = $nsService->search($request);
dd($response);
}
}
我看不到一种方法可以在搜索过程中即时执行此操作。API似乎没有任何orderBy/sortBy类型控件,只有结果页大小。在我看来,要做到这一点,您需要在NetSuite中创建一个自定义搜索,然后使用一个TransactionSearchAdvanced
对象,相应地设置$savedSearchScriptId
(似乎期望从接口中获得“ID”字段)。将TransactionSearch
作为$criteria
属性附加到它上,您就可以上路了