NetSuite工单Workflow编辑时,如何修改Item Source为Stock?
解决NetSuite中无法通过Workflow修改工单Item Source字段的问题
需求背景
我对SuiteScript及JavaScript并不熟悉,日常主要使用Workflow,但发现无法通过Workflow直接修改工单的Item Source字段。具体需求为:当工单的自定义子列表字段**Pack Out Item(custcol_is_packout)被勾选时,在Workflow编辑工单的过程中,将item子列表第1行的Item Source(itemsource)**设置为Stock,以此避免生成无限循环的工单。
尝试过程与最终方案
先后尝试了User Event Script、Client Script,这两类脚本在手动编辑工单时能正常生效,但无法被Workflow触发执行。最后尝试使用Workflow Action Script,最初脚本未生效,添加commitLine方法后成功实现需求。
核心脚本片段
// 获取工单的item子列表 var itemSublist = currentRecord.getSublist({ sublistId: 'item' }); // 选中item子列表第1行(NetSuite子列表索引从0开始) currentRecord.selectLine({ sublistId: 'item', line: 0 }); // 设置Item Source字段值为Stock currentRecord.setCurrentSublistValue({ sublistId: 'item', fieldId: 'itemsource', value: 'Stock' }); // 提交子列表行修改,这是脚本生效的关键步骤 currentRecord.commitLine({ sublistId: 'item' });
重要注意事项
- 脚本部署必须设置为已发布状态
- 部署的「受众」标签页需勾选「所有角色」
- 脚本报错时,Workflow的历史记录不会更新,需通过其他方式排查问题
- 可使用
log.debug()方法输出关键数据,验证数据有效性以辅助排查
内容的提问来源于stack exchange,提问作者Cody Schram
相关产品推荐
相关产品推荐

