#mapreduce #netsuite #suitescript #suitescript2.0
Вопрос:
При создании пользовательской записи я вызываю сценарий сокращения карты, который при создании отрицательной корректировки запасов. Скрипт вызывается после отправки. Я использую следующий код для заполнения вложенных записей сведений об инвентаризации
for (var n = 0; n < cp_lotsearch.length; n ) {
if (cree_onhand > 0) {
var cp_lotid = cp_lotsearch[n].getValue({name: 'internalid'});
var cp_parentcasenum = cp_lotsearch[n].getValue({name: 'custrecord_nsts_ia_lot'});
var itemsearch = search.create({
type: 'item',
filters: ['inventorynumber.inventorynumber', 'is', cp_parentcasenum],
columns: [search.createColumn({name: "quantityonhand", join: "inventorynumber"})]
}).run().getRange({
start: 0,
end: 1000
});
var qtyonhand = itemsearch[0].getValue({name: 'quantityonhand', join: 'inventorynumber'});
var remain_qtyonhand = Number(qtyonhand) - Number(cree_onhand);
if (remain_qtyonhand >= 0) {
var reduceqty = 0 - Number(cree_onhand);
} else {
var reduceqty = 0 - Number(qtyonhand);
}
log.debug("reduceqty", reduceqty);
subrecord.insertLine({sublistId: 'inventoryassignment',line: n});
subrecord.setSublistText({ sublistId: 'inventoryassignment',fieldId: 'issueinventorynumber',line: n,text: cp_parentcasenum});
subrecord.setSublistValue({sublistId: 'inventoryassignment',fieldId: 'binnumber', line: n, value: cree_bin});
subrecord.setSublistValue({sublistId: 'inventoryassignment',fieldId: 'quantity',line: n,value: reduceqty});
log.debug("reduceqty added to inventory detail", reduceqty);
cree_onhand = Number(cree_onhand) Number(reduceqty);
}
}
var invadjid = parentcase_inv_Adj.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
Когда я пытаюсь запустить этот код, я получаю следующую ошибку:
«тип»:»ошибка.SuiteScriptError»,»имя»:»ОШИБКА ПОЛЬЗОВАТЕЛЯ»,»сообщение»:»Вам все еще необходимо перенастроить запись сведений о запасах после изменения количества».
Тот же код отлично работает в учетной записи песочницы, но в рабочей среде он выдает ошибку
Кто-нибудь может помочь мне решить эту ошибку?
У меня есть одно решение в ответе, которое я уже пробовал, но оно не работает, вот ссылка на него: https://netsuite.custhelp.com/app/answers/detail/a_id/80790/kw/reconfigure error
Ответ №1:
Я обнаружил, что эта ошибка может быть вызвана на стороне сервера, если :
- включена функция нескольких единиц измерения.
- единицы измерения запасов не являются 1 к 1, т. е. Единица поступления находится в упаковках по 20 штук, но базовая единица измерения UOM равна 1.
- товар серийно выпускается.
Однако, если то же самое будет предпринято на стороне клиента, ошибка станет «Общее количество деталей запасов должно быть XX» (XX-это количество, установленное в «adjustqtyby» в строке корректировки запасов).