use*_*935 7 netsuite suitescript
所以,这就是我正在做的事情(现在硬编码大多数值,只是想学习NS):
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
})
Run Code Online (Sandbox Code Playgroud)
现在,问题从下面的代码段开始,VendorPayment记录有一个子列表'apply',这是付款需要应用的账单清单.
vendorBillPayment.setSublistValue({
sublistId: 'apply',
fieldId: 'internalid',
line: 1,
value: "303"
});
Run Code Online (Sandbox Code Playgroud)
返回的错误是:
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}
Run Code Online (Sandbox Code Playgroud)
也就是说,消息不是很有用.我一直在浏览他们的文档,但没有获胜.
编辑:结果是apply子列表是类型列表.这意味着,不能以编程方式添加/删除该子列表中的行.只是编辑现有的线条.
除了创建VENDOR_PAYMENT记录之外,还有其他方式以编程方式支付供应商账单吗?
根据您提供的代码很难确定,但我看到两个潜在的问题。首先,根据 NetSuite 文档,Apply 子列表被列为可编写脚本。您可以在此处查看记录浏览器中供应商付款下列出的子列表:https: //system.na1.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_1/script/record/itemfulfillment.html 您还可以看到“apply”子列表在可编写脚本的子列表列表中专门调用: https: //system.na2.netsuite.com/app/help/helpcenter.nl ?fid=chapter_N3206326.html
现在讨论代码问题。正如我之前所说,这并不完全清楚,但根据您上面提供的内容,您似乎正在尝试在保存记录后添加/编辑记录上的“应用”子列表。您需要在保存之前添加子列表值,或者在设置子列表值之前重新加载记录。我看到的第二个问题是您正在尝试设置子列表记录的“internalid”,但您无法这样做。我可能是错的,但我不知道 NetSuite 中的任何记录、自定义记录或其他允许设置“internalid”的记录。我可以通过您尝试编写的更大的脚本样本提供更清晰的方向,但到目前为止,这就是您的示例中可以看到的全部内容。
| 归档时间: |
|
| 查看次数: |
831 次 |
| 最近记录: |