LUA-скрипт — это код, написанный на языке Lua. |
---|
По сравнению с использованием SMART-выражений смарт-скрипты имеют ряд преимуществ:
•Смарт-скрипты выполняются на сервере, а не в СУБД, а значит
oпозволяют снизить нагрузку на СУБД;
oвыполняются быстрее чем SMART-выражения.
•Смарт-скрипты позволяют работать с контекстными данными, еще не записанными в БД.
•В отличие от SMART и SQL, Lua — это полноценный программный язык. В Lua-скриптах удобнее работать с циклами, массивами, файлами и пр.
•Смарт-скрипты имеют более высокую степень безопасности (например, защищены от SQL-инъекций).
В смарт-скриптах можно вызывать любые смарт-действия и хранимые процедуры, т.е. можно использовать накопленный "багаж" разработок в "Первой Форме".
Смарт-скрипты могут использоваться как вместо смарт-выражений, так и вместо смарт-фильтров (в последнем случае они должны возвращать значение true/false). Но обычно с помощью смарт-скриптов автоматизируют какие-то действия (создать задачу, заполнить таблицу и пр.). Если нужно просто вычислить и вернуть какое-то значение, чаще используют смарт-выражения.
Создание и редактирование смарт-скрипта
Вы можете создать смарт-скрипт по кнопке + или отредактировать — по кнопке из окна редактирования смарт-действия. Для создания и редактирования смарт-скрипта открывается специальный интерфейс в отдельной вкладке браузера.
По кнопке ? (1) откроется подсказка по работе с смарт-скриптом и вызову смарт-действий. В зависимости от контекста, в котором вызывается смарт-скрипт, в него передается разный набор контекстных параметров (2). Нажав кнопку Выполнить, вы можете протестировать Исходный код. Результаты выполнения будут отображаться внизу окна (3).
Интерфейс редактирования смарт-скрипта
Новый редактор смарт-скриптов
Новый редактор находится в разработке и может временно не поддерживать ряд привычных возможностей. |
---|
В системе доступен новый редактор смарт-скриптов (LUA), он позволяет протестировать созданный код на существующих задачах по кнопке Выполнить. Нажатие на кнопку Отменить сбрасывает изменения к последнему сохраненному виду.
В редакторе поддерживается возможность выполнить часть выделенного фрагмента кода.
Новый LUA-редактор
По кнопке в панели инструментов редактора откроется подсказка по работе с смарт-скриптом и вызову смарт-действий.
Окно Помощь по lua-скриптам
Репозиторий
В системе доступен репозиторий Lua-скриптов — он служит в качестве библиотеки, к которой можно обратиться при написании скрипта. Скрипт из репозитория можно импортировать в текущий скрипт и вызывать функции, которые в нем содержатся.
Перейти в репозиторий прямо из редактора по кнопке Репозиторий — в модальном окне откроется табличный список скриптов с описанием и ID скрипта. Нажатие по строке из списка откроет выбранный скрипт в новом окне.
У всех скриптов из репозитория активна опция Из репозитория/библиотеки.
Для подключения библиотеки необходимо использовать LUA-функцию include:
•include(id) — Подключение скрипта по его ID (Рекомендуется).
•include('Description') — Подключение скрипта по его описанию (Не рекомендуется).
Подключать через функцию include можно только скрипты из репозитория, использование обычных скриптов вызовет ошибку. Скрипты рекомендуется подключать только в начале исходного кода. В подключаемых скриптах не должно быть вычислений, только определения функций и глобальных переменных. Максимальная глубина рекурсии — 5. В системе запрещено удаление скриптов из библиотеки, которые используются в коде.
Репозиторий
Полезные ссылки