Ситуация типовая для штатной интеграции Битрикс24 (облако) ↔ 1С:УТ по HTTPS и почти всегда связана не с «поломкой обмена», а с разницей между бизнес-процессным и пользовательским завершением сделки с точки зрения триггеров обмена.
Ниже — разбор по слоям и практический алгоритм диагностики.
1. Ключевой симптом
|
Действие в Битрикс24 |
Результат в 1С |
|
Менеджер вручную переводит сделку в финальную стадию |
Статус Заказа клиента в 1С корректно меняется |
|
Сделка закрывается автоматически (робот, БП, триггер) |
Статус заказа в 1С не меняется |
Это означает:
Интеграция работает, но событие, которое запускает выгрузку изменения стадии, не фиксируется при авто-завершении.
2. Как штатная интеграция вообще понимает, что нужно обновить 1С
Обмен строится не «по факту изменения стадии», а по регламентному сценарию:
-
В Б24 меняется стадия сделки
-
Внутренний обработчик модуля интеграции помечает сущность как:
-
Изменена
-
Требует синхронизации
-
При следующем сеансе обмена сделка уходит в 1С
-
В 1С по таблице соответствия стадий CRM ↔ Статусы заказов выполняется установка статуса
Проблема в том, что не каждое изменение стадии считается “пользовательским изменением” с точки зрения механизма обмена.
3. Основная причина (в 80% таких кейсов)
Автозавершение происходит без сохранения карточки сделки как изменённой
Некоторые способы закрытия:
|
Способ |
Что происходит технически |
|
Ручной перевод стадии |
Полное событие OnAfterCrmDealUpdate |
|
Робот «Изменить стадию» |
Упрощённое обновление без ряда триггеров |
|
Бизнес-процесс (действие “Изменить документ”) |
Иногда проходит через API без флага изменения для обмена |
|
REST / вебхук |
Часто не инициирует флаг синхронизации |
В результате:
Для CRM стадия изменилась, но модуль обмена не считает сделку “изменённой для 1С”.
4. Второй частый фактор — настройки модуля обмена в 1С
В 1С (модуль обмена с сайтом / Б24) есть параметр вида:
-
“Выгружать только сделки, изменённые пользователями”
-
или логика отбора по регистру изменений
При автоматическом переводе стадий такие изменения могут не попадать в регистр изменений.
5. Что проверить в первую очередь (по шагам)
Шаг 1. Проверка — видит ли обмен изменение сделки
В 1С:
-
Раздел Администрирование → Обмен с сайтом / CRM
-
Откройте Журнал регистрации обмена
-
Найдите проблемную сделку по ID
-
Сравните:
-
Лог после ручного закрытия
-
Лог после автоматического закрытия
Если при авто-закрытии сделка не фигурирует как "изменённая" — причина найдена.
Шаг 2. Как именно закрывается сделка в Б24
Нужно определить механизм:
-
Робот?
-
Бизнес-процесс?
-
Триггер (например, оплата)?
-
REST?
Это критично, потому что:
Не все механизмы вызывают «полное» событие изменения сделки.
6. Рабочие способы исправления
Вариант 1 (наиболее надёжный) — “принудительное изменение” сделки
После автоперевода стадии добавить дополнительное действие:
Робот → Изменить поле сделки
Например:
-
Поле: любое незначимое (например, служебное или комментарий)
-
Значение: текущее + пробел / метка времени
Зачем это нужно:
Это гарантированно создаёт событие полноценного изменения сделки, которое подхватывает модуль обмена.
Вариант 2 — изменить способ автозавершения
Если используется БП:
Вместо:
Действие “Изменить документ (стадия)”
Использовать:
Робота CRM “Сменить стадию”
Роботы чаще корректно фиксируются в обмене, чем действия БП.
Вариант 3 — настройка на стороне 1С (если есть доступ к доработке)
Программист 1С может:
-
Убрать фильтр "только изменённые пользователями"
-
Либо добавить отбор:
Если стадия изменилась → всегда обновлять статус заказа
Это решает проблему системно, но требует вмешательства в конфигурацию.
Вариант 4 — регламентный пересчёт статусов в 1С
Создаётся обработка, которая:
-
Получает актуальные стадии сделок из Б24
-
Сверяет со статусами заказов
-
Допроставляет статусы
Используется как “страховочный механизм”.
7. Почему вручную работает, а автоматически — нет
|
Параметр |
Ручное закрытие |
Автоматическое |
|
Полное событие изменения |
Да |
Не всегда |
|
Попадание в регистр изменений |
Да |
Часто нет |
|
Триггер обмена в 1С |
Срабатывает |
Может не сработать |
8. Самое практичное решение (без программиста)
Добавьте после автозакрытия второй робот:
Действие: Изменить поле сделки
Поле: любое техническое
Значение: {=System:Now} или добавление символа
Это имитирует “ручное редактирование” и запускает обмен.
Итог
Проблема не в статусах и не в HTTPS, а в том, что:
Автоматическое закрытие сделки не формирует для модуля интеграции событие “сделка изменена”, поэтому изменение стадии не уходит в 1С.
Решается либо:
-
принудительным изменением сделки после автозакрытия (самый быстрый способ),
-
либо корректировкой логики обмена в 1С.
Если опишете, чем именно закрывается сделка (робот / БП / триггер), можно указать точную точку, где теряется событие.
Прочитали статью, но всё равно не уверены, где именно «теряется» обмен между Битрикс24 и 1С?
Мы можем быстро провести диагностику интеграции, проверить логи обмена, роботов и бизнес-процессы, определить причину и настроить корректную передачу стадий и статусов без лишних доработок.
Оставьте заявку — разберём ваш кейс и предложим оптимальное решение.
Подпишитесь на рассылку полезных статей, обещаем писать не более одного раза в месяц
Битрикс24
сопровождение сайтов
контекстной рекламы
Битрикс24
сопровождение сайтов
контекстной рекламы
