Netsuite/SuiteScript SSS_NOT_YET_SUPPORTED

Netsuite/SuiteScript SSS_NOT_YET_SUPPORTED

谁能告诉我 Netsuite 中的错误 SSS_NOT_YET_SUPPORTED 是什么意思?我正在尝试修改销售订单表单,以便它可以处理具有单独价格列表而不是 percentages/price 级别的促销活动。 我很确定这个错误来自我的代码部分,如果取消选择该促销,它会尝试从订单项中删除促销价格,如下所示:

    if (_Promotions[1] != null){

        for (var a = 1; a < nlapiGetLineItemCount("item")+1; a++){
            nlapiSelectLineItem("item", a);
            if (_Promotions[1].getFieldText("name") == nlapiGetCurrentLineItemText("item", "custcol_promo_used")){
                nlapiSetCurrentLineItemValue("item", "price", nlapiGetFieldValue("custbody_salesorder_pricelevel"));
                nlapiSetCurrentLineItemText("item", "custcol_promo_used", "");
            }
            nlapiCommitLineItem("item");


        }
    }

例如如果应用了促销,则遍历订单项。如果该促销适用于该订单项,请将其价格设置回正常价格水平并将 "promo_used" 字段的文本设置为空字符串,然后提交该订单项。

我做了一些日志记录,错误似乎在第二个 if 块中,但我不确定如何解释它。

谢谢!

您正在客户端调用 *Text 方法之一。这些方法已经 "NOT YET SUPPORTED" 多年了。

_Promotions[1].getFieldText("name") 会出错,但如果你超过了那个 nlapiSetCurrentLineItemText 也会抛出它

一些注意事项:

您似乎加载了个别促销活动。你最好通过搜索来做到这一点,如果你搜索你可以在客户端使用 nlobjSearchResult.getText 。此外,以下内容应该适用于客户端或服务器(动态模式):

nlapiSetCurrentLineItemValue('custcol_promo_used', null);