Кто-нибудь знает, где найти библиотеку определений SS2.0 JSDOC?

Кто-нибудь знает или имеет библиотеку определений JSDOC, которую я могу использовать для SS2.0??

Текущий вариант, который у меня есть для SS1.0, выглядит так, как показано ниже, и я использую его, чтобы подключиться к своей IDE и получить автодополнение.

/** * Loads an existing saved search. The saved search could have been created using the UI, or created using nlapiCreateSearch(type, filters, columns) in conjunction with nlobjSearch.saveSearch(title, scriptId). 
*<br>API Governance: 5 
* @param {String} recType [optional] - The record internal ID of the record type you are searching (for example, customer|lead|prospect|partner|vendor|contact). This parameter is case-insensitive. 
* @param {String} searchId - The internal ID or script ID of the saved search. The script ID of the saved search is required, regardless of whether you specify the search type. If you do not specify the search type, you must set type to null and then set the script/search ID. 
* @returns {nlobjSearch} nlobjSearch
* @since 2012.1 */ 
function nlapiLoadSearch(recType, searchId) { };

Не совсем технический вопрос, но пригодится для всех.


person felipechang    schedule 25.05.2016    source источник
comment
github.com/3EN-Cloud/autocomplete-netsuite полезен, если вы используете редактор атома   -  person Matthew Wilson    schedule 08.03.2017


Ответы (2)


Вы можете считать, что я сделал, что нет необходимости загружать другие плагины.
Вы сможете включить помощник по коду, если у вас есть копия API SS2.0, а затем вы используете теги JSDOC "@param" и "@type".
Тогда каждый раз, когда вы набираете 'CTRL' + 'ПРОБЕЛ', будет появляться подсказка.
Кроме того, ваша IDE также предоставит описание для каждой функции.
Итак, вот что вы будете делать.

Образец

  1. В своей учетной записи NetSuite загрузите файлы JavaScript SuiteScript 2.0. Вы можете сделать это, нажав >Документы>Файлы>SuiteScripts>. Затем в правой части экрана вы должны увидеть ссылки на «SuiteScript 2.0 API» и «SuiteSCript 1.0 API». Нажмите для загрузки SS2.0.
    введите здесь описание изображения
  2. В Eclipse IDE создайте новый проект JavaScript для SS2.0 или включите его в существующий проект.
  3. Затем в проекте, над которым вы работаете, щелкните правой кнопкой мыши и выберите «Свойства». В разделе >JavaScript>Включить путь, а затем на подвкладке «Проекты» добавьте проект, в который включены API SS2.0.
  4. Теперь у вас будет помощник по коду для литеральных API объектов SS2.0. Это модули «N/log» и «N'util».
  5. Далее, чтобы включить помощь по коду для API-интерфейсов конструктора объектов SS2.0, таких как модули «N/record» и «N/search», мы должны добавить тег JSDoc «@param» в каждое объявление функции.

    Итак, если мы собираемся использовать модули 'N/record', 'N/search' и 'N/error' в нашем скрипте, мы должны иметь приведенные ниже образцы комментариев перед объявлением функции. Но обратите внимание, что оно должно совпадать со значением внутри тега "{[ЗНАЧЕНИЕ ЗДЕСЬ]}" и именем модуля. Также имя переменной в разделе комментариев и объявлении функции.

    /**
    * Do something.
    * 
    * @param {record} objRec
    * @param {search} objSearch
    * @param {error} objError
    * 
    */
    function doSomething(objRec, objSearch, objError)
    {
           //CODE HERE
    }
    


    Вы также можете использовать '@type' для объявления вашей переменной. Ниже приведен пример кода.

    /**
    * Do something.
    * 
    */
    function doSomething()
    {
           /*** @type record**/
           var recCustomerRefund = record.create(
                {
                    type : 'customerrefund',
                    isDynamic : true
                }); 
    }
    

    введите описание изображения здесь

person Leibnitz Jacquard    schedule 27.05.2016
comment
Это именно то, что я искал. Спасибо!! - person felipechang; 27.05.2016
comment
Могу ли я добавить это в Webstorm? - person Phi; 19.10.2018
comment
Должно быть, я делаю что-то не так на шагах 1 и 2. Можете ли вы уточнить, что значит создать проект javascript для загруженного SS2.0? как он должен быть структурирован? Или, если вы можете пропустить шаг 2 (как подразумевается), как вы включаете его без проекта? ТИА - person gillyspy; 08.12.2018
comment
@Leibnitz Не могли бы вы более подробно рассказать о шаге 2? Благодарю вас! - person Phi; 21.12.2018
comment
Как это сделать в VS Code? - person eklon; 27.12.2020

То, как работает SS2, вам по сути не повезло.

рассмотреть возможность

define(['N/search'], function(bob){
    var srch = bob.load({id:'customsearch_my_search'});
}

Что такое боб? Ваша IDE должна быть значительно умнее, чтобы знать, что bob является частью пространства имен поиска. Это, конечно, выполнимо, но с меньшей вероятностью будет работать с простым загружаемым файлом, который вы можете просто подключить к своей IDE. Если вы просто используете «поиск», это может повысить вероятность работы, но теперь вы использовали очень общее имя, которое вы не можете использовать в другом месте.

Кроме того, если IDE может определить, что такое 'bob', теперь ваши аргументы представляют собой неупорядоченный хэш, поэтому позиционные @params больше не работают.

Машинопись может помочь. Я поддерживал файл определения Typescript для SS1 по адресу https://github.com/BKnights/KotN-Netsuite. . Когда я начну больше работать с SS2.0, возможно, я сделаю то же самое и для этого. Тогда у вашей IDE будет больше шансов:

define(['N/search'], function(bob:NSearch){...

Таким образом, ваша IDE, поддерживающая Typescript, может использовать это для завершения членов, и, по крайней мере, у вас будет проверка типов во время компиляции.

person bknights    schedule 25.05.2016