BIMIT
Разработка плагинов

process

Интерфейс индикатора выполнения: показывает пользователю прогресс длительной работы плагина. Сначала задаётся общее число шагов, затем на каждом шаге передаётся номер текущего шага.

process равен null внутри form(), в обработчиках событий бизнес-процессов и при запуске правил коллизий из git-репозитория. Если код может выполняться в этих режимах, вызывайте методы через ?.: process?.setProgress(i).
setProgressLength - задает общее количество шагов
  • process.setProgressLength(double progressLength) - общее количество шагов (по умолчанию 100). Значения меньше или равные нулю игнорируются. Вызывается один раз перед циклом

Пример использования:

process.setProgressLength(elements.size())
setProgress - задает значение прогресса
  • process.setProgress(double progress) - номер текущего шага от 1 до значения, заданного в setProgressLength
Передаётся абсолютный номер шага, а не приращение: вызов с постоянным значением (например, setProgress(1) в каждой итерации) прогресс не двигает. Вызовы чаще чем раз в 50 мс игнорируются - это нормально, прогресс при этом не теряется: следующий принятый вызов учтёт все пройденные шаги.

Пример использования:

process.setProgressLength(elements.size())
elements.eachWithIndex { el, i ->
    // обработка элемента
    process.setProgress(i + 1)
}
Copyright © 2026