如何在单击按钮时将参数从 suitelet 传递到计划脚本:Suitescript 1.0

How to pass parameters from suitelet to schedule script on button click: Suitescript 1.0

我有一个用 Suitescript 1.0 创建的 suitelet 表单,它有一个按钮。我想在单击按钮时将此套件中的参数传递给计划脚本。

我该怎么做。 代码片段将非常有帮助。

nlapiScheduleScript() 函数接受脚本参数,因为它是第三个参数。

var params = {
  custscript_field1: 'Field 1 Value',
  custscript_field2: 'Field 2 Value',
};
nlapiScheduleScript('customscript_scriptid', 'customdeploy_deployid', params);

请注意,此 API 在客户端不可用,因此您的按钮将需要调用 Suitelet 来触发预定脚本。此外,Suitelet 必须 运行 具有管理员权限。

有关详细信息,请参阅帮助中心主题“SuiteScript 1.0 Creating Script Parameters (Custom Fields)" and "Scheduling APIs”。

不幸的是,我没有足够的声誉来简单地将其添加为评论。 michoel 的响应对于将参数传递到您的计划脚本是正确的,但是您的计划脚本的脚本记录必须创建这些参数字段才能使用它们。为了创建这些,您需要导航到您的计划脚本记录(不是部署),单击“参数”子选项卡,然后单击“新建参数”。这会将您带到一个类似于创建新自定义字段的屏幕。您将为该字段指定一个名称、一个 ID(请注意,NetSuite 会将 custparam 附加在您在此处放置的任何内容前面)和一个类型。完成后,您可以通过引用脚本参数内部 ID 将参数传递到这些字段中。希望这能让您朝着正确的方向前进!

当您在 Suitelet 中使用以下代码时:

var 参数 = { custscript_field1: 'Field 1 Value', custscript_field2: 'Field 2 Value' }; nlapiScheduleScript('customscript_scriptid', 'customdeploy_deployid', 参数);

现在,使用此代码检索参数值:

var p1 = nlapiGetContext().getSetting('SCRIPT', custscript_field1);

var p2 = nlapiGetContext().getSetting('SCRIPT', custscript_field2);

谢谢, 马约尔