netsuite - 如何使用 SuiteScript 2 更改销售订单的行项目

标签 netsuite suitescript

好的,这在 SuiteScript 1 中有效,但出于某种原因我无法让它与 SuiteScript 2 一起使用。我错过了什么?

客户端(现场更改/在线更改)或服务器端(提交时),我无法更改销售订单上的行,例如设置自定义字段。

这些都不起作用。找不到该函数或没有任何反应。我尝试了各种不同的功能和组合来设置文本或值。我只是似乎没有工作:

1.

Rec.setSublistText({
    sublistId : 'item',
    fieldId : 'custcol_example',
    line : i,
    value : "A"
});

2.

Rec.selectLine({
    sublistId : 'item',
    line : i
});
Rec.setCurrentSublistText({
    sublistId : 'item',
    fieldId : 'custcol_example',
    value : "A",
    ignoreFieldChange: true
});
Rec.commitLine();

这在 SuiteScript 1 中完美运行

function clientFieldChanged(type, name, linenum) {
    var Count = nlapiGetLineItemCount("item");
    for (var i = 1; i <= Count; i++) {
        nlapiSelectLineItem("item", i);
        nlapiSetCurrentLineItemValue("item", "custcol_example", "A", false, false);
        nlapiCommitLineItem("item");
    }
}

根据要求,一个更完整的 SS2 示例。不起作用。

function fieldChanged(scriptContext) {
        var Rec = scriptContext.currentRecord;
        var Count = Rec.getLineCount("item");
        for (var i = 0; i < Count; i++) {
            Rec.selectLine({
                sublistId : 'item',
                line : i
            });
            Rec.setCurrentSublistText({
                sublistId : 'item',
                fieldId : 'custcol_example',
                line : i,
                value : "A"
            });
            Rec.commitLine();
        }
}

最佳答案

您的代码 1 中有一个小错误。

Rec.setSublistText({
    sublistId : 'item',
    fieldId : 'custcol_example',
    line : i,
    value : "A"
});

由于您使用的是 setSublistText(),因此您应该使用 'text': 'A',而不是值。它是这样的:

Rec.setSublistText({
    sublistId : 'item',
    fieldId : 'custcol_example',
    line : i,
    text: "A"
});

希望这对您有所帮助。

关于netsuite - 如何使用 SuiteScript 2 更改销售订单的行项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37514012/

相关文章:

version-control - 如何从生产环境(仅)刷新 NetSuite 沙箱代码?

javascript - 在netsuite中以标准形式添加按钮

pdf - 如何在单击按钮时显示自定义 PDF 模板

javascript - 使用 JavaScript 添加两位小数

email - 如何在 NetSuite 中设置高级 PDF 电子邮件模板的主题

javascript - 在 SuiteScript 中更改履行的发货方法

javascript - 在将 netsuite 销售订单转换为履行时,您如何选择要履行的订单项?

netsuite - 源状态记录到子列表字段

javascript - 如何检查字段是否包含数字字符串或数组