Netsuite在套件上出现USAGE_LIMIT_EXCEEDED错误

问题描述 投票:1回答:1

我创建了一个suitelet脚本,在该脚本中,将程序集构建中的行项目设置在suitelet中乘以数量。也就是说,如果数量为2,则该套件将在套件中设置两行。点击保存即可打开套件。

问题是,如果装配体中有更多项目,则套件将无法打开,并引发错误USAGE_LIMIT_EXCEEDED。

我试图减少脚本代码,但没有帮助

var b=0;var nItemLinesCount = objRecord.getLineCount({ sublistId: 'component' }); for(var i=0; i<nItemLinesCount; i++)                                          
{

  if(Qty > 0)
  {
    for(j=0; j<Qty; j++)
    {
      sublist.setSublistValue({
      id : 'custpage_item',
      line : b,
      value : nItem
     });
       sublist.setSublistValue({
      id : 'custpage_qty',
      line : b,
      value : '1'
      }); b++;
    }
  }                                                                         
}
netsuite suitescript2.0
1个回答
0
投票

每个SuiteScript都有一个“使用限制”(有时称为管理单元)。

解决此问题的方法是使用nlapiGetContext().getRemainingUsage()检查剩余使用量,并且如果该数目小于脚本的下一个循环中希望使用的数目,请重新计划脚本以稍后再次运行。] >

您需要确定性地设计脚本。您需要能够多次运行脚本,而无需创建任何重复的数据或结果。如果您以这种方式设计脚本,那么重新安排SuiteScript在使用率较低时运行将不会产生任何意外的副作用。

这里是一个例子:

https://gist.github.com/iloveitaly/eb3fffa67c5ea08010d3de6e552f84d3

具体来说,检查isScriptUsageRemainingrescheduleScript功能。

© www.soinside.com 2019 - 2024. All rights reserved.