在 Netsuite SuiteScript 中获取实体类型

Getting entity type in Netsuite SuiteScript

我是 NetSuite 的新手,我不知道这是否有意义。我需要在 NetSuite 中创建发票时发送休息电话。

我看到可以使用 SuiteScript 使用 nlapiRequestURL 方法实现。

define(['N/record'],
function(record)
{
        function afterSubmit(context) 
        {
        var url = 'myURLHere';
        var payload = 'myBodyHere';      
        var response = nlapiRequestURL(url, payload);
        }

        return {                             
           afterSubmit: afterSubmit
        };
 }

这对我来说像是一个触发器。但是什么时候调用呢?我如何指定这应该 运行 仅在发票记录插入时?

提前致谢!

您的代码适用于 SuiteScript 2.0,nlapiRequestURL() 适用于 SuiteScript 1.0。 你可以试试下面

function afterSubmit(scriptContext) {
    var type = scriptContext.type;
    if(type == 'create'){ //Only when a new record is created in system
        var myUrl = 'http://www.google.com';
        var payload = 'myBodyHere';
        var response = http.get({ url: myUrl }); //Try exploring more methods here
    }
    log.debug({title: 'response ', details: response });
}

我使用如下脚本 (suitescript 1.0) 执行此操作:

function notifySubmit() {
    // build request url, headers, and post data...
    ...
    // when I'm sending the submit notification to my API, I want to know
    // what record is being submitted and who is submitting, so some of the
    // data I'll add to by postData object is:
    var recordType = nlapiGetRecordType();
    var internalId = nlapiGetRecordId();
    var requestUser = nlapiGetUser();
    ...

    // send the request
    return nlapiRequestURL(url, JSON.stringify(postData), headers);
}

我上传的文件里面有这个功能。然后我创建一个新的脚本记录(在 Customization > Scripting > Scripts > New)附加到该文件,类型为 "User Event".

在那个脚本记录上,Netsuite 有表单字段来指定在加载之前、提交之前和提交之后要调用的函数。因为我只有一个函数,并且我希望在提交记录后调用该函数,所以我将 "After Submit Function" 字段的值设置为 "notifySubmit".

脚本通过 "Script Deployments" 附加到记录类型。保存脚本记录后,点击 "Deploy Script"。这会将您带到脚本部署的新页面,在 "Applies To" 字段中您将 select "Invoice"。您可能还需要设置部署的状态、日志记录级别和受众。

脚本与脚本部署的关系是一对多的。因此,如果稍后您决定要在创建销售订单和采购订单时发送通知,您仍然只有一个脚本记录,但该单个脚本记录将有 3 个脚本部署(一个用于发票,一个用于销售订单, 一个用于采购订单)。

SuiteAnswer 29246 更详细地解释了整个脚本创建和部署过程。

您希望如何执行此操作取决于您的脚本 运行 的时间。由于您有一个名为 "afterSubmit" 的方法,这看起来像一个用户事件脚本 - 如果是这样,请在创建发票时将此脚本设置为 运行。您可以通过创建一个新脚本来完成此操作:自定义 -> 脚本 -> 脚本 -> 新脚本。

Select您创建的脚本文件和创建的脚本记录。 Select "User Event" 作为脚本类型。部署此脚本时,将部署应用于发票记录和 "Create" 事件。

我的脚本应用于采购订单,只需将其应用于发票即可。请参阅下面的屏幕截图: