2014-10-09 49 views
0

如何自动将文件上传到Netsuite文件柜?如何自动将文件上传到Netsuite文件柜?

nLapiRequestURL("Server1/database1/NDT/ftp.csv工作吗?

文件将从公司内的服务器获取。

我需要每天自动将CSV文件导入到机柜中。

+0

看起来你可能想要使用nlapiCreateFile()。 https://netsuite.custhelp.com/app/answers/detail/a_id/10255/ – tatorface 2014-10-10 14:07:15

回答

1

我觉得去这个最简单的方法是:

  1. 将您的CSV文件保存到公开可见的位置(显然,如果它不是敏感信息请请请不要这只作品!如果您不想让整个世界都看到它,请执行此操作!)
  2. 在NetSuite中创建预定脚本。设置部署到日常运行,在任何时候,你认为最好的
  3. 在您预定的脚本中,使用nlapiRequestUrl (NS help doc)摆脱无论你把它放在文件(请注意,有一个5MB大小的限制!)
  4. 使用nlapiCreateFile (NS help doc)创建文件
  5. 使用nlapiSubmitFile (NS help doc)将其提交文件柜

示例代码:

var response = nlapiRequestURL('http://yourserver.yourcompany.com/somecsvfile.csv'); 
var csvDataInBase64 = response.getBody(); 
var file = nlapiCreateFile('mycsv.csv', 'CSV', csvDataInBase64); 
nlapiSubmitFile(file); 

没有错误检查或该示例中的任何内容,但它应该让您开始。

如果安全性很重要(请参阅上面的第1点!),您最好通过Web服务发送文件。有关更多信息,请参阅https://system.netsuite.com/help/helpcenter/en_US/Output/Help/SuiteCloudCustomizationScriptingWebServices/SuiteTalkWebServices/SuiteTalkWebServices.html

+0

谢谢您的回复。你的代码有助于开始。我编写了一个脚本,从文件柜中的FTP服务器下载文件,然后执行变量映射。但是,我希望能够改进一点。而不是在一次指向单个文件。是否可以通过在ftp服务器和文件柜之间进行比较来将一批文件下载到文件柜中。例如,如果ftp上有一个新文件可用,它会将它下载到文件柜,而不是我指向它的文件?谢谢 – 2014-11-20 19:42:05

+0

这真的很难说。我想这取决于您可以使用url参数对FTP服务器执行哪些操作。我想可能存在某种搜索或目录列表。可能最好与FTP服务器管理员联系以寻求帮助。祝你好运! – starholme 2014-11-24 02:19:59