Что делать, если нужно запустить бизнес-процесс для 500 сделок сразу?
Знакомая картина? Вы — администратор CRM, а отдел продаж только что завершил масштабную акцию. Воронка теперь ломится от сотен лидов или сделок, по которым нужно в один клик запустить один и тот же сценарий: отправить письмо, поставить задачу менеджеру, обновить поле или начать сложную многоступенчатую обработку. Вручную — это ад на пару рабочих дней. А стандартный Битрикс24, как назло, предлагает запускать бизнес-процессы только по одной штучке. Кажется, что система, созданная для автоматизации, в самый нужный момент подводит.
В этой статье:
- Способ для экономных: маленькая хитрость со стандартными настройками
- Способ для прагматиков: специализированные приложения из Маркетплейса
- Способ для гиков: прямое обращение к API
- Что выбрать? Краткий гид по способам
- Чего стоит опасаться: подводные камни массового запуска
Не отчаивайтесь. Эта «дыра» в функционале давно известна, и сообщество администраторов и разработчиков придумало несколько рабочих обходных путей. Одни — для ленивых (в хорошем смысле), другие — для перфекционистов, третьи — для тех, у кого есть доступ к коду. Сегодня мы разберем все эти способы, чтобы вы могли выбрать свой и больше никогда не тратить время на рутину.
Главное — понять, что задача массового запуска бизнес-процессов решаема. И порой для этого даже не нужно покупать дорогие приложения или нанимать программиста. Порой достаточно небольшой хитрости.
Способ для экономных: маленькая хитрость со стандартными настройками
Этот лайфхак гуляет по форумам и блогам консультантов уже несколько лет. Он не требует ни копейки, ни установки дополнительных модулей. Его суть — обмануть систему, заставив ее думать, что все выбранные вами сущности (сделки, лиды, контакты) были только что изменены.
Как это работает? Вы настраиваете нужный вам бизнес-процесс на автозапуск при изменении элемента. А потом в списке сделок просто... массово их «редактируете», не меняя по факту ни одного поля. Система фиксирует событие изменения и запускает процесс.
Вот пошаговый план:
- Идем в CRM > Настройки > Роботы и бизнес-процессы.
- Выбираем нужный тип сущности (например, «Сделки») и находим шаблон нашего процесса.
- В условиях запуска ставим галочку «Запускать при изменении элемента». Важный момент: если у вас на этой сущности уже висят другие процессы с автозапуском, временно отключите их, чтобы не запустить ненужное.
- Сохраняем шаблон.
- Теперь переходим в список сущностей (например, «Сделки») в режиме «Список».
- С помощью фильтра отбираем все сделки, по которым нужно запустить процесс.
- Ставим галочки напротив них (или выбираем «Все отмеченные на странице»).
- Внизу списка жмем кнопку «Редактировать».
- Откроется окно массового редактирования. Нам НЕ нужно ничего в нем менять. Просто нажимаем «Сохранить».
Вуаля! CRM зафиксирует факт «обновления» даты изменения у всех выбранных сделок и по каждой из них запустит ваш бизнес-процесс. Задача решена.
«Это гениально и просто. Мы так ежегодно запускаем поздравления с Днем рождения по базе контактов. Настроили один раз — теперь это дело пяти минут», — делится опыт один из администраторов CRM на профильном форуме.
Минусы у способа тоже есть. Во-первых, если процесс сложный и ресурсоемкий, запуск сотен экземпляров одновременно может немного «подвесить» портал. Во-вторых, нужно не забывать отключать другие автозапускаемые процессы. Но для разовых или регулярных, но не очень частых операций — это идеальный бесплатный вариант.
Способ для прагматиков: специализированные приложения из Маркетплейса
Если «хаки» — не ваш стиль, или вам нужно делать такие массовые запуски часто, с разными условиями и разными процессами, то лучше обратиться к готовым решениям. В Маркетплейсе Битрикс24 есть несколько приложений, которые добавляют эту функцию в интерфейс.
Например, некоторые разработчики предлагают решения вроде «Массовый запуск бизнес-процессов» или интеллектуальные платформы типа Пинкит, которые среди прочего умеют и это. Их логика обычно такая:
- Вы устанавливаете приложение на портал.
- В отдельном разделе или прямо в списке сущностей появляется новая кнопка «Запустить БП».
- Выбираете сущности, выбираете из выпадающего списка нужный шаблон процесса — и запускаете.
Такие приложения хороши тем, что они дают контролируемый интерфейс, часто позволяют запускать процессы с дополнительными параметрами, ставят задачи в очередь, чтобы не нагружать систему, и ведут лог выполнения. Это уже не хак, а штатный функционал.
Что искать в Маркетплейсе? Попробуйте запросы: «массовый запуск бизнес процессов», «batch start workflow», «обработка множества сделок». Перед покупкой обязательно посмотрите срок действия демо-версии и почитайте отзывы.
Способ для гиков: прямое обращение к API
Если вы или ваш разработчик не боитесь кода, то самый гибкий и мощный способ — использовать API Битрикс24. Это метод для тех, кому нужно встроить массовый запуск в какой-то свой сложный сценарий, запускать его по расписанию или при наступлении внешних событий.
Суть в том, чтобы написать небольшой скрипт (на PHP или используя REST API), который в цикле переберет ID нужных вам сущностей и для каждой вызовет метод запуска бизнес-процесса. Вот как это выглядит в упрощенном виде для PHP (на основе обсуждений на официальном форуме 1С-Битрикс):
// Примерный код, требуется адаптация под ваши условия
use Bitrix\Main\Loader;
use Bitrix\Bizproc\WorkflowInstanceService;
if (Loader::includeModule('bizproc') && Loader::includeModule('crm')) {
$templateId = 146; // ID вашего шаблона бизнес-процесса
$dealIds = [5000, 5500, 7500]; // Массив ID сделок, которые можно получить из фильтра
foreach ($dealIds as $dealId) {
$documentId = ['crm', 'CCrmDocumentDeal', 'DEAL_' . $dealId];
$errors = [];
\CBPDocument::StartWorkflow($templateId, $documentId, [], $errors);
// Здесь хорошо бы добавить обработку ошибок из массива $errors
}
}
Этот подход требует понимания, как устроены документы в BP и как работать с API. Зато он снимает все ограничения. Хотите запускать процессы каждую ночь по сделкам со статусом «Новые»? Легко. Нужно интегрировать с внешней системой, которая присылает пачку ID? Пожалуйста.
Как отмечают на форумах, альтернативный вариант для списков (а не CRM) — это просто массово обновить элементы через REST API, если процесс настроен на автозапуск по изменению. Но для CRM чаще используется прямой вызов StartWorkflow.
Что выбрать? Краткий гид по способам
Давайте резюмируем, чтобы вы могли быстро принять решение:
- Вы администратор, нужно сделать разово или нечасто, бюджет нулевой → Используйте «хак» с массовым редактированием. Быстро, бесплатно, без программистов.
- Вы руководитель отдела продаж или маркетинга, операция нужна регулярно, хочется простой кнопки → Ищите подходящее приложение в Маркетплейсе. Потратите немного денег, но сэкономите кучу нервов и времени коллег.
- В вашей компании есть разработчик, а задача — часть сложной автоматизации → Обращайтесь к API. Это даст максимальную гибкость и контроль, но потребует технических ресурсов на написание и поддержку.
Не существует единственно правильного способа. Есть способ, который правилен для вашей конкретной задачи, вашего бюджета и уровня технической подкованности.
Чего стоит опасаться: подводные камни массового запуска
Какой бы путь вы ни выбрали, помните о двух важных моментах:
- Нагрузка на систему. Запуск 1000 бизнес-процессов, каждый из которых отправляет письма, создает задачи и делает запросы к внешним сервисам, — это серьезная нагрузка. Если делаете это в рабочее время, будьте готовы к возможным кратковременным замедлениям в работе портала. Идеально выполнять такие операции в нерабочие часы.
- Конфликт процессов. Убедитесь, что ваш массово запускаемый процесс не конфликтует с другими автоматическими правилами или триггерами, настроенными на тех же сущностях. Например, чтобы не получилось бесконечной цикличности, когда один процесс меняет поле, а другой, сработав на это изменение, меняет его обратно.
Перед тем как запускать процесс на 1000 записях, всегда делайте тест на 3-5. Убедитесь, что процесс запускается, работает как задумано и не создает побочных эффектов.
Массовый запуск бизнес-процессов — это не недостаток Битрикс24, а скорее особенность. Понимая эту особенность и вооружившись одним из описанных инструментов, вы превращаетесь из человека, который вручную копает траншею, в оператора экскаватора. Автоматизация должна экономить силы, а не добавлять головной боли. Теперь вы знаете, как заставить её работать на вас по-настоящему.