所以,这是我在做什么(硬编码现在最值的,只是想学习NS):以编程方式在NetSuite中创建PAYMENT_VENDOR记录?
var vendorBillPayment = record.create({
type: record.Type.VENDOR_PAYMENT,
isDynamic: false,
defaultValues: {
entity: 45
}
})
vendorBillPayment.setValue({
fieldId: 'entityname',
value: "Superior ISP"
})
vendorBillPayment.setValue({
fieldId: 'account',
value: 129
})
vendorBillPayment.setValue({
fieldId: 'currency',
value: 1
})
vendorBillPayment.setValue({
fieldId: 'customform',
value: 45
})
vendorBillPayment.setValue({
fieldId: 'exchangerate',
value: "1.00"
})
var recordId = vendorBillPayment.save({
enableSourcing: false,
ignoreMandatoryFields: true
})
现在,问题在下面的代码片段开始,VendorPayment记录有一个子表“应用” ,这是付款需要应用的账单清单。
vendorBillPayment.setSublistValue({
sublistId: 'apply',
fieldId: 'internalid',
line: 1,
value: "303"
});
返回的错误是:
error message:{"type":"error.SuiteScriptError","name":"UNEXPECTED_ERROR","message":null,"stack":["anonymous(N/recordService)","<anonymous>(/SuiteScripts/..)"],"cause":{"type":"internal error","code":"UNEXPECTED_ERROR","details":null,"userEvent":null,"stackTrace":["anonymous(N/recordService)","<anonymous>(/SuiteScripts/..)"],"notifyOff":false},"id":"","notifyOff":false}
也就是说,不是非常有用的信息。我一直在考虑他们的文档,但没有赢。
编辑:事实证明,申请子列表是类型列表。这意味着,不能以编程方式添加/删除该子列表中的行。只需编辑现有的线路。
除了创建VENDOR_PAYMENT记录之外,是否有另一种编程方式支付供应商帐单?
SuiteScript 2.0中子列表的第一个索引是'0'而不是'1';尝试将'line'设置为'0'。我想你还需要检查子列表行中的'apply'框,所以你需要在行上将'apply'设置为'true'。 – erictgrubaugh
@erictgrubaugh嗨,对不起延迟回复,并感谢您的回复。现在,关于这个问题 - 不可能通过netsuite上的VENDOR_PAYMENT记录来完成。原因是“apply”子列表的类型是“list”,这意味着你不能动态添加/删除行。您只能编辑现有的行。 – user2187935
有趣。尽管我没有专门与Vendor Payments一起尝试过此操作,但我知道客户付款不存在此限制。 – erictgrubaugh