首页 > 解决方案 > NetSuite 通过客户端脚本设置销售订单项目价格

问题描述

是否可以在 NetSuite SuiteScript 2.0 中设置销售订单项目的价格?

我有以下函数可以设置数量、数量和描述。但是,显示我的消息说数量和价格不匹配。似乎价格字段默认为原始库存(或本例中的非库存)项目的价格。即使尝试设置硬代码,函数中的值也不起作用。

  function updateSalesOrderItem(configuredItem) {
console.log("updateSalesOrderItem....")
var salesOrder = currentRecord.get();

var lineItem = salesOrder.selectLine({
  sublistId: "item",
  line: lastItemModified.rowNumber
});
console.log({"lineItem": lineItem});

var priceSubListValue = salesOrder.getCurrentSublistValue({
  sublistId: "item",
  fieldId: "price"
});
console.log({"current price": priceSubListValue});

console.log("  Setting the quantity...");
salesOrder.setCurrentSublistValue({
  sublistId: "item",
  fieldId: "quantity",
  value: configuredItem.quantity
});

// Update the item price to suppress warning message.  Before the item is configured, we don't know the price
// therefore it wouldn't match and the warning message is displayed
/*
var amt = parseFloat(configuredItem.amount);
var q = parseInt(configuredItem.quantity);
var p = amt/q;
var price = p.toFixed(2);

console.log({'price': price});
*/
salesOrder.setCurrentSublistValue({
  sublistId: "item",
  fieldId: "price",
  value: "999.99"
});


salesOrder.setCurrentSublistValue({
  sublistId: "item",
  fieldId: "amount",
  value: configuredItem.amount
});

console.log("  Setting the description...");
salesOrder.setCurrentSublistValue({
  sublistId: "item",
  fieldId: "description",
  value: configuredItem.description
});

salesOrder.commitLine({sublistId: "item"});

}

标签: netsuitesuitescript2.0

解决方案


在设置费率之前将价格水平设置为自定义。

salesOrder.setCurrentSublistValue({
  sublistId: "item",
  fieldId: "price",
  value: -1
});

salesOrder.setCurrentSublistValue({
  sublistId: "item",
  fieldId: "rate",
  value: 999.00
});

如果您在 jCurve 帐户中并且无法设置自定义价格水平,您可能需要将项目本身设置为具有可变价格。如果您的帐户中有 Netsuite 电子商务,则可以使用。


推荐阅读