我在重新安排预定脚本时遇到问题。我创建了脚本参数“last_processed_record_id”。我不知道如何在脚本参数中传递最后处理的 id 并从其离开的位置运行脚本。
在我的预定脚本中,我正在处理发票保存的搜索结果。请建议!
define(['N/search', 'N/runtime', 'N/record', 'N/task', 'N/file', 'N/format',
'SuiteScripts/abc/Lib/abc_lib'], function(search, runtime, record, task, file,
format, lib) {
function execute(context) {
processSearchResults();
var usage= runtime.getCurrentScript();
log.debug('Remaining governance units: ' + usage.getRemainingUsage());
}
//This function fetches saved search data and creates journal entry record
function processSearchResults(results, scriptid) {
results.forEach(function(result) {
var recId= result.getValue({
name: "internalid", label: "Internal ID"
});
var amount = result.getValue({
name: "amount",
label: "amount"
});
})
}
//This function updates created jounal entries on invoice line level custom JE
field on invoice.
function updateInvoice() {
}
return {
execute: execute
}
})
要获取下次运行计划脚本的最后处理的记录 ID,请按照以下步骤操作:
在脚本记录中添加一个参数,用于存储记录ID:
您需要在两个地方处理参数:
a。创建任务时传递参数
在安排脚本下次运行时,使用
params
API 中的 task.create
对象传递参数值。
var scriptTask = task.create({
taskType: task.TaskType.SCHEDULED_SCRIPT
});
scriptTask.scriptId = 'customscript_your_script_id';
scriptTask.deploymentId = 'customdeploy_your_deployment_id';
scriptTask.params = {
custscript_last_processed_record_id: lastProcessedId // Replace with your parameter ID and value
};
scriptTask.submit();
b。下次脚本执行时获取参数
在计划脚本的执行上下文中,使用
ScriptObject.getParameter
获取参数值。
var lastProcessedId = runtime.getCurrentScript().getParameter({
name: 'custscript_last_processed_record_id' // Replace with your parameter ID
});
log.debug('Last Processed Record ID', lastProcessedId);
按照以下步骤,您可以存储最后处理的记录ID