Netsuite 安排保存的搜索和 HTTP POST?
Netsuite schedule a saved search and HTTP POST?
总的来说,我是 Suitescript 和 Netsuite 自动化的新手。我想做的是非常基本的。我想安排一个保存的搜索每隔几个小时执行一次,然后 post 结果 XML 到 HTTP 目标。我有一个用于连接器的捆绑包,但它不让我看到内容,所以它有点像黑盒子。有没有人有我可以改编的示例脚本?如果您有任何配置说明,我将不胜感激。谢谢。
这是一个非常基本的想法。不过,我不使用 XML,所以这个例子使用的是 JSON。这还假设您有一个要从中获取结果的已保存搜索,并且只有一行数据。如果有多行,您只需在 运行().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
};
});
这应该让您开始了解您正在尝试做的事情的基本功能。
总的来说,我是 Suitescript 和 Netsuite 自动化的新手。我想做的是非常基本的。我想安排一个保存的搜索每隔几个小时执行一次,然后 post 结果 XML 到 HTTP 目标。我有一个用于连接器的捆绑包,但它不让我看到内容,所以它有点像黑盒子。有没有人有我可以改编的示例脚本?如果您有任何配置说明,我将不胜感激。谢谢。
这是一个非常基本的想法。不过,我不使用 XML,所以这个例子使用的是 JSON。这还假设您有一个要从中获取结果的已保存搜索,并且只有一行数据。如果有多行,您只需在 运行().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
};
});
这应该让您开始了解您正在尝试做的事情的基本功能。