2016-10-14 3 views
1

Я пытаюсь запустить простой скрипт, который загружает json-файл и получает содержимое файла. Тем не менее, первая строка скрипта уже отправляет сообщение о том, что функция из API SuiteScript не определена. 'ReferenceError: nlapiLoadFile не определен' это то, что я получаю.ReferenceError: nlapiLoadFile не определен error В Netsuite

function pageInit(context) { 

     var File = nlapiLoadFile('/SuiteScripts/jsonfile.json'); 
     . 
     . 
     . 
     . 
     . 
    } 

Я думаю, что может быть проблема с моим счетом, потому что у меня была аналогичная проблема с SuiteScript 2.0, где весь модуль файл отсутствовал в API на моем счете. Вот почему я использую 1.0, как показано выше.

+3

FWIW. Вы можете изменить файл JSON, чтобы назначить содержимое переменной (эффективно превратив ее в файл javascript) и добавить файл в виде библиотеки для клиентского скрипта. –

ответ

6

Поскольку вы пытаетесь вызвать это в pageInit(), я предполагаю, что вы создаете клиентский скрипт. nlapiLoadFile() недоступен в клиентских сценариях. Согласно файлу справки для этой функции: этот API поддерживается в сценариях на стороне сервера.

+0

О, я вижу. Существует ли тип, рекомендуемый при загрузке файлов? – VicDid

+1

См. Мой комментарий к основному вопросу для быстрого/грязного решения. В противном случае вы можете преобразовать скрипт в сценарий UserEvent (beforeLoad), который выполняет серверную сторону и, таким образом, имеет доступ к api LoadFile. Хотя специфика того, что вы пытаетесь выполнить, может потребоваться как для пользовательского события, так и для клиентского скрипта. –

+0

@SheaBrennan скрипт сценария пользователя работает для меня. Теперь у меня есть некоторые другие ошибки, но я думаю, что могу оттуда оттуда. Вы правы, мне может понадобиться клиентский скрипт, но он еще не совсем уверен. Я просто хочу прочитать json-файл, а затем загрузить содержимое в записи. – VicDid

0

Для меня вопрос был версия SuitScript. Мой скрипт изначально был в SuiteScript 2.0, но позже я изменился на 1.0, а затем он работал нормально.

Смежные вопросы