如何传递最后处理的记录 ID 来重新安排 NetSuite 中的预定脚本?

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

我在重新安排预定脚本时遇到问题。我创建了脚本参数“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
    }
})
scheduled-tasks netsuite suitescript
1个回答
0
投票

要获取下次运行计划脚本的最后处理的记录 ID,请按照以下步骤操作:

1.创建脚本参数

在脚本记录中添加一个参数,用于存储记录ID:

  1. 导航至脚本记录
  2. 转到参数子选项卡。
  3. 单击 New Parameter 按钮创建新参数。

添加参数的示例屏幕截图

2.更新您的脚本代码

您需要在两个地方处理参数:

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

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