Netsuite - 设置行项目值

时间:2015-03-17 21:38:16

标签: netsuite

我试图找出如何从项目字段上的另一个字段的值设置自定义值项目。我没有收到任何错误,但它没有改变价值。

以下是代码:

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);
    }
   }
}

4 个答案:

答案 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>