You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何为采购订单的Item子列表添加自定义Checkbox字段?

Hey there! 给采购订单的Item子列表添加Checkbox字段其实有两种常用方案,我给你捋清楚步骤,不管是用系统原生配置还是需要自定义逻辑都能搞定:

方案一:原生配置(零代码,快速实现)

如果只是需要一个简单的勾选框,不需要复杂逻辑,直接用系统自带的自定义字段功能就行:

  • 先进入自定义事务处理行字段的设置页面(不同系统路径可能略有差异,比如NetSuite里是「自定义 > 自定义字段 > 事务处理行字段」)
  • 点击「新建」按钮,字段类型直接选复选框
  • 填写字段基本信息:给字段起个易懂的名字(比如「需要优先备货」),系统会自动生成字段ID,也可以自己设置成有意义的标识(比如custcol_priority_stock
  • 重点来了!在「应用对象」或者「应用到」标签页里,一定要勾选采购订单,确保这个字段只在采购订单里显示
  • 切换到「显示设置」标签页,找到「子列表」选项,选择「项目/Item」子列表,再设置好显示顺序和可见权限(比如给采购团队可见)
  • 保存之后,打开任意一张采购订单,你就能在Item子列表里看到这个新的Checkbox字段了,勾选后的值会自动保存到系统里
方案二:脚本开发(适合带业务逻辑的场景)

如果你的Checkbox需要和其他字段联动(比如勾选后自动触发库存检查),或者有特殊的显示规则,那就得用脚本实现了。以NetSuite的SuiteScript 2.x为例,给你写个简单的示例:

/**
 * @NApiVersion 2.x
 * @NScriptType UserEventScript
 */
define(['N/ui/serverWidget'], function(serverWidget) {
    function beforeLoad(context) {
        // 只在查看或编辑采购订单时添加字段
        if ([context.UserEventType.VIEW, context.UserEventType.EDIT].includes(context.type)) {
            var form = context.form;
            // 获取采购订单的Item子列表
            var itemSublist = form.getSublist({id: 'item'});
            // 向子列表添加Checkbox字段
            itemSublist.addField({
                id: 'custcol_custom_checkbox',
                type: serverWidget.FieldType.CHECKBOX,
                label: '自定义复选框'
            });
        }
    }
    return {
        beforeLoad: beforeLoad
    };
});
  • 注意:如果只是需要临时展示字段,用脚本没问题;但如果需要持久化保存勾选的值,还是建议用方案一的原生自定义字段,脚本字段默认不会保存数据哦
  • 部署脚本时,记得选择应用对象为「采购订单」,并设置好执行的事件(比如页面加载前)

如果是其他ERP系统(比如SAP、Oracle Cloud),核心逻辑也是类似的:找到事务行自定义字段的配置入口,选择Checkbox类型,关联到采购订单的Item子列表就行,只是界面路径会有区别~

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

火山引擎 最新活动