2016-09-26 41 views
0

我試圖通過與碼,例如的Restlet創建一個文件:CANT經由suitescript創建文件2.0

/** 
*@NApiVersion 2.x 
*@NScriptType Restlet 
*/ 
define(['N/file'], function (file) { 
    var fileRequest = { 
     name: 'test' + '.txt', 
     fileType: file.Type.PLAINTEXT, 
     contents: 'test', 
     description: 'f', 
     folder: 165 
    }; 
    try { 
     var resultingFile = file.create(fileRequest); 
    } 
    catch (ex) { 
     debugger; 
    } 
    var fileId = resultingFile.save(); 
}); 

當運行此我在以下消息的file.create收到錯誤: '意外的錯誤'。

+0

猜猜我並不像我想象的那麼清楚。我有這些意見。我只是在這裏粘貼了我試圖在腳本調試器中運行的模擬內容。問題已被編輯。 –

回答

1

對於SuiteScript 2.0,您需要在文件頂部有一個JSDoc註釋塊。

它看起來像你想創建一個自定義模塊,所以至少你將需要:

/** 
* @NAPIVersion 2.0 
* @NModuleScope Public 
*/ 

如果你想爲標準的腳本類型之一創建一個腳本,你」會需要指定,以及這樣的:

/** 
* @NAPIVersion 2.0 
* @NModuleScope Public 
* @NScriptType ClientScript 
*/ 

您還需要暴露合適的切入點,如果你這樣做,這取決於腳本類型pageInitbeforeLoad等。

如果NetSuite沒有相應的JSDoc塊或入口點,將阻止您上傳SuiteScript 2.0文件。

+2

如果您正在定義自定義模塊或腳本,那麼您需要使用'define'而不是'require'。您通常只使用'require'在調試器或瀏覽器控制檯中運行一些臨時代碼。 – erictgrubaugh

+1

@erictgrubaugh這是一個非常重要的一點,很快就爲我節省了很多頭痛。 – GPHemsley