用于更改不同记录类型值的脚本 - Netsuite Suitescript

Scripts to change values across different record types - Netsuite Suitescript

提问人:TheIronKing 提问时间:5/16/2022 更新时间:5/19/2022 访问量:631

问:

我目前正在观看很多教程,并对 SuiteScript 2.0 进行大量研究

但在我开始讨论这个问题之前,我想问一个基本问题。

我是否可以使用在不同记录类型上运行的脚本编辑特定记录类型的字段。

例如

我的库存项目页面上有一个自定义字段。(项目记录)

我想从收货单(交易记录)运行脚本

因此,在保存收货单时,它会修改物料页面上的自定义字段。

这可能吗?

谢谢

NetSuite SuiteScript2.0

评论


答:

1赞 bknights 5/17/2022 #1

通常不是问题,只要运行脚本的角色对该项目具有写入访问权限。

最主要的是,事务往往有很多行,如果你一个接一个地更新你的项目,你可能会遇到脚本治理问题。

评论

0赞 TheIronKing 5/17/2022
非常感谢你让我知道。到目前为止,我发现的所有事情我都没有看到任何这样的例子,我不想在接下来的几周里生活和呼吸代码,却发现这实际上是不可能的。从本质上讲,我想在 GRN 上识别项目,计算其位置平均成本并将其放入项目页面上的自定义字段中。感谢您的建议 RE 权限和交易行数量。我会坚持下去!干杯。
0赞 Addy 5/18/2022 #2
    function beforeSubmit(context) {

    var new_rec = context.newRecord;

    var item_count = new_rec.getLineCount({
        sublistId: "item"
    });

    for (let i = 0; i < item_count; i++) {

        var item_id = new_rec.getSublistValue({
            sublistId: 'item',
            fieldId: 'item',
            line: i
        });

        var avgCost = search.lookupFields({
            type: "inventoryitem",
            id: item_id,
            columns: ['averagecost']
        }).averagecost;

        var updateAvgCost = record.submitFields({
            type: record.Type.INVENTORY_ITEM,
            id: item_id,
            values: {
                custitem1: Number(avgCost).toFixed(2)
            }
        });
      }

评论

0赞 Addy 5/18/2022
您可以参考上面的代码
0赞 TheIronKing 5/19/2022
非常感谢你,这太不可思议了,出乎意料,我真的很感谢你的帮助。谢谢。我会利用这一点并让你知道。