NetSuite nlapiSubmitField для списка/записи

У меня проблемы с RESTlet, над которым я работаю. Я привожу список лиц, которые отменяют свои услуги. Затем мне нужно пройтись по списку, настроить их учетные записи как отмененные и указать причину отмены в поле симптома под названием «custrecord_scrapsymptomcode». Поле симптома имеет тип «Список/запись» и относится к одному из 20 элементов в списке под названием «Симптомы».

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

Я пробовал следующие стратегии до сих пор без везения:

nlapiSubmitField('customrecord_customer', j, 'custrecord_scrapsymptomcode', s);

а также

var rec = nlapiLoadRecord('customrecord_customer', j); 
nlapiSetFieldValue('custrecord_scrapsymptomcode', s);
nlapiSubmitRecord(rec);

«customrecord_customer» — это идентификатор типа записи, который я пытаюсь изменить.

«j» — это внутренний идентификатор записи клиента, которую я пытаюсь изменить.

'custrecord_scrapsymptomcode' - это идентификатор поля, которое я пытаюсь установить.

's' — симптом или причина отмены. Это должен быть пункт из списка симптомов. Я не совсем уверен, почему, но, похоже, ему нужно только целочисленное значение.

Есть ли лучший способ установить значение этого поля, учитывая, что это элемент списка? Ошибка, которую я получаю, связана с тем, как я пишу запись, или это скорее проблема с конфигурацией/разрешениями в моей системе? У меня должны быть полные права администратора в моей системе, если это полезно.

Спасибо!


person user3091348    schedule 17.03.2014    source источник
comment
Код, который вы используете, выглядит правильно. Проверьте наличие любого сценария или рабочего процесса, развернутого в записи. Проверьте, не прикреплен ли какой-либо клиентский скрипт к настраиваемой форме. Также проверьте разрешения в этом типе записи.   -  person Nitish    schedule 18.03.2014
comment
Я не могу найти никаких клиентских или серверных сценариев, которые помешали бы мне редактировать поля записи. Это RESTlet, поэтому я не ожидаю, что будет задействована форма или пользовательский интерфейс. Запись не должна иметь разрешений, необходимых для редактирования полей в соответствии со страницей типа записи. Спасибо за информацию, я все еще борюсь с этой проблемой разрешений.   -  person user3091348    schedule 27.03.2014


Ответы (2)


Попробуй это :

var rec = nlapiLoadRecord('customrecord_customer', j); 
rec.setFieldValue('custrecord_scrapsymptomcode', s);
nlapiSubmitRecord(rec);
person Nitish    schedule 31.03.2014
comment
Я пробовал это раньше и получаю ту же ошибку. У меня нет проблем с вызовами функции setFieldValue, но я получаю сообщение об ошибке при выполнении вызова функции nlapiSubmitRecord. - person user3091348; 01.04.2014
comment
Код, который я дал, правильный. Проверьте, является ли идентификатор действительным или нет. Он присутствует в пользовательском списке? Это должен быть пункт из списка симптомов. Я не совсем уверен, почему, но, похоже, ему нужно только целочисленное значение. setValue принимает внутренний идентификатор setText принимает тестовое значение - person Nitish; 02.04.2014

Идентификаторы настраиваемых полей имеют префикс custentity. Убедитесь, что вы используете правильный внутренний идентификатор поля.

person Saqib    schedule 17.03.2014