2015-11-06 4 views
1

Я пытаюсь написать сценарий завершения заказа работы в NetSuite, но она возвращаетсяNetsuite Restlet - Ошибка Invalid Подсписок Операция

«SSS_INVALID_SUBLIST_OPERATION. - Вы попытались недопустимый подсписок или операции элемента строки Вы либо пытаешься получить доступ к поле на несуществующей строке или вы пытаетесь добавить или удалить строки из статического подсписчика ».

Вот мой код.

function preRequest(datain){ 
//var id = 514752; 
//var sn = KQ0006608; 
var record = nlapiTransformRecord('workorder', datain.id, 'workordercompletion'); 
record.setFieldValue('quantity', 1); 


var subrecord2=record.createSubrecord('inventorydetail'); 
subrecord2.selectNewLineItem('inventoryassignment'); 
//subrecord2.selectLineItem('inventoryassignment', 1); 
subrecord2.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', datain.sn); 
subrecord2.setCurrentLineItemValue('inventoryassignment', 'binnumber', 25); 
subrecord2.setCurrentLineItemValue('inventoryassignment', 'quantity', 1); 

subrecord2.commitLineItem('inventoryassignment'); 

subrecord2.commit(); 

record.commitLineItem('inventorydetail'); 


nlapiSubmitRecord(record); 


} 

Я добросовестно прошли через их документацию и знать, что ошибка и что может быть причиной, но я не знаю, как исправить код, чтобы он представит отчет. Любая помощь была бы потрясающей!

EDIT: Еще одна подсказка заключается в том, что Netsuite обрабатывает поле «Количество для сборки» («количество» в моем коде) в качестве подсписчика. Это основная причина ошибки. Исправлено это исправление моего кода. Просто не знаю, как это сделать.

РЕДАКТИРОВАТЬ: См. Страницу пользовательского интерфейса завершения заказа на выполнение работ для справки. Work Order Completion UI Page

+0

Можете ли вы проверить, проверен ли элемент сборки заказа на работу? что такое подсчет количества - каковы его подсловые поля, я не вижу его нигде в браузере с записью? – prasun

+0

Использовать бункеры. В браузере записи это будет количество, и да, это не подсветка, но находится под полем «Детали детали сборки». – jpalbert

+0

Я использовал тот же код, что и выше, он работал в моей тестовой учетной записи, как шарм. Пожалуйста, проверьте все обязательные поля в форме. И есть ли какое-либо другое пользовательское событие, развернутое по типу записи завершения рабочего задания, кто знает, что у них может быть ошибка? – prasun

ответ

0

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

Я считаю, что поле «inventoryassignment» предназначено для поля заголовка, поэтому вы получаете ошибку. Вместо этого попробуйте использовать «componentinventorydetail».

+0

Я подумал, что это тоже поначалу. Однако Деталь инвентаря находится в поле моего тела для формы ввода Заказа на выполнение работ. Из документации Netsuite. «При создании/оценке субзадача из поля тела используйте параметр инвентаризации как внутренний идентификатор для параметра fldname. При создании/доступе к субректу из поля подписок в подстранице Components используйте componentinventorydetail как внутренний идентификатор для параметра fldname. " – jpalbert

+0

тот же код выше работает для меня, поэтому я не согласен с вашим ответом. – prasun

0

Вау, поэтому я исправил его !!!

Прежде всего, с ошибкой Trace, которую я получал, было «validatePredecessorCompletedQuantity», в котором говорилось, что я сначала не понял, но поскольку пользователь, прасун, смог заставить мой код работать в своей тестовой среде Netsuite, что привело мне полагать, что это не проблема с кодом, а настройка Netsuite. Итак, какой из них?

Я искал подтверждение выполнения заказа на работу в документации Netsuite и нашел слайд-шоу для подтверждения выполнения заказов на выполнение работ. Я изменил настройки в разделе «Установки учетных записей» - «Порядок управления заказами» - «Рабочие заказы» в диспетчере установки - «Нет проверки», тогда как «Требование подтверждения перед сохранением» было связано с тем, что по какой-то причине оно не позволило мне продолжить. Он нуждается в подтверждении, которое мой код не предоставляет.

Т.Л., др

Перейти к SETUP-> Настройка Manager-> УЧЕТ> Учет Настройки-> Заказ Управление-> в разделе «Работа» Заказы изменения заголовка Проверка завершена в предшествующих операциях во время операции завершения на «Нет проверки "

Заключительный вопрос:

есть ли способ, чтобы адаптировать свой код, чтобы обеспечить Validation (что полезно!) и не должны изменить эту настройку?

0

Когда у меня была эта ошибка, это связано с тем, что в типе записи (customerpayment) я пытался создать строку списка подписок, а не преобразовывать из существующей записи (счет-фактуры) и редактировать ее автоматически заполняемые элементы «применить».

Смежные вопросы