NetSuite工作流如何使用行项目自定义字段作为触发条件
采购订单行项目自定义字段作为NetSuite工作流触发条件的配置方案
完全可以实现该需求,你在工作流触发条件里找不到对应行字段,是因为NetSuite工作流默认的一级条件选择器仅展示采购订单表头层级字段,不会直接加载行项目(Item子列表)的自定义字段,按以下步骤配置即可:
基础配置前置检查
先确认你创建的「Exported」行自定义字段配置正确:
- 字段的
Applies To配置页中,已勾选Purchase Order行项目选项 - 字段已设置为存储值(Store Value),未被标记为仅在特定上下文显示
推荐配置方法(适配NetSuite 2021.1及以上版本,无代码)
用原生子列表操作组功能实现,逻辑最稳定配置最简单:
- 新建工作流,基础记录类型选择
Transaction,子类型勾选Purchase Order - 工作流发布状态设为「Released」,执行上下文按需选择(需要覆盖界面编辑、CSV导入、接口更新就全选,仅需要界面触发就留
User Interface),事件范围勾选Edit - 新建工作流状态,进入状态编辑页后不要直接添加通用动作,选择新建
Sublist Action Group(子列表动作组) - 子列表动作组绑定的子列表选择
Item(采购订单行项目子列表) - 此时该动作组的条件配置页中,就可以直接选到行层级的
Exported自定义字段,设置判断条件为Exported 等于 Yes - 动作组的触发规则勾选
On Field Edit,指定监听字段为Exported,实现只要任意一行的该字段被更新为Yes就触发逻辑 - 直接在该子列表动作组下添加
Send Email动作,配置指定收件人、邮件模板/内容即可 - 如需避免重复发邮件,可额外加一条判断规则:
Exported 字段值已更改,确保只有字段从其他值更新为Yes的瞬间触发,不会重复发送
低版本NetSuite兼容配置方法
如果你的实例版本没有子列表动作组功能,用子列表循环逻辑实现:
- 工作流基础配置和上面一致,触发时机设为
After Record Submit - 先在采购订单表头新建一个临时隐藏复选框字段,命名为
存在已导出的行,默认值为未勾选 - 工作流状态内添加
Loop On Sublist(子列表循环)动作,绑定Item子列表 - 循环内添加条件判断:如果当前遍历行的
Exported等于Yes,就执行Set Field Value动作,把表头的存在已导出的行字段设为勾选 - 循环结束后添加条件分支:当
存在已导出的行字段为勾选状态时,执行发送邮件动作,邮件发送完成后再把该临时字段重置为未勾选,避免下次编辑重复触发
常见配置问题排查
- 如果还是选不到行字段,先去自定义字段列表确认字段的所属子列表确实是采购订单的Item子列表,没有被错误分配到其他子列表
- 不要在工作流入口的全局触发条件里找行字段,该位置永远只显示表头字段,行字段判断必须放在子列表动作组/子列表循环内部
- 触发时机不要选
Before Load,该时机字段修改还未提交到数据库,读不到更新后的值
内容的提问来源于stack exchange,提问作者Kim
相关产品推荐
相关产品推荐

