请参阅NetSuite的SuiteScript 2.0 API文档。要设置子列表字段的值,请在 STANDARD 模式下使用“ Record.setSublistValue(options)”。
在 DYNAMIC (动态)模式下工作时,请使用以下一种方法设置子列表字段值: 1. Record.selectLine(选项) 2. Record.setCurrentSublistValue(options) 3. Record.commitLine(options)
但是什么是 STANDARD 和 DYNAMIC 模式? 他们有什么区别?
答案 0 :(得分:2)
简而言之,在您设置每个字段时,动态模式会运行字段源和验证,而标准模式(或NetSuite文档中也称为递延动态模式)在您调用{{1}之前不会运行字段源和验证。 }。
这意味着DYNAMIC模式的行为更像UI,这与设置字段的顺序很重要。如果您手动设置源字段,则最终值取决于在触发源的字段之前还是之后设置它。在标准模式下,这不是问题-您将始终获得相同的值。
可以找到更多信息here(需要NetSuite登录)。
答案 1 :(得分:1)
动态表示它在被操纵时会立即做出反应。例如,当您将商品添加到动态加载的订单中时,总价格之类的字段将立即重新计算,您无需保存订单即可从记录中获取它们。
如果记录是非动态加载的,则总价格字段将具有从加载记录时起的值,并且直到您保存记录后才会更新
在isDynamic: true
调用中使用record.load
时,记录以动态模式加载:
var r = record.load({
type: record.Type.SALES_ORDER,
id: 123,
isDynamic: true,
});
处理非动态记录的速度更快-如果您不打算使用动态记录,请不要使用动态记录。 (例如,用于在保存记录之前获取总价。)