Сохранить значение для продажи за наличные с полем пользовательского сегмента

Я пытаюсь сохранить продажу за наличные в netsuite, у нас есть настраиваемое поле сегмента с именем business unit (ScriptId = custbody_cseg2), и мне нужно указать для него определенное значение (Internal Id = 2 в пользовательском сегменте).

Я использую следующий код, который почти такой же, как у нас в справке netsuite, но применяется к транзакции продажи за наличные:

SelectCustomFieldRef selectCustomFieldRef = new SelectCustomFieldRef();
ListOrRecordRef custSelectValue = new ListOrRecordRef();
custSelectValue.internalId = "2";
//custSelectValue.typeId = "286"; <- with or whitout doesn't change
selectCustomFieldRef.value = custSelectValue;
selectCustomFieldRef.scriptId = "custbody_cseg2";
CustomFieldRef[] customFieldRefArray = new CustomFieldRef[1];
customFieldRefArray[0] = selectCustomFieldRef;
cashSale.customFieldList = customFieldRefArray;

Когда я запускаю этот код, я получаю следующую ошибку:

[Code=INSUFFICIENT_PERMISSION] You do not have permissions to set a value for element custbody_cseg2 due to one of the following reasons: 1) The field is read-only; 2) An associated feature is disabled; 3) The field is available either when a record is created or updated, but not in both cases.

Кто-нибудь знает в чем будет ошибка?

Большое спасибо!

2 ответа

В качестве настраиваемого поля проверьте уровень доступа к полю в форме создания настраиваемого поля. Возможно, у вас недостаточно прав для редактирования этого поля.

Это может быть связано с вашими полномочиями роли.

В NetSuite перейдите в "Настройка => Пользователи / Роли => Управление ролями". Выберите роль, которую вы используете для доступа к NetSuite через веб-сервисы. На вкладке "Разрешения" выберите вложенную вкладку "Транзакции" и добавьте "Продажа за наличные". Смотрите изображение ниже:

Другие вопросы по тегам