有一个自定义的事务行字段,名为“custcol_so_line_id”。其值应与子列表行的ID相同。
代码如下:
function beforeSubmit(context) {
var rec = context.newRecord;
var lineItemID = rec.getSublistValue({
sublistId: 'item',
fieldId: 'id',
line: 1
});
rec.setSublistValue({
sublistId: 'item',
fieldId: 'custcol_so_line_id',
value: lineItemID
});
}
return {
beforeSubmit: beforeSubmit
}
单击“销售记录”中的“保存”按钮后。销售记录应在自定义行字段“cuscol_so_line_id”中显示SO_12345。但它没有显示错误如下:load: Missing a required argument: id
代码var salesRec = record.load({...
如果我将入口点更改为“afterSubmit”,则会出现SO_12345。
我们不能在提交之前更新记录吗?如何在beforeSubmit
函数中找到行的id?
在提交功能之前,您将无法获得记录ID。这导致您提到的错误。
在提交之后,您将获得记录ID,因为它是在保存记录之后。
你想用salesRec
得到的东西和rec
的东西一样。但是,您无法加载salesRec
,因为在beforeSubmit
被触发时尚未写入数据库。您需要对rec
进行更改。
function beforeSubmit(context) {
var rec = context.newRecord;
rec.setSublistValue({
sublistId: 'item',
fieldId: 'custcol_so_line_id',
value: 'SO_12345',
line: 1
});
}
return {
beforeSubmit: beforeSubmit
}
我发现URL就像这个(domain).netsuite.com/app/accounting/transactions/salesord.nl?whence=
里面没有销售记录ID。
这是否意味着没有生成记录的ID?如果是,则行ID可能还没有定义,因为它的前缀将是RECORD-ID_LINE-INDEX,例如, 2100627_2
,其中2100627
是记录ID,而2
是线索引。