首页 > 解决方案 > NetSuite Suitescript 2.0 - 删除成员项目,然后根据工具包上的字段添加成员项目

问题描述

我正在编写一个 SuiteScript,它是通过观看视频和阅读各种文章拼凑而成的。

目的:从套件/包项目中删除成员项目并添加在自定义字段中找到的新成员项目。

一些细节:我们使用套件/包装项目来促进销售我们在单个 SKU 下的库存普通商品。当我们的库存不足或缺货时,我们可能会有替代品来代替它。我添加了一个名为“最佳会员项目”{custitem_burkett_bestmemberitem} 的自定义字段。该字段使用我们可以用来填写客户订单的最佳替代替代项目来填充自身。

问题 #1:脚本对我只输入值的字段标签不满意。问题 #2:我通过添加 TEXT 进行测试,它抱怨“已跳过 - 脚本工作流操作:设置最佳成员项目没有匹配的受众”下面是脚本。

define(["N/currentRecord"], function(r){

var rec = currentRecord.get();

       function insertLine(rec) {
           rec.insertLine({
               sublistId: "item",
               line: 1
           });

           rec.SetCurrentSublistValue({
               sublistId: "item",
               fieldId: "item",
               Value: {custitem_burkett_bestmemberitem},
           });

           rec.SetCurrentSublistValue({
               sublistId: "item",
               fieldId: "quantity",
               Value: 1
           });

           rec.commitLine({sublistId: "item"});
       };

})

标签: netsuitesuitescript2.0

解决方案


根据您提供的示例,我认为您需要更多帮助才能继续下一步。

我认为您需要了解并告诉我们您的执行上下文是什么——例如,在创建项目时、在编辑项目时或在事务级别的基础上。

其次,我几乎可以肯定,无论是最佳实践还是其他方式,N/currentRecord 都应该只在客户端脚本中使用。所以这可能是你可以研究的东西。您当前的示例将作为 2.0 客户端脚本工作,并进行一些更改...

但取决于您的用例,即如果您的用户只会在 UI 中更新它,或者更进一步,使用 csv 或两者都更新,您可能需要多个脚本。

对我来说,除非有重大更改或用例,否则将其用作 wfa(工作流操作脚本)并不是正确的设计。


推荐阅读