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

NetSuite采购订单:按子公司权限控制物料子列表下拉可见物料

NetSuite采购订单物料子列表按子公司过滤特殊物料的实现方案

核心逻辑

根据当前用户所属子公司,动态过滤采购订单物料子列表的下拉选项:

  • 子公司ID为"1"的用户:仅显示勾选了「特殊物料」复选框的物料
  • 其他子公司用户:仅显示未勾选「特殊物料」复选框的物料

实现步骤与代码

使用SuiteScript 2.x客户端脚本绑定采购订单页面,在页面初始化及子列表变更时设置物料字段的过滤规则:

/**
 * @NApiVersion 2.x
 * @NScriptType ClientScript
 * @NModuleScope SameAccount
 */
define(['N/currentRecord', 'N/runtime'], function(currentRecord, runtime) {

    // 页面初始化时应用过滤
    function pageInit(context) {
        applyItemFilter();
    }

    // 核心过滤逻辑
    function applyItemFilter() {
        const currentUser = runtime.getCurrentUser();
        const subsidiaryId = currentUser.subsidiary.toString(); // 转为字符串避免类型匹配问题
        const poRecord = currentRecord.get();
        const sublistId = 'item';
        const itemFieldId = 'item';
        // 替换为你实际的「特殊物料」自定义字段ID
        const specialItemFieldId = 'custitem_special_item';

        let filterExpression;
        if (subsidiaryId === '1') {
            // 子公司1:仅显示特殊物料
            filterExpression = [[specialItemFieldId, 'is', true]];
        } else {
            // 其他子公司:隐藏特殊物料
            filterExpression = [[specialItemFieldId, 'is', false]];
        }

        // 给物料子列表字段设置过滤条件
        poRecord.setFilterExpression({
            sublistId: sublistId,
            fieldId: itemFieldId,
            filterExpression: filterExpression
        });
    }

    // 子列表新增/变更行时重新应用过滤,确保新行下拉生效
    function sublistChanged(context) {
        if (context.sublistId === 'item') {
            applyItemFilter();
        }
    }

    return {
        pageInit: pageInit,
        sublistChanged: sublistChanged
    };
});

关键注意事项

  • 字段ID替换:务必将代码中的custitem_special_item替换为你NetSuite环境中实际的「特殊物料」自定义复选框字段ID
  • 脚本部署:将脚本部署到采购订单的「创建」和「编辑」页面,确保触发时机正确
  • 子公司ID匹配:NetSuite中用户子公司返回的是内部ID,若你的子公司内部ID是数字类型,可调整代码中的类型转换逻辑
  • 额外触发时机:若需要在点击物料下拉框时强制刷新过滤,可添加fieldChanged事件监听物料字段的交互

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 15:23:13