提交后未触发NetSuite UserEvents

时间:2018-11-09 12:01:02

标签: netsuite suitescript

我有一个非常简单的用户事件脚本,如下所示:

define(["N/log"], function(log) {
    var exports = {};

    function beforeSubmit(scriptContext) {
        log.debug({
            title: "Before Submit",
            details: JSON.stringify(scriptContext)
        });
    }

    function afterSubmit(scriptContext) {
        log.debug({
            title: "After Submit",
            details: JSON.stringify(scriptContext)
        });
    }

    exports.beforeSubmit = beforeSubmit;
    exports.afterSubmit = afterSubmit;
    return exports;
});

我已经创建了Script记录,然后使用以下设置对其进行了部署:

Applies To: - All Records - Deployed: Ticked Status: Testing Event Type: not specified Log Level: Debug Execute as Role: Current Role

并且我们还配置了所有受众群体设置。

在部署脚本之后,我们尝试创建一个新的Customer Deposit,并期望在Execution Log中看到此脚本部署的日志条目-但是它似乎为空。

我们也没有收到任何未处理的异常错误。

你知道这里可能出什么问题吗?

2 个答案:

答案 0 :(得分:1)

如果这是您的整个脚本,则Netsuite会将其解释为SS1.0脚本,并为其提供其他脚本引擎。

您的脚本需要以SS2.0期望的JSDoc注释开头:

/**
 * @NApiVersion 2.x
 * @NScriptType UserEventScript
 */
define(...

请注意,在导入固定脚本文件并定义新的User Event脚本之前,您可能需要删除现有的脚本和脚本文件。

答案 1 :(得分:0)

@bknights说什么,并尝试“内联”您的退货:

return { beforeSubmit: beforeSubmitFuncName, ... };