Быстрый старт
Облачный Pyrus
Безоблачный Pyrus
Платформа Pyrus Scripting позволяет аналитикам и консультантам расширять функционал форм Pyrus: автоматически вычислять значения полей и обеспечивать проверку вводимых пользователем значений налету при заполнении или редактировании формы.
Скрипты Pyrus предоставляют возможности:
- Автоматически заполнять поля формы при вводе значений других полей;
- Валидировать значения полей;
- Обращаться при этом к реестру форм, справочникам и ролям.
Скрипты пишутся на языке JavaScript и работают внутри формы Pyrus в браузере или мобильном приложении. Платформа обеспечивает безопасную среду выполнения и контролирует доступ скриптов к данным.
Пример простого скрипта
Чтобы попробовать скрипты Pyrus, выполните следующие действия:
- Создайте новую форму или войдите в редактор шаблона существующей. Пусть для примера это форма согласования отпуска сотрудника.
- Добавьте в шаблон поля «Дата начала» и «Дата окончания», а также числовое поле Продолжительность (продолжительность отпуска в днях)
- В настройках формы нажмите кнопку Скрипт:
Откроется редактор кода скрипта.
- Вставьте в редактор следующий код:
form.onChange(['Дата начала', 'Дата окончания']) .setValue('Продолжительность', state => { const [start, end] = state.changes; if (!start?.date || !end?.date) return null; return daysBetween( new Date(start.date), new Date(end.date) ) + 1; }); function daysBetween(d1, d2) { const msInDay = 1000 * 60 * 60 * 24; return Math.floor((d2.getTime() - d1.getTime()) / msInDay); }
- Сохраните изменения.
Теперь откройте новую форму «Отпуск» и заполните поля «Дата начала» и «Дата окончания». В поле «Продолжительность» автоматически появится количество дней отпуска:
Что дальше
- Изучите устройство и принципы работы скриптов в статье Архитектура;
- Узнайте более подробно о том, как редактировать поля формы, ограничивать списки значений полей, обращаться к реестру форм, а также валидировать значения полей;
- Посмотрите примеры готовых скриптов, чтобы оценить возможности платформы и подобрать готовый скрипт под свои задачи;
- Рассмотрите альтернативу в виде серверных скриптов, которые исполняются при вызове ботов.