Автоматизация
Сценарии заказов
Правила «если — то» для заказов интернет-магазина на 1С-Битрикс: модуль сам меняет статус, платёжную систему, службу доставки, свойства и поля заказа — при сохранении заказа, по расписанию или вручную. С проверкой на заказе без изменений и журналом «было → стало».
- Заказы
- Интернет-магазин
- Автоматизация
- Статусы заказов
- Доставка
- despi.orderutils
-
Демо-период 7 дней
Полный функционал до оплаты — проверьте на своём каталоге.
-
Бессрочная лицензия
Платите один раз — модуль остаётся на сайте без подписки.
-
Поддержка от автора
Отвечает разработчик модуля. Входит в стоимость лицензии.
-
Доработка под задачу
Нужен свой сценарий — сделаю на заказ.
Описание
Модуль для интернет-магазина на 1С-Битрикс, который сам меняет заказ по правилам «если — то». Оплаченный заказ уходит в сборку, неоплаченный за три дня отменяется, крупная техника переключается на грузовую доставку, крупный заказ первого покупателя попадает на проверку к менеджеру — без ручной работы и без программиста.
Каждый сценарий — это три блока: Когда (событие, при котором сценарий проверяется), Если (условия по заказу, оплатам, отгрузкам и корзине) и Тогда (действия, которые выполняются по порядку). Правило собирается в визуальном редакторе и читается как обычная фраза.
Как это выглядит в работе
Не оплачен за 3 дня — отменить. Агент по расписанию перебирает заказы в статусе «Принят, ожидается оплата», находит неоплаченные заказы физлиц старше трёх дней, отменяет их с причиной «Не оплачен за 3 дня (название сценария)» и переводит в статус отмены. Менеджерам больше не нужно чистить список вручную.
Крупный заказ — на проверку менеджеру. Новый заказ физлица на 50 000 ₽ и больше — или первый заказ покупателя от 20 000 ₽ — получает отметку «Требует проверки», статус «На проверке у менеджера» и ответственного. Остальные сценарии такой заказ не трогают, пока его не проверили.
Крупная техника — грузовой доставкой. Если в корзине есть товар из раздела «Крупная техника» (с подразделами), служба доставки меняется на грузовую, а стоимость пересчитывается по её правилам. Если доставка уже грузовая, заказ не пересохраняется.
Когда срабатывает сценарий
Заказ сохранён — при любом сохранении: покупателем на сайте, менеджером в админке, обменом с 1С, агентом или другим модулем. Можно сузить до «только создание» или «только изменение» и до сохранений, где изменилось нужное поле: статус, оплата, отмена, разрешение доставки, отгрузка, ответственный.
По расписанию — агент периодически проверяет уже существующие заказы в выбранных статусах. Для правил вида «прошло N дней».
Ручной запуск — для разовых операций над выборкой заказов.
Условия
Поля заказа: статус, тип плательщика, оплата, отмена, отгрузка, ответственный, сайт, откуда пришло сохранение (сайт, админка, обмен с 1С, агент/API), вес, число позиций.
Суммы и даты: сумма заказа, стоимость доставки и товаров, оплачено, скидка, купоны; даты создания, изменения, смены статуса, оплаты, отмены — со сроками «прошло больше / меньше» в часах или днях.
Покупатель: группы, первый заказ, число прошлых заказов. Свойства заказа — все активные, по типам плательщика.
Блоки по оплатам, отгрузкам и позициям корзины с режимами «у любой», «у всех», «ни у одной»: товар, раздел каталога с вложенными, количество, цена, трек-номер, служба доставки.
Группы И / ИЛИ / НЕ до трёх уровней вложенности и условия на изменение: «изменилось», «стало», «было».
Действия
Сменить статус заказа.
Сменить платёжную систему у неоплаченных оплат.
Сменить службу доставки у неотгруженных отгрузок — с пересчётом стоимости или без.
Установить свойство заказа или очистить его.
Назначить ответственного, заменить или дописать комментарий менеджера.
Установить поле отгрузки: «Доставка разрешена», «Отгружена», трек-номер.
Отменить заказ с причиной или снять отмену.
В причине отмены, комментарии и трек-номере работают подстановки: ID и номер заказа, название сценария, текущая дата.
Безопасно для живого магазина
Тестовый режим после установки. Сценарии проверяют условия и пишут в журнал, что изменили бы, но заказы не сохраняются, пока вы сами не выключите режим. Есть и флаг «Тестовый» у отдельного сценария.
Проверка на заказе. Вводите номер заказа — и видите дерево условий с отметками ДА / НЕТ, значения в заказе и что изменит каждое действие: «было → стало». Заказ при этом не меняется.
Запуск по заказам. Сценарий прогоняется по выборке — по статусам, периоду или номерам — сначала в режиме проверки, затем с применением. Охват показывается заранее.
Журнал прогонов. Каждое срабатывание с итогом «Применён», «Тест», «Пропущен» или «Ошибка» и изменениями «было → стало» по каждому действию.
Без «наполовину изменённых» заказов. Перед изменением проверяются все действия сценария; если хоть одно применить нельзя, сценарий пропускается целиком с причиной в журнале. Заказ сохраняется один раз за проход, штатными средствами Битрикса.
Фоновая очередь. Сценарии выполняются сразу после ответа браузеру, поэтому не замедляют оформление заказа, а ошибка в сценарии не мешает покупателю. Сбои среды повторяются автоматически, при массовых ошибках срабатывает предохранитель.
Защита от петель. Собственные сохранения модуля сценарии заново не запускают, а предел сохранений одного заказа (по умолчанию 5 за 10 минут) обрывает зацикливание с чужими обработчиками.
Сценарий выключается сам, если ссылается на удалённый статус, службу доставки, платёжную систему или свойство, — с уведомлением в админке.
Сценарии проверяются сверху вниз, следующие видят изменения предыдущих, а флаг «Стоп после срабатывания» обрывает цепочку. Независимые наборы правил можно разнести по профилям — у каждого свои сценарии, настройки и кнопка включения.
Требования
1С-Битрикс: Управление сайтом с модулем «Интернет-магазин» (sale).
Агенты Битрикса на cron — рекомендуется для фоновой очереди и сценариев по расписанию.
Что модуль не делает
Не откатывает изменения автоматически — их видно в журнале «было → стало» и можно вернуть вручную.
Не меняет оплаченные оплаты и уже отгруженные отгрузки, не пересчитывает доставку на оплаченном заказе.
Не отменяет оплаченный заказ и не снимает оплату — такой заказ отменяют вручную.
Не обходит проверки интернет-магазина и чужих обработчиков событий: если Битрикс отказал, в журнале будет ошибка с его текстом.
Не обрабатывает задним числом старые заказы по событию «Заказ сохранён» — для них есть запуск по заказам и сценарии по расписанию.
Частые вопросы
Нужен ли программист, чтобы настроить сценарий?
Нет. Сценарий собирается в редакторе модуля из трёх блоков — «Когда», «Если», «Тогда»: поля, операторы и значения выбираются из списков, а блок «Правило целиком» показывает всю логику одной фразой. Для типичных задач есть готовые примеры с разбором настроек.
Не испортит ли модуль заказы сразу после установки?
Нет. После установки включён тестовый режим: сценарии проверяют условия и пишут в журнал прогонов, что изменили бы, но заказы не сохраняются. Кроме того, любой сценарий можно проверить на конкретном заказе без изменений и прогнать по выборке заказов в режиме проверки. Тестовый режим выключается в настройках, когда вы убедились по журналу, что всё верно.
Сработает ли сценарий на заказах, созданных до его включения?
Зависит от события. Сценарий с событием «Заказ сохранён» проверяет заказ только при его следующем сохранении — старые заказы, которые никто не трогает, он не увидит. Сценарий «По расписанию» перебирает существующие заказы в выбранных статусах, которые менялись за последние 30 дней (срок меняется в настройках). Чтобы разом обработать старые заказы, используйте запуск по заказам — по статусам, периоду создания или списку номеров: сначала в режиме «Проверка», затем «Применить».
Срабатывают ли сценарии на заказах из обмена с 1С, API и других модулей?
Да. Событие «Заказ сохранён» срабатывает при любом сохранении заказа: покупателем на сайте, менеджером в админке, обменом с 1С, агентом или кодом другого модуля. Если такие заказы трогать не нужно, добавьте условие «Откуда пришло сохранение» или «Заказ из внешней системы» — удобнее всего отдельным сценарием-исключением наверху списка со «Стоп после срабатывания».
Можно ли отменить изменения, которые сделал сценарий?
Автоматического отката нет: сценарий сохраняет заказ штатно, как менеджер. Но в журнале прогонов по каждому срабатыванию видно, что было в заказе и что стало, — по нему изменения легко вернуть вручную. Чтобы не пришлось ничего откатывать, новый сценарий сначала обкатывают проверкой на заказе, флагом «Тестовый» или тестовым режимом модуля.
Как понять, почему сценарий не сработал на заказе?
Откройте сценарий и выполните проверку на этом заказе. Модуль покажет итог и причину, всё дерево условий с отметками ДА / НЕТ — что задано в сценарии и что на самом деле в заказе, — а для действий значения «было → стало» или почему действие не применится. Если сценарий сработал, но был пропущен или упал с ошибкой, причина видна в журнале прогонов.
Что будет, если сценарий упадёт с ошибкой или очередь остановится? Не потеряются ли заказы?
Если магазин отказал в изменении (например, обработчик другого модуля запретил отмену), в журнале будет итог «Ошибка» с текстом Битрикса, а остальные сценарии применятся без этого. При сбое среды — недоступна база, блокировка, ошибка PHP — проход откатывается, а задача повторяется сама, до трёх попыток. Если за час 100 и больше задач завершились ошибкой, срабатывает предохранитель и агент очереди останавливается. Пока агент стоит, новые сохранения заказов копятся в очереди и будут выполнены после его запуска.
Почему изменения появились в заказе не сразу?
Сценарии выполняются в фоне через очередь — так сохранение заказа не замедляется, а сбой сценария не мешает покупателю. Обычно изменения появляются через мгновение после сохранения. Задержка бывает, если агенты Битрикса работают на хитах, а не на cron, выключен «Запуск очереди сразу после ответа» или в очереди много задач. Сценарии по расписанию срабатывают при проходе агента — по умолчанию раз в час.
Могут ли сценарии зациклиться и бесконечно менять заказ?
Собственные сохранения модуля сценарии заново не запускают. Петля возможна, только если заказ пересохраняет кто-то ещё — обработчик другого модуля или обмен с учётной системой — или два сценария меняют одно поле в разные стороны. На этот случай есть предел сохранений: не больше 5 сохранений одного заказа за 10 минут. При превышении сохранение останавливается, а в логах видна цепочка сценариев, которые перекидывали заказ.
Что будет со сценарием, если удалить статус, службу доставки или свойство заказа?
Сценарий выключится сам при ближайшей проверке — с задержкой до часа после изменения в магазине. В админке появится уведомление со списком того, чего не хватает, а в списке сценариев — плашка «Ошибка в правиле». Включить сценарий обратно можно, только исправив правило или вернув удалённое в магазин.
Может ли сценарий отменить оплаченный заказ или поменять оплаченную оплату?
Нет. Оплаченные оплаты действие «Сменить платёжную систему» не трогает никогда, а заказ с оплаченной оплатой интернет-магазин не отменяет — сценарий пропускается с причиной в журнале. Пересчёт стоимости доставки на заказе с оплатой тоже не выполняется, чтобы не изменить сумму уже оплаченного заказа. Оплату сценарии не снимают — оплаченный заказ отменяют вручную.
Как сделать, чтобы на заказ срабатывал только один сценарий из нескольких?
Сценарии проверяются сверху вниз в порядке списка. Расставьте их в нужном порядке и включите «Стоп после срабатывания» у тех, после которых остальные проверять не нужно: если такой сценарий сработал, сценарии ниже для этого заказа не проверяются.
Зачем нужны профили?
Профиль — отдельный набор сценариев со своими настройками: тестовым режимом, пределом сохранений, сроком хранения журнала, агентом очереди и кнопкой питания. В одном профиле все сценарии — одна цепочка, поэтому независимые ветки правил удобно разносить по профилям: например, «Статусы» и «Доставка», новые правила в тестовом профиле рядом с работающими или сезонные правила, которые включаются на время акции. Важно не давать двум профилям менять одно и то же поле заказа.
Сколько сценариев можно создать и нагружает ли модуль сайт?
Жёсткого ограничения нет. Условия проверяются по уже загруженному заказу, а заказ сохраняется один раз на проход, сколько бы сценариев ни сработало. Сценарии по сохранению выполняются после ответа браузеру, по расписанию — порциями, по умолчанию не больше 200 заказов за проход раз в час. Десятки сценариев — обычная работа; если их сотни, сужайте событие («Только создание заказа», «Если изменилось поле»), указывайте сайты и статусы.
Не нашли ответ?
Напишите — отвечу лично и подскажу, подойдёт ли модуль под вашу задачу.
Установка
Установка
Модуль ставится как любое решение Маркетплейс — из карточки решения или из каталога решений на вашем сайте. Общая инструкция: Установка модуля.
После установки включён тестовый режим: сценарии проверяют условия и пишут в журнал, что изменили бы, но заказы не меняются.
Сразу переведите агенты Битрикса на cron — сценарии выполняются в фоне через агентов. Инструкция: Настройка агентов на cron.
Первый сценарий
- Откройте Сценарии → Сценарии заказов в административной части сайта.
- Нажмите Новый сценарий или возьмите за основу один из примеров.
- Задайте блоки Когда, Если, Тогда и сохраните сценарий.
Проверка на заказе
- В правой колонке редактора введите номер заказа в блоке Проверка на заказе — модуль покажет, сработает ли сценарий и что изменит, ничего не сохраняя.
- Поработайте день-два в тестовом режиме и посмотрите журнал прогонов: записи с итогом Тест показывают, что сценарий сделал бы.
- Выключите тестовый режим в настройках сценариев.
Документация
Другие модули
ИИ Генерация контента для инфоблоков
Нейросеть заполняет описания товаров, тексты разделов, SEO мета-теги и переводы прямо в инфоблоках 1С-Битрикс — массово, в фоне, по настроенному правилу. Работает на вашем ключе Polza.ai, OpenRouter или своего OpenAI-совместимого шлюза, с проверкой ответа, модерацией и откатом.
- Контент
- Новинка
- Демо 7 дней
МойСклад: Гибкий обмен заказами по API
Двусторонний обмен заказами между интернет-магазином на 1С-Битрикс и МойСклад по JSON API 1.2: статусы, корзина, контрагенты, оплаты, отгрузки и свойства заказа — с веб-хуками для мгновенной передачи изменений.
- Интеграции
- Новинка
- Демо 14 дней
Нужно расширить функционал модуля?
Смогу доработать как текущий модуль, так и сделать кастомный модуль под ваши процессы.