gpt4 book ai didi

javascript - SuiteScript 根据发货位置计算重量总和

转载 作者:行者123 更新时间:2023-12-01 02:26:55 27 4
gpt4 key购买 nike

我希望能够根据发货地点计算销售订单上商品的总重量,并将这些值存储在自定义字段中。我在提交之前创建了一个脚本。自定义字段设置为十进制数字类型,并选中存储值框,但销售订单页面上的字段下没有显示任何内容。

function calculateWeight(type){

var lines = nlapiGetLineItemCount('item');

var totalWeight2 = 0 ;
var totalWeight1 = 0 ;

if (lines >0){
for(var i = 1; i<= lines ; i++){
var location = nlapiGetLineItemValue('item','location', i);
var quantitycommitted = nlapiGetLineItemValue('item','quantitycommitted', i);
var weight = nlapiGetLineItemValue('item','custcol_individual_weight', i);
//var com_wgt = nlapiGetLineItemValue('item','custcol1',i);

if (location === '2'){
var total2 = weight * quantitycommitted;

totalWeight2 += total2 ;
}

if (location === '1'){
var total1 = weight * quantitycommitted;

totalWeight1 += total1 ;
}

}

nlapiSetFieldValue('custbody5', totalWeight1);
nlapiSetFieldValue('custbody4', totalWeight2);

}

}

我仍在学习 SuiteScript,我不太确定哪里出了问题......有人可以帮忙吗?

<小时/>

更新了代码,仅适用于部分订单...

function calculateWeight(type){

var lines = nlapiGetLineItemCount('item');
//nlapiLogExecution('DEBUG', 'Number of lines', lines);

var totalWeight2 = 0 ;
var totalWeight1 = 0 ;

if (lines >0){
for(var i = 1; i<= lines ; i++){
var location = nlapiGetLineItemValue('item','location', i);
//nlapiLogExecution('DEBUG', 'Locations', location);
var quantitycommitted = parseInt(nlapiGetLineItemValue('item','quantitycommitted', i),10) || 0;
//nlapiLogExecution('DEBUG', 'QtyCom', quantitycommitted);
var weight = parseFloat(nlapiGetLineItemValue('item','custcol_individual_weight', i)) ||0;
//nlapiLogExecution('DEBUG', 'Wgt', weight);

//var com_wgt = nlapiGetLineItemValue('item','custcol1',i);

if (location == '2'){
var total2 = weight * quantitycommitted;

totalWeight2 += total2 ;
nlapiLogExecution('DEBUG', 'Total2', totalWeight2);

}

if (location == '1'){
var total1 = weight * quantitycommitted;

totalWeight1 += total1 ;
nlapiLogExecution('DEBUG', 'Total1', totalWeight1);
}

}

nlapiSetFieldValue('custbody_ms_weight_ppt_page', totalWeight1);
nlapiSetFieldValue('custbody_wi_weight_ppt_page', totalWeight2);

}

}

最佳答案

您需要解析行值:

var quantitycommitted = parseInt(nlapiGetLineItemValue('item','quantitycommitted', i),10) || 0;
var weight = parseFloat(nlapiGetLineItemValue('item','custcol_individual_weight', i)) ||0;

此外,在某些情况下,您的位置 ID 不会是字符串,因此这也可能是问题所在。依靠 == 而不是 === 有效。

关于javascript - SuiteScript 根据发货位置计算重量总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48708076/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com