Я пытаюсь получить SO записи по имени клиента ИЛИ InternalID. В объекте ответа NetSuite я получаю имя клиента в entity
ключ.
[entity] => RecordRef Object
(
[internalId] => 145498
[externalId] =>
[type] =>
[name] => nameNameName
)
Теперь я хочу отфильтровать записи SO по InternalID клиента, который 145498
,
В SQL я хочу,
select * from Transactions where entity.internalId = 145498;
Как я могу это сделать?
Пожалуйста помоги. Заранее спасибо.
Ниже приведен код для поиска клиента с использованием PHP. Вы можете заменить клиента своим целевым типом записи.
$service = new NetSuiteService();
$request = new GetRequest();
$request->baseRef = new RecordRef();
$request->baseRef->internalId = "21";
$request->baseRef->type = "customer";
$getResponse = $service->get($request);
if (!$getResponse->readResponse->status->isSuccess) {
echo "GET ERROR";
} else {
$customer = $getResponse->readResponse->record;
echo "GET SUCCESS, customer:";
echo "\nCompany name: ". $customer->companyName;
echo "\nInternal Id: ". $customer->internalId;
echo "\nEmail: ". $customer->email . "\n";
}
Надеюсь, это поможет !
Я не могу помочь вам с PHP, но следующий фрагмент Java с использованием Axis 1.4 для доступа к веб-сервисам SuiteTalk делает то, что вы просите. Надеюсь, вы можете перевести это на PHP:
TransactionSearchBasic txnSrch = new TransactionSearchBasic();
txnSrch.setRecordType(new SearchStringField(RecordType._salesOrder, SearchStringFieldOperator.is));
txnSrch.setEntity(
new SearchMultiSelectField(
new RecordRef[] {new RecordRef(null, "145498", null, null)},
SearchMultiSelectFieldOperator.anyOf
)
);