Курьер нажал «Доставлено» — и карточка в CRM сама перешла на финальную стадию. Никто ничего не двигал руками. Так выглядит связка «статус доставки → стадия», и собирается она одним бизнес-процессом Bitrix24. Разберём настройку — включая грабли, на которые наступают почти все.

Как статус попадает в CRM.

Поле «Статус доставки» в карточке обновляет сама система — по действиям курьера в его приложении:

Действие курьераСтатус в CRM
Назначен на маршрутный листНазначен
В пути, прибыл, выполняет доставкуВ работе
Нажал «Доставлено»Доставлено
Недоставка, отказ или отменаНе доставлено
Заказ ещё не в работеНовый

Менять это поле руками бесполезно — система перезапишет значение. А вот сдвинуть стадию карточки при смене статуса — задача бизнес-процесса.

Каким должен быть БП.

Коротко: маленьким и событийным.

  • Шаблон на смарт-процессе доставок с автозапуском «При изменении» — плюс «При добавлении», чтобы новые карточки сразу вставали на свою стадию.
  • Внутри — одна конструкция «Условие» с веткой на каждый статус.
  • В каждой ветке — действие «Изменение документа», которое ставит нужную стадию.
  • Без пауз, циклов и ожиданий: на каждую смену статуса Bitrix24 запускает свежий экземпляр, он отрабатывает мгновенно и завершается.

Маппинг «статус → стадия» — ваш: обычно «Новый» → заявка в работе, «Назначен» → назначена курьеру, «В работе» → доставляется, «Доставлено» и «Не доставлено» → финальные стадии.

Главные грабли: сравнивайте текст, а не пункт списка.

«Статус доставки» — списочное поле. Если в ветке условия выбрать тип «Поле документа» и указать значение из выпадающего списка, Bitrix24 сравнивает внутренние идентификаторы значений — и на списочных полях такое сравнение может сработать не тем значением: ветка «Назначен» вдруг срабатывает как «В работе», и карточки едут не на те стадии. Снаружи это выглядит как мистика, потому что в редакторе БП всё «настроено правильно».

Надёжный способ — сравнивать печатный текст поля:

  1. В ветке выберите условие типа «Смешанное условие».
  2. Первым операндом вставьте значение поля с суффиксом _PRINTABLE: {=Document:UF_CRM_..._PRINTABLE}, где UF_CRM_... — код вашего поля статуса.
  3. Оператор — «равно», второй операнд — текст статуса, например Доставлено.

_PRINTABLE отдаёт то, что видит человек: текст значения. Такое сравнение работает предсказуемо для всех статусов, включая «Назначен».

Отсюда правило для всей команды: не переименовывайте значения «Статуса доставки» и названия стадий без обновления БП. Сравнение идёт по тексту — после переименования карточки перестанут двигаться сами.

Чего не делать.

  • Паузы и циклы. БП, который «ждёт и проверяет поле», — это поллинг: минимальная пауза в облачном Bitrix24 — 10 минут, а на карточках копятся незавершённые экземпляры, которые потом мешают даже удалить шаблон. Событийный запуск «При изменении» делает то же самое мгновенно и без хвостов.
  • Двигать статус руками. Поле обновляет система, ручные правки перезапишутся.
  • Двигать стадию из двух мест. Стадию двигает один БП по статусу. Если стадии двигают ещё и роботы воронки или менеджеры — начнётся перетягивание каната.

Проверка.

  1. Создайте тестовую карточку доставки и прогоните её по статусам — удобнее всего реальными действиями курьера в приложении: назначьте маршрут, нажмите «В пути», «Доставлено».
  2. После каждой смены статуса карточка должна переходить на свою стадию в течение секунд.
  3. Проверьте обратный ход: недоставка после «В работе» должна увести карточку на стадию недоставки.

Если стадия не сдвинулась — откройте журнал бизнес-процессов на карточке: там видно, какая ветка сработала и с каким значением сравнивалось поле.