2017-05-03 57 views
1

我正在尝试我的手在2.0 restlet。这或多或少是我使用SuiteScript 2.0的第一次体验。我正在尝试创建一个卖家付款记录。我已经能够创建一个没有问题的供应商记录,但是当我尝试使用vendorpayment时,出现一个错误消息,说:“您必须至少输入一个此事务的行项目”,这似乎是有道理的。这就是我卡住的地方。我似乎无法在2.0中创建该子列表项。如何从NetSuite 2.0 restlet创建vendorpayment记录?

我已经尝试了一些东西,但基本上我创建这样的记录(类型,isDynamic和defaultValues在这个函数的参数isDynamic是假的):

var rec = record.create({ 
     type: type, 
     isDynamic: isDynamic, 
     defaultValues: defaultValues 
    }); 

我如何再使用'rec'添加交易?我假设它进入到“应用”子表,所以我已经试过类似的一些事情

rec.selectLine('apply', 0); 
    rec.setSublistValue({'sublistId': 'apply', 'fieldId': 'doc', 'value': 'blah', 'line': 0}); 

,但我得到的是说,一个错误“无法找到对象中的功能DeferredDynamicRecord selectLine”。我也尝试了各种其他片段,但没有爱。我不确定我是否以正确的方式开展工作。提前致谢。

回答

0

仅基于您提供的代码,需要指出的几件事情。首先使用这种类型的记录,您需要在defaultValue属性中设置“实体”值,以便甚至可以使用“应用”列表来获取或设置值。您的其他选项是将“isDynamic”设置为true。因此,您需要在访问“申请”列表之前再次设置“实体”值。

下一个问题是rec.selectLine()调用。当记录不处于动态模式时,不需要执行selectLine(),因此,如果执行selectLine(),则必须使用setCurrentSublistValue/Text()调用。

最后,您不能在应用列表中设置值'doc'。这不是一个子列表,例如可以动态添加的销售订单上的项目子列表。它更像是项目实现的列表,它限制了您有关于设置值的选项。您只能影响“付款”屏幕上应用列表中的以下字段:

'apply'这是最左边的复选框。 “光盘” - “光盘已拍摄”字段。 '金额' - 支付领域。

我建议通过在UI中创建账单支付的流程来运行,以便您了解在尝试修复脚本之前,如何从定时角度运行流程。祝你好运,我希望这有助于。