2014-09-26 97 views
0

我想将CSV文件自动导入到Netsuite中。 (例如,我想让netsuite每晚检查一次特定的根文件夹并将这些CSV文件导入或导入到Netsuite中。例如,我想要导入一些BOM信息并将其映射到Netsuite变量?在Netsuite中自动导入CSV文件?

这可能吗?如果没有,我会至少能够通知用户有特定文件夹中等待被导入一个新的文件?

PS我可以导入常规的XLS文件,而不是CSV?

感谢您的帮助。

干杯,

詹姆斯

更新这是我到目前为止,不知道它是否会工作作为一个SuiteScript一个Portlet

function scheduledimporting(type){ 

var csvMap = '15'; //saved CSV import id 
//var csvFile = nlapiLoadFile("5828"); //csv file id from filecabinet     
var urlrequest=nLapiRequestURL('https://...........',null,a); 
var body=response.getBody(); //get the body of the message 
var csvImport = nlapiCreateCSVImport();//creating a new csv import 

/*** 
If the file that I'm pulling in is a CSV, would i get the body as CSV? 
DO I still need to go through Prsing the body and transform it to JSON Object 
If I do, how would I transfer it back to CSV ? 
***/ 
csvImport.setMapping(csvMap);//setting import map 
csvImport.setPrimaryFile(body.getValue());//file to be imported 
csvImport.setOption("jobName", "Test1111");//setting job status' job name  
var csvSubmitId = nlapiSubmitCSVImport(csvImport);//submitting the CSV 

}

回答

0

有几个步骤来做到这一点。

  1. 首先创建您希望脚本使用的CSV导入映射。保存映射时,应该有一个名为'Script Id'的字段。该字段中的值将被您的脚本使用。

  2. 创建一个计划脚本,该脚本将检查新文件的文件夹位置并自动触发导入。在这个计划的脚本中,您将使用nlapiSubmitCSVImport()并使用上面的'Script Id'字段触发CSV导入向导。在NS帮助中搜索nlapiSubmitCSVImport()以获取更多详细信息。

  3. 您无法导入XLS文件,CSV导入中仅支持CSV文件。

+0

感谢您的帮助生锈,我能够从外部驱动器而不是文件柜导入文件。 (让我们说一个驱动器在服务器,或本地驱动器?)。这不需要我自己将文件上传到文件柜。那么整个事情会自动化?我一直无法找到除了nlapiLoadFile之外的任何东西,它使用文件柜中的内部ID吗? – 2014-09-29 23:28:30

+0

NetSuite API无法访问外部驱动器。您需要将文件上传到NetSuite文件柜中。 – 2014-09-30 23:27:18

+0

我可以使用nLapiRequestURL吗?并通过链接访问它? – 2014-10-03 18:06:16

0

不幸的是,我没有足够的知名度给Rusty Shackles答复添加评论。你问到了更多的自动化操作,虽然你不能直接在suitescript中实现,但你绝对可以使用内置于netsuite中的web服务将文件推送到你的帐户。这需要您在本地服务器上安装一个程序,该程序使用Web服务在每个特定时间将.csv推入您的NetSuite帐户。然后,您可以使用计划脚本在某个时间之后触发导入。

+0

感谢您的信息,你能详细说明这一点(我将如何将文件推送到内阁)?我刚开始与Netsuite合作。我应该使用RESTlet还是Suitelete? :) @starholme – 2014-10-09 00:14:24