在浏览器上运行的UserEvent脚本?

时间:2018-03-20 22:57:52

标签: javascript netsuite suitescript

我几乎没有与NetSuite相关的问题:

  1. NetSuite help page上,用户事件脚本声明可在服务器上执行。

    在这种情况下,如果在NetSuite中间接更新记录*,它仍然应该触发与之关联的用户事件脚本,对吗?

    *间接地说我的意思是用户没有在浏览器中导航到记录并点击编辑并保存。一个示例用例是,当客户付款是针对发票时,它会自动更新发票上应付金额。但它不会触发部署在发票上的UserEvent脚本。

    如果我的理解是正确的,请告诉我。另外,如果直接或间接更新记录,请给我一个执行脚本的方法。

  2. 上传文件时是否有办法执行脚本(进行REST调用)。我无法在用户事件脚本的脚本部署下看到它。

  3. 提前致谢!

2 个答案:

答案 0 :(得分:0)

您提到的事件类型,它不会触发用户事件脚本。就像销售订单上部署的用户事件脚本一样,销售订单完成后也不会执行。根据我的经验,创建另一个事务导致的事务状态的更改不会触发UE脚本。您也可以在客户付款记录上部署UE脚本,该记录将处理正在支付的发票。

SuiteScript尚不支持文件记录。当我说不支持时,您无法为其部署脚本。

答案 1 :(得分:0)

1)这是正确的。但是,您可以在UE脚本上选择“在商业环境中执行”,这意味着如果从NetSuite外部创建销售订单,例如在Web商店上创建销售订单,该销售订单将与NetSuite帐户集成。

2)您不想从NetSuite发送文件,而不是从其他系统轮询该文件吗?

然后,您需要首先在脚本(SuiteScript 2.0)中按如下方式加载记录:

var curRec = scriptContext.newRecord;

curRec = record.load({
    type: record.Type.PURCHASE_ORDER,
    id: curRec.id,
    isDynamic: false
});

curRec将包含记录的所有细节。