Справка

Быстрый старт

Облачный 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);
    }
    
  • Сохраните изменения.

Теперь откройте новую форму «Отпуск» и заполните поля «Дата начала» и «Дата окончания». В поле «Продолжительность» автоматически появится количество дней отпуска:

Что дальше

Была ли эта статья полезной?