NetSuite脚本问题:如何向自定义Record正确传递recordtype值?
NetSuite脚本部署中设置
recordtype字段的正确值格式 你的问题核心是混淆了Record Type记录的内部ID和目标记录类型的内部ID字符串:
- 自定义字段是指向「Record Type List」的list/record字段,
getValue拿到的-215这类负数是Record Type这条系统记录的内部ID,而非你要关联的业务记录类型的标识。 - 脚本部署记录的
recordtype字段需要的是目标记录类型的内部ID字符串(比如customer、vendor、customrecord_xxx这类),不是Record Type记录的ID,也不是显示名称。
正确实现步骤
- 先从自定义字段中获取对应的Record Type记录引用
- 从该引用中提取
scriptid字段的值,这就是recordtype字段需要的合法值
修正后的代码示例
// 从自定义字段获取Record Type记录引用 const recordTypeRecord = newRecord.getRecord({ fieldId: 'custrecord_record_type' }); // 提取目标记录类型的内部ID字符串(即Record Type记录的scriptid) const targetRecordTypeId = recordTypeRecord.getValue({ fieldId: 'scriptid' }); // 设置脚本部署记录的recordtype字段 deploymentRecord.setValue({ fieldId: 'recordtype', value: targetRecordTypeId });
为什么之前的尝试无效?
- 直接用
-215这类数值:这是Record Type记录的ID,不是业务记录类型的标识,系统无法识别。 - 用显示名称(如
Accounting Context)或各种格式的名称字符串:recordtype字段只认内部ID字符串,不接受显示名称。
内容的提问来源于stack exchange,提问作者fran35
相关产品推荐
相关产品推荐

