计划脚本(SS1.0)中的nlapiYieldScript错误

时间:2019-02-02 05:19:34

标签: netsuite suitescript

在SuiteScript 1.0中,即使脚本已排定,我也会获得NLAPIYIELDSCRIPT_MUST_BE_CALLED_FROM_A_SCHEDULED_SCRIPT。

执行途径:

  1. 带有自定义按钮的自定义Suitelet表单
  2. 自定义按钮触发客户端脚本
  3. 客户端脚本以管理员身份触发SuiteLet

    var sletURL = nlapiResolveURL('SUITELET', 'customscriptjcse_au_da_manual_paymentupd', 'customdeployjcse_au_da_manual_paymentupd',false)+'&userid='+currentUser; var resp = nlapiRequestURL(sletURL);

  4. Suitelet触发脚本:

    var result = nlapiScheduleScript('customscriptjcse_au_da_payment_ss', 'customdeployjcse_au_da_payment_ss_manual', params);

即使对计划的脚本上下文进行日志记录也是如此:

Started at: 20:28:50 GMT-0800 (PST) by User ID: 7880 Context: scheduled

预定的脚本,我有:

if (context.getRemainingUsage() < 250 ) { nlapiYieldScript(); } context.setPercentComplete((processed/trancount*100).toFixed(1));

任何想法为什么会出现此错误?

1 个答案:

答案 0 :(得分:0)

请检查您计划的脚本逻辑,以使用每个,过滤器,forEach,map等。 SuiteScript无法在这些控件结构中间产生。在forEach中,我就是这种情况,我尝试使用nlapiYieldScript(),SuiteScript抛出了NLAPIYIELDSCRIPT_MUST_BE_CALLED_FROM_A_SCHEDULED_SCRIPT。

enter image description here