NetSuite PHP SDK — установка entityStatus для клиента игнорируется

Я создаю клиентов для NetSuite из своего приложения с помощью NetSuite PHP SDK версии 2013_2.

В основном это работает, но я не могу установить статус для новых клиентов. Несмотря ни на что, статус всегда будет CUSTOMER-Won Customer, чего я не хочу. Я не могу найти никакой документации по этому поводу, поэтому я в основном пробовал все, что казалось разумным, и пытался понять код SDK. Вот некоторые из вещей, которые я пробовал:

$customer->entityStatus = 17;

$customer->entityStatus = new \RecordRef(array('internalId' => 17, 'type' => 'customer'));

$customer->entityStatus = new \RecordRef();
$customer->entityStatus->internalId = 17;

Все это просто игнорируется. Я пробовал разные внутренние идентификаторы (и, конечно же, я убедился, что все они существуют в системе). Пробовал использовать строки ('17' вместо 17), но ничего не помогло.

В документации об этом тоже ничего нет.

Вот мой полный рабочий код:

    $ns = new \NS_NetSuiteService();
    $customer = new \Customer();
    $customer->companyName = $company->getName();
    $customer->entityStatus = 17;
    $customer->email = $user->getEmail();

    $request = new \AddRequest();
    $request->record = $customer;

    $res = $ns->add($request);

person Phil    schedule 21.01.2014    source источник


Ответы (1)


Я всегда сначала создаю RecordRef, а затем устанавливаю поле. Кажется, держит вещи в порядке для меня:

$entityStatus = new RecordRef();
$entityStatus->internalId = 17;
$entityStatus->recordType = "customerStatus";

$customer->entityStatus = $entityStatus;

Или возьмите мой пример и сократите код, как только увидите, что он работает таким образом.

person Suite Resources    schedule 21.01.2014
comment
Это работает, большое спасибо. Похоже, моя проблема заключалась в том, что я установил тип «клиент» вместо «статус клиента». Есть ли какая-либо документация для этого? - person Phil; 21.01.2014