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

SuiteScript 2.0中如何从采购订单获取供应商名称列?

搞定NetSuite采购订单搜索:添加供应商名称列

嘿,作为NetSuite新手遇到这种小障碍太正常了!我来帮你把供应商名称加到采购订单的物料搜索里,分两种常用场景给你说明:

一、用保存的搜索(Saved Search)操作

这是最直观的方式,不用写代码:

  • 先打开你现有的采购订单保存搜索,或者新建一个:Setup > Reporting > Saved Searches > New,选择Purchase Order类型
  • 切换到Results标签页,点击Add Field
  • 在字段选择器里,左边先选Purchase Order(主记录,别选Line Items子记录哦!),然后找到Vendor相关的字段——直接搜“Vendor Name”就能找到,或者选Entity Name并关联到Vendor
  • 添加后调整列的顺序和显示标签,保存搜索就搞定了!

为啥之前可能失败?大概率是你选了物料行(Line Items)的字段,但供应商是采购订单主记录的属性,必须从主记录里选才行~

二、用SuiteScript脚本实现

如果你的搜索是用脚本写的,只需要在columns里加上关联供应商的字段就行,给你个完整示例:

// 创建包含物料信息和供应商名称的采购订单搜索
var poSearch = search.create({
    type: search.Type.PURCHASE_ORDER,
    columns: [
        // 物料行核心字段
        search.createColumn({name: 'item', label: '物料'}),
        search.createColumn({name: 'itemid', label: '物料ID'}),
        search.createColumn({name: 'description', label: '物料描述'}),
        // 关联主记录的供应商名称
        search.createColumn({name: 'entityid', join: 'vendor', label: '供应商名称'}),
        // 可选:加上采购订单编号方便溯源
        search.createColumn({name: 'tranid', label: '采购订单编号'})
    ],
    filters: [
        // 示例过滤条件:只搜已批准的采购订单
        search.createFilter({name: 'status', operator: search.Operator.ANYOF, values: 'Purchase Order:Approved'})
    ]
});

// 执行搜索并打印结果
poSearch.run().each(function(result){
    var itemName = result.getText({name: 'item'});
    var itemId = result.getValue({name: 'itemid'});
    var itemDesc = result.getValue({name: 'description'});
    var vendorName = result.getValue({name: 'entityid', join: 'vendor'});
    var poNumber = result.getValue({name: 'tranid'});

    log.debug('采购订单物料信息', {
        '采购订单号': poNumber,
        '供应商': vendorName,
        '物料名称': itemName,
        '物料ID': itemId,
        '物料描述': itemDesc
    });
    return true; // 继续遍历下一条结果
});

这里关键是用join: 'vendor'关联到采购订单的供应商实体,然后取entityid就是供应商的名称啦。

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

火山引擎 最新活动