#javascript #netsuite
Вопрос:
Я получаю ошибку в NetSuite и пытаюсь ее устранить. Цель состоит в том, чтобы рассчитать общий вес заказа на продажу и разнести как сохраненное значение. Я вычисляю вес каждой позиции, но борюсь со сценарием, чтобы суммировать все строки. Я пробовал этот скрипт как UserEventScript и ClientScript — Пожалуйста, помогите!
*@NApiVersion 2.0
*@NScriptType UserEventScript
*/
define([],
function() {
function afterSubmit(context) {
var objRecord = context.currentRecord;
var lines = objRecord.getLineCount({sublistId: 'item'});
var totalWeight = 0 ;
for (var i = 1; i < lines 1; i ) {
var weight = objRecord.getSublistValue({sublistId: 'item', fieldId: 'custcol_individual_weight', line: i});
var quantity = objRecord.getSublistValue({sublistId: 'item', fieldId: 'quantity', line: i});
var weightTimesQuantity = weight * quantity;
totalWeight = totalWeight weightTimesQuantity ;
}
objRecord.setValue({fieldId: 'custbody_items_total_weight',value: totalWeight});
}
return {
afterSubmit: afterSubmit
};
});````
Комментарии:
1. Я могу ошибаться, и часто ошибаюсь, но я думаю, что счетчик getLineCount основан на нулевом индексе и не начинается с 1 в SuiteScript 2.0.
Ответ №1:
Поскольку вы пытаетесь обновить запись, вы захотите сделать ее сценарием события перед отправкой.
Кроме того, если вы не убедились, что все текущие и будущие товары имеют определенный вес, у вас должен быть запасной вариант для случая, когда у товара нет введенного веса.