计划脚本 (SS1.0) 中的 nlapiYieldScript 错误
Error with nlapiYieldScript from a Scheduled Script (SS1.0)
在 SuiteScript 1.0 中,我得到 NLAPIYIELDSCRIPT_MUST_BE_CALLED_FROM_A_SCHEDULED_SCRIPT 即使脚本已安排。
执行途径:
- 带有自定义按钮的自定义 Suitelet 表单
- 自定义按钮触发客户端脚本
客户端脚本以管理员身份触发 SuiteLet
var sletURL = nlapiResolveURL('SUITELET', 'customscriptjcse_au_da_manual_paymentupd', 'customdeployjcse_au_da_manual_paymentupd',false)+'&userid='+currentUser;
var resp = nlapiRequestURL(sletURL);
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));
知道为什么会出现此错误吗?
请检查您的预定脚本逻辑,以使用 every、filter、forEach、map 和一些。 SuiteScript 不能在这些控制结构的中间让步。那是我在 forEach 中的情况,我尝试 nlapiYieldScript() 并且 SuiteScript 抛出 NLAPIYIELDSCRIPT_MUST_BE_CALLED_FROM_A_SCHEDULED_SCRIPT.
在 SuiteScript 1.0 中,我得到 NLAPIYIELDSCRIPT_MUST_BE_CALLED_FROM_A_SCHEDULED_SCRIPT 即使脚本已安排。
执行途径:
- 带有自定义按钮的自定义 Suitelet 表单
- 自定义按钮触发客户端脚本
客户端脚本以管理员身份触发 SuiteLet
var sletURL = nlapiResolveURL('SUITELET', 'customscriptjcse_au_da_manual_paymentupd', 'customdeployjcse_au_da_manual_paymentupd',false)+'&userid='+currentUser; var resp = nlapiRequestURL(sletURL);
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));
知道为什么会出现此错误吗?
请检查您的预定脚本逻辑,以使用 every、filter、forEach、map 和一些。 SuiteScript 不能在这些控制结构的中间让步。那是我在 forEach 中的情况,我尝试 nlapiYieldScript() 并且 SuiteScript 抛出 NLAPIYIELDSCRIPT_MUST_BE_CALLED_FROM_A_SCHEDULED_SCRIPT.