来自预定脚本(SS1.0)的nlapiYieldScript出错

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

在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));

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

netsuite suitescript
1个回答
0
投票

请检查您的预定脚本逻辑,以便使用每个,过滤器,forEach,map和一些。 SuiteScript无法在这些控制结构的中间屈服。这是我在forEach中遇到的情况我尝试了nlapiYieldScript()而且SuiteScript抛出了NLAPIYIELDSCRIPT_MUST_BE_CALLED_FROM_A_SCHEDULED_SCRIPT。

enter image description here

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