Курьер нажал «Доставлено» — и карточка в CRM сама перешла на финальную стадию. Никто ничего не двигал руками. Так выглядит связка «статус доставки → стадия», и собирается она одним бизнес-процессом Bitrix24. Разберём настройку — включая грабли, на которые наступают почти все.
Как статус попадает в CRM.
Поле «Статус доставки» в карточке обновляет сама система — по действиям курьера в его приложении:
| Действие курьера | Статус в CRM |
|---|---|
| Назначен на маршрутный лист | Назначен |
| В пути, прибыл, выполняет доставку | В работе |
| Нажал «Доставлено» | Доставлено |
| Недоставка, отказ или отмена | Не доставлено |
| Заказ ещё не в работе | Новый |
Менять это поле руками бесполезно — система перезапишет значение. А вот сдвинуть стадию карточки при смене статуса — задача бизнес-процесса.
Каким должен быть БП.
Коротко: маленьким и событийным.
- Шаблон на смарт-процессе доставок с автозапуском «При изменении» — плюс «При добавлении», чтобы новые карточки сразу вставали на свою стадию.
- Внутри — одна конструкция «Условие» с веткой на каждый статус.
- В каждой ветке — действие «Изменение документа», которое ставит нужную стадию.
- Без пауз, циклов и ожиданий: на каждую смену статуса Bitrix24 запускает свежий экземпляр, он отрабатывает мгновенно и завершается.
Маппинг «статус → стадия» — ваш: обычно «Новый» → заявка в работе, «Назначен» → назначена курьеру, «В работе» → доставляется, «Доставлено» и «Не доставлено» → финальные стадии.
Главные грабли: сравнивайте текст, а не пункт списка.
«Статус доставки» — списочное поле. Если в ветке условия выбрать тип «Поле документа» и указать значение из выпадающего списка, Bitrix24 сравнивает внутренние идентификаторы значений — и на списочных полях такое сравнение может сработать не тем значением: ветка «Назначен» вдруг срабатывает как «В работе», и карточки едут не на те стадии. Снаружи это выглядит как мистика, потому что в редакторе БП всё «настроено правильно».
Надёжный способ — сравнивать печатный текст поля:
- В ветке выберите условие типа «Смешанное условие».
- Первым операндом вставьте значение поля с суффиксом
_PRINTABLE:{=Document:UF_CRM_..._PRINTABLE}, гдеUF_CRM_...— код вашего поля статуса. - Оператор — «равно», второй операнд — текст статуса, например
Доставлено.
_PRINTABLE отдаёт то, что видит человек: текст значения. Такое сравнение работает предсказуемо для всех статусов, включая «Назначен».
Отсюда правило для всей команды: не переименовывайте значения «Статуса доставки» и названия стадий без обновления БП. Сравнение идёт по тексту — после переименования карточки перестанут двигаться сами.
Чего не делать.
- Паузы и циклы. БП, который «ждёт и проверяет поле», — это поллинг: минимальная пауза в облачном Bitrix24 — 10 минут, а на карточках копятся незавершённые экземпляры, которые потом мешают даже удалить шаблон. Событийный запуск «При изменении» делает то же самое мгновенно и без хвостов.
- Двигать статус руками. Поле обновляет система, ручные правки перезапишутся.
- Двигать стадию из двух мест. Стадию двигает один БП по статусу. Если стадии двигают ещё и роботы воронки или менеджеры — начнётся перетягивание каната.
Проверка.
- Создайте тестовую карточку доставки и прогоните её по статусам — удобнее всего реальными действиями курьера в приложении: назначьте маршрут, нажмите «В пути», «Доставлено».
- После каждой смены статуса карточка должна переходить на свою стадию в течение секунд.
- Проверьте обратный ход: недоставка после «В работе» должна увести карточку на стадию недоставки.
Если стадия не сдвинулась — откройте журнал бизнес-процессов на карточке: там видно, какая ветка сработала и с каким значением сравнивалось поле.