我正在尝试2.0尺寸的手。这或多或少是我第一次使用SuiteScript 2.0。我正在尝试创建一个vendorpayment记录。我已经能够创建一个没有问题的供应商记录,但是当我尝试使用vendorpayment时,我收到一条错误,上面写着“你必须为此交易输入至少一个订单项”,这似乎是有道理的。这就是我被困住的地方。我似乎无法在2.0中创建该子列表项。
我尝试了一些东西,但基本上我正在创建这样的记录(类型,isDynamic和defaultValues是此函数中的参数.isDynamic为false):
var rec = record.create({
type: type,
isDynamic: isDynamic,
defaultValues: defaultValues
});
如何使用'rec'添加交易?我假设它进入'apply'子列表,所以我尝试了一些类似于
的东西 rec.selectLine('apply', 0);
rec.setSublistValue({'sublistId': 'apply', 'fieldId': 'doc', 'value': 'blah', 'line': 0});
但是我收到一条错误,上面写着“无法在对象DeferredDynamicRecord中找到函数selectLine”。我也尝试了其他各种片段,但没有爱。我不确定我是否会采用正确的方式。提前致谢。
答案 0 :(得分:0)
仅基于您提供的代码,有几点需要指出。首先使用这种类型的记录,您需要在defaultValue属性中设置'entity'值,以便甚至可以使用'apply'列表来获取或设置值。您的另一个选择是将'isDynamic'设置为true。有了它,您将再次需要在访问“应用”列表之前设置“实体”值。
下一个问题是rec.selectLine()调用。当记录不处于动态模式时,您不需要执行selectLine(),因此,如果执行selectLine(),则必须使用setCurrentSublistValue / Text()调用。
最后,您无法在应用列表中设置值'doc'。这不是一个子列表,例如可以动态添加到销售订单的Item子列表。它更类似于项目实现的列表,它限制了您在设置值方面的选项。您只能在“帐单付款”屏幕上的应用列表中影响以下字段:
'apply'-这是最左边的复选框。 'disc' - Disc Taken字段。 '金额' - 付款字段。
我建议在UI中运行创建帐单支付的过程,以便在尝试修复脚本之前从时间角度了解流程如何运行。祝你好运,我希望这会有所帮助。