2014-09-29 29 views
0

我想知道是否可以使用nlapiLoadFile()從服務器(公司或本地驅動器內的服務器)的外部驅動器調用文件,而不是從文件櫃中調用文件。 (該文件必須手動上傳)?所以我可以使用它來使用nlapiCreateCSVImport()來導入文件。Netsuite文件櫃

謝謝。

回答

0

不可以。您可以使用必須可從外部服務器訪問的nlapiRequestURL。

+0

我該如何使用它從保險庫導入csv文件。它會是像nlapiREquestURL(....// server12/forler12321/1.csv)。那我是否需要回復?感謝您的幫助 – 2014-09-30 18:47:51

+0

@Jamesguilford,您將得到一個響應對象,您必須從中提取body屬性,它是csv本身(請參閱幫助文件中的nlresponseobj)。然後你需要找到一個解析器來將響應主體字符串轉換成JSON對象 - 在github上搜索。從那裏它是純粹的JS。另外現在我注意到你的驅動器是本地的,你必須使這個文件可以在網絡上使用,因爲NetSuite服務器不能看到你的本地網絡..把它放在一個ftp服務器或其他東西。 – pipechang 2014-10-01 21:14:58

+0

有趣...然後我怎麼會將JSON轉換回CSV導入?@pipechang – 2014-10-03 17:26:25

0

@pipechang這是我到目前爲止,我不能完全理解它,當你說我需要將消息正文轉換爲JSON 如果我把文件作爲XML拉入,那麼我是否仍然需要將其轉換爲JSON當我讀取身體?如果不是,那麼我如何能夠稍後將它轉換爲CSV?/

感謝您的幫助。

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

您可以在Netsuite的腳本調試器中運行您的功能內容。 https://system.netsuite.com/app/common/scripting/scriptdebugger.nl – 2014-10-07 09:22:10