2016-06-27 6 views
2

Я пытаюсь сделать ссылку на модуль пользовательского пользователя в индексном SS2.0 сценария следующим образом:Включая пользовательские модули в SuiteScript 2.0

/** * @NApiVersion 2.x * @NScriptType Restlet */ define([ 'N/record', 'N/error', "SuiteScripts/MyFolder/src/My_Controller", 'N/crypto',

Который прекрасно работает в песочнице. Однако при развертывании в производственной (расслоении толчке), мы получим следующее сообщение об ошибке при вызове метода Restlet:

У вас нет прав для загрузки этого модуля SuiteScripts/MyFolder/SRC/My_Controller.js, он имеет @NModuleScope из SameAccount, который ограничивает его доступность для настройки объектов создан в счет 1234566

Все, что мы делали, было:

  1. создать Restlet у споем индексный файл (SS2.0 не позволяет определить библиотеки)
  2. развернуть/расслоение Restlet
  3. Загрузить пользовательские пользовательские модули (My_Controller.js) вручную к шкафу с Eclipse, на счете производства (CTRL + U)
  4. Вызов метода на Restlet (в производстве) с использованием Почтальон

Может кто-нибудь увидеть, что мы делаем неправильно? Спасибо

+0

Похоже, что я могу пропустить аннотацию @NModuleSc o p e Public? – Coldstar

+0

Работает ли это? В противном случае, я думаю, вы должны использовать относительные пути, если вы добавляете файл пользовательского модуля. – MMark

ответ

3

Вы правы, вам не хватает «@NModuleSc o p e Public». См. https://netsuite.custhelp.com/app/answers/detail/a_id/49326

Вы можете установить аргумент в любой из Public, TargetAccount или SameAccount. Это позволяет вам контролировать, какие другие скрипты могут загружать ваш модуль. Если вы публичный, любой пакет может запустить скрипт. Если вы хотите этого избежать, вы можете оставить его в SameAccount и убедиться, что ваш My_controller.js находится в том же комплекте, что и рестарт.

+0

Это было сделано (@NModuleSc o p e Public), но NetSuite по-прежнему игнорирует мой NModuleScope. Действительно разочаровывает, он продолжает говорить, что он настроен на SameAccount – Coldstar

+0

@Coldstar SameAccount является настройкой по умолчанию, поэтому по какой-то причине вы не собираете NModuleScope. Комментарий JSDOC должен быть отмечен очень определенным образом на https://netsuite.custhelp.com/app/answers/detail/a_id/43522, поэтому убедитесь, что он отформатирован правильно. Если вы это выясните, не стесняйтесь представить свой собственный ответ на свой вопрос, так как вы в лучшем положении, чтобы проверить его, чем я. – Eidolon108