2016-09-26 2 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 
*/ 

Вам также необходимо выставить соответствующую точку входа, если вы делаете это, как pageInit или beforeLoad в зависимости от типа скрипта.

NetSuite не позволит вам загружать файл SuiteScript 2.0, если у него нет соответствующего блока JSDoc или точек входа.

+2

Если вы определяете настраиваемый модуль или скрипт, вам нужно использовать 'define' вместо' require'. Обычно вы используете 'require' для запуска какого-либо ad-hoc-кода в отладчике или в консоли браузера. – erictgrubaugh

+1

@erictgrubaugh Это был очень важный момент, который быстро спас мне много головной боли. – GPHemsley