Я посмотрел на некоторые ответы здесь и попытался применить их в своем сценарии; но это не работает, и я не уверен, почему.
Я пытаюсь обновить настраиваемое поле для уже существующего элемента инвентаря. Вот что у меня так далеко
<?php
require_once '../PHPToolkit/NetSuiteService.php';
$service = new NetSuiteService();
$item = new InventoryItem();
$item->internalId = 72309;
$customFieldList = new CustomFieldList();
$customField = new StringCustomFieldRef();
$customField->value = utf8_encode("12345");
$customField->internalId = 'custitem_testinput';
$customFieldList->customField[] = $customField;
$item->customFieldList = $customFieldList;
$request = new UpdateRequest();
$request->record = $item;
$response = $service->update($request);
?>
Я пытаюсь получить запись элемента по его внутреннему идентификатору, а затем обновить только одно из множества настраиваемых полей.
Этот код не выдает ошибку, но, похоже, тоже ничего не делает. Глядя на var_dump объектов, я вижу объект item только с параметрами, которые я установил, и все остальное null.
Что я делаю неправильно?
Это базовый пример, показывающий, как обновить настраиваемое поле в существующей записи с помощью инструментария PHP.
<?php
require_once 'PHPToolkit/NetSuiteService.php';
$service = new NetSuiteService();
$ItemId = '72309';
$ItemRecord= new InventoryItem();//StringCustomFieldRef
$itemField= new StringCustomFieldRef();
$itemField->scriptId = 'custitem_part_lookup';
$itemField->value = 'test';
$customFieldList = new customFieldList();
$customFieldList->customField = array($itemField);
$ItemRecord->internalId = $ItemId ;
$ItemRecord->customFieldList = $customFieldList;
$updateRequest = new UpdateRequest();
$updateRequest->record = $ItemRecord;
$updateResponse = $service->update($updateRequest);
?>
Для получения дополнительной информации вы можете посетить Группа пользователей Net Suite
Других решений пока нет …