我试图找出如何从项目字段上的另一个字段的值设置自定义值项目。我没有收到任何错误,但它没有改变价值。
以下是代码:
function validatePOLineItem(type){
if(type == 'item'){
for (var i = 0; i <= nlapiGetLineItemCount('item'); i++) {
// Get the value for amount on the item line
var amount = nlapiGetCurrentLineItemValue('item', 'amount');
// Get the value for the PO Amount on the item line
var po_amount = nlapiGetCurrentLineItemValue('item', 'custcol_po_amount');
// Set PO Amount equal to Amount on the item line
nlapiSetCurrentLineItemValue('item', po_amount, amount);
}
}
}
答案 0 :(得分:2)
看起来你没有想要设置的列名。此外,你只需要更新&#34;当前&#34;线...
function validatePOLineItem(type){
if(type == 'item'){
var amount = nlapiGetCurrentLineItemValue('item', 'amount');
nlapiSetCurrentLineItemValue('item', 'custcol_po_amount', amount);
}
}
答案 1 :(得分:1)
这是客户端脚本还是用户事件脚本?如果它是部署在validate line事件上的客户端脚本,则不需要执行循环。由于每次添加一行都会触发该功能。此外,您还需要添加“return true”作为要添加的行的最后一行。
答案 2 :(得分:0)
您无法以编程方式操作amount
字段。您需要修改数量或费率。如果您尝试应用折扣或类似的东西,那么我建议使用NetSuite的折扣项目或促销代码机制。
答案 3 :(得分:0)
问题:如果您只是处理当前订单项,为什么还需要循环?
建议的解决方案:如果您想要实现它,您可以将费率设置为'custcol_po_amount'
,但只有在数量为1且假设'custcol_po_amount'
上的值准确时才会生效。 / p>