4

是否可以临时更改 NetSuite 中的系统日期以测试日期触发脚本?如果没有,是否有办法重载所有 NetSuite 日期函数,以便可以为沙箱中的给定用户模拟未来或过去的日期?

我们会根据特定 NetSuite 记录到期前的天数发送电子邮件通知。我不想让用户等待几天来测试此功能或更改记录的到期日期,而是提供一个 UI 以允许更改 NetSuite 系统日期。

我希望日期覆盖特定于用户,而不是整个沙盒实例,因此多个用户可以模拟未来/过去的日期。日期覆盖需要在客户端和服务器 SuiteScript 代码以及计划脚本中都有效。

4

3 回答 3

2

您可以创建部署参数字段 {testDays}。

在生产中使其为零。在测试环境中给它一些负数。

创建类似以下的内容

newTempDate = nlapiAddDays({expirydate}, {testDays})

并在任何地方使用 newTempDate 作为您的标准。

于 2015-08-25T16:02:19.617 回答
2

一种可能的解决方法是创建两个脚本参数。指示脚本处于调试模式的复选框和调试日期,您可以在其中指定所需的任何日期。

然后在你的脚本上,检查复选框是否被选中。如果选中,则使用日期参数中的值而不是系统日期进行比较。

于 2015-08-12T10:58:06.747 回答
1

我不确定 Netsuite 中允许您自定义系统日期的此类功能的可用性。就我而言,您的日程安排脚本将始终选择服务器实例的时间戳。无论您是否更改日期/时区,您的所有交易、记录、脚本和登录时间都将显示服务器计算机所在的太平洋时间。一种解决方案可能是在脚本中定义您自己的日期,而不是更改服务器日期(在如果您不想更改记录中的日期)并对照它验证您的记录。

于 2015-08-12T09:17:54.203 回答