Как вызвать NetSuite SuiteTalk inventoryitem add, используя имя списка для значения StringCustomFieldRef вместо internalID?

При добавлении нового элемента инвентаря через API у нас есть несколько настраиваемых полей на основе списков, которые нам необходимо заполнить. Я хочу иметь возможность использовать строковое значение для поля, но когда я пытаюсь устранить ошибки.

У нас есть собственный список с двумя значениями: InternalId 1 - «LTL», InternalId 2 - «FedEx».

Я попытался отправить значение как StringCustomFieldRef, и при установке значения в строковое значение «LTL» мы получаем ошибку недопустимой ссылки. При установке значения для internalId, равного 1, он работает.

Я также пробовал использовать SelectCustomFieldRef, и при установке value-> name на строковое значение «LTL» возникает ошибка, как будто мы вообще не передали значение. Когда мы устанавливаем value-> internalId равным 1, он работает.

Можно ли просто передать строковое значение?

Не работает:

                $customField1 = new StringCustomFieldRef();
                $customField1 ->value = "LTL";
                $customField1 ->scriptId = 'custitem_zu_zu_fulfill_pref';

Работает:

                $customField1 = new StringCustomFieldRef();
                $customField1 ->value = "1";
                $customField1 ->scriptId = 'custitem_zu_zu_fulfill_pref';

Это ответ с ошибкой:

<platformCore:statusDetail type="ERROR">
    <platformCore:code>INVALID_KEY_OR_REF</platformCore:code>
    <platformCore:message>Invalid custitem_zu_zu_fulfill_pref reference key LTL.</platformCore:message>
</platformCore:statusDetail>

person TKarr    schedule 18.09.2019    source источник


Ответы (1)


Нет, к сожалению, вы не можете установить поле со значением Name - вам придется использовать internalId. Если ваше настраиваемое поле основано на списке, вы должны использовать SelectCustomFieldRef или MultiSelectCustomFieldRef.

Если вы хотите использовать значение Name, вы можете выполнить CustomListSearchBasic, чтобы получить Name и internalId каждого элемента и сопоставить это с выбранным вами именем.

person Will Charbonneau    schedule 20.09.2019