Netsuite安排保存的搜索和HTTP POST?

时间:2016-12-16 06:04:58

标签: netsuite suitescript

我是Suitescript和Netsuite自动化的新手。我想做的是非常基本的。我想安排一个保存的搜索,每隔几个小时执行一次,然后将生成的XML发布到HTTP目标。我有一个捆绑,为连接器执行此操作,但它不会让我看到内容,所以它有点像黑盒子。有没有人有我可能适应的示例脚本?我很欣赏您可能拥有的任何配置说明。谢谢。

1 个答案:

答案 0 :(得分:5)

这是一个非常基本的想法。我不使用XML,所以这个例子使用的是JSON。这也假设您有一个要从中获取结果的已保存搜索,并且只有一行数据。如果你有多行,你只需要在run()。each()块之前声明一个新的数据数组,并在该块的末尾将每个新的数据角色推送到它。

define(['N/search','N/https'],function(search,https){
  function execute(context){
    search.load({
      id:1234 // This should be your Saved Search ID
    }).run().each(function(result){
      var columns=result.columns;
      var column0=result.getValue(columns[0]);
      var column1=result.getValue(columns[0]);
      var column2=result.getValue(columns[0]);
      var column3=result.getValue(columns[0]);

      return true;
    });

    var postData={
        "column0":column0,
        "column1":column1,
        "column2":column2,
        "column3":column3,
    };
    postData=JSON.stringify(postData);
    var header=[];
    header['Content-Type']='application/json';
    header['Accept']='application/json';
    var apiURL='https://whereverYouAreSendingThis.com';
    try{
      var response=https.post({
        url:apiURL,
        headers:header,
        body:postData
      });
      var response=response.body;
    }catch(er01){
      log.error('ERROR',JSON.stringify(er01));
    }
    return true;
  }
  return {
    execute: execute
  };
});

这应该让你开始学习你想要做的事情的基本功能。