You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SuiteScript在NetSuite中创建自定义record type?

问题解答

是否可以通过SuiteScript创建自定义记录类型

可以直接通过SuiteScript实现自定义记录类型的创建,无需手动在UI端操作。你提到的UI路径自定义 > 列表、记录和字段 > 记录类型 > 新建类型的所有操作都可以通过代码实现。

实现方案

前置要求

  • 支持SuiteScript 2.0/2.1版本,需使用N/record服务器端模块
  • 脚本部署的角色必须拥有「自定义记录类型」的创建、编辑权限
  • 自定义记录的脚本ID必须以customrecord_为前缀,且全局唯一

示例代码(SuiteScript 2.1)

/**
 * @NApiVersion 2.1
 * @NScriptType ScheduledScript
 */
define(['N/record'], (record) => {
    const execute = (context) => {
        // 初始化自定义记录类型实例
        const customRecord = record.create({
            type: record.Type.CUSTOM_RECORD_TYPE,
            isDynamic: true
        });

        // 配置自定义记录基础属性
        customRecord.setValue({ fieldId: 'name', value: '我的自定义记录' });
        customRecord.setValue({ fieldId: 'scriptid', value: 'customrecord_my_test_record' });
        customRecord.setValue({ fieldId: 'isinactive', value: false });
        customRecord.setValue({ fieldId: 'showname', value: true });
        customRecord.setValue({ fieldId: 'namefieldlabel', value: '记录名称' });
        customRecord.setValue({ fieldId: 'includeinsearch', value: true });
        customRecord.setValue({ fieldId: 'allowattachments', value: true });

        // 可选:添加自定义字段到该记录类型
        customRecord.selectNewLine({ sublistId: 'customfields' });
        customRecord.setCurrentSublistValue({ sublistId: 'customfields', fieldId: 'label', value: '关联客户' });
        customRecord.setCurrentSublistValue({ sublistId: 'customfields', fieldId: 'type', value: 'SELECT' });
        customRecord.setCurrentSublistValue({ sublistId: 'customfields', fieldId: 'scriptid', value: 'custrecord_my_test_customer' });
        customRecord.setCurrentSublistValue({ sublistId: 'customfields', fieldId: 'recordtype', value: 'customer' });
        customRecord.commitLine({ sublistId: 'customfields' });

        // 保存自定义记录类型
        const newRecordId = customRecord.save();
        log.debug('自定义记录创建成功', '记录ID:' + newRecordId);
    };

    return { execute };
});

注意事项

  • 仅支持服务器端脚本(计划脚本、RESTlet、用户事件脚本、Map/Reduce脚本均可),客户端脚本无法执行该操作
  • 重复的scriptid会导致创建失败,创建前可先搜索确认目标ID是否已被占用
  • 可通过修改上述代码中的字段值,自定义记录的权限配置、搜索可见性、子列表关联等属性,和UI端配置效果完全一致

内容的提问来源于stack exchange,提问作者spencer741

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 16:06:04