Автоматизация тендеров в Битрикс24: смарт-процессы и интеграция с ЕИС

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Автоматизация тендеров в Битрикс24: смарт-процессы и интеграция с ЕИС
Простой
~1 день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1361
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    949
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    695
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    834
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    733
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1076

Настройка Битрикс24 для тендеров: реальная автоматизация под 44-ФЗ и 223-ФЗ

Когда тендерный отдел держит сотню заявок в Excel, а дедлайны горят — ошибки неизбежны?

Пропущенный срок подачи заявки стоит компании в среднем от 500 тыс. ₽ упущенной выгоды. Мы настраиваем Битрикс24 так, чтобы каждый тендер проходил по стадиям, а автоматизация напоминала, когда нужно подписывать документы. Наши сертифицированные инженеры с 10-летним опытом разработали решение, которое уже используют 15+ компаний. Закажите консультацию — оценим ваш проект за 1 рабочий день.

Почему стандартная сделка не подходит для тендеров

Стандартная сделка Битрикс24 не различает этапы мониторинга, анализа и подготовки документов. Менеджеры вынуждены дублировать информацию в таблицах и теряют контроль над сроками. Как указано в документации Битрикс24, смарт-процессы созданы для таких нелинейных бизнес-процессов. Мы используем пользовательские смарт-процессы, чтобы точно отразить реальный цикл торгов.

Как смарт-процесс ускоряет обработку тендеров?

Создаём отдельную сущность CRM — кастомный объект с собственными стадиями, полями и автоматизацией. В отличие от сделки, тендер имеет уникальную логику:

  • Стадии: Мониторинг → Анализ → Принято решение участвовать → Подготовка документов → Подача заявки → Торги → Выиграли / Проиграли → Исполнение контракта
  • Собственные поля: номер тендера (ЕИС), торговая площадка, НМЦ, наш ценовой порог, дата подачи заявок, дата торгов, тип тендера (44-ФЗ / 223-ФЗ / коммерческий)

Связываем смарт-процесс с компанией-заказчиком и ответственным менеджером. Средняя НМЦ по тендерам наших клиентов — 5–10 млн ₽, поэтому точность настройки критична.

Пошаговая настройка смарт-процесса

  1. Создайте сущность в разделе «Смарт-процессы» — назовите «Тендер».
  2. Добавьте стадии: от «Мониторинг» до «Исполнение контракта».
  3. Настройте пользовательские поля: номер ЕИС, площадка, НМЦ, даты.
  4. Добавьте роботов — например, при смене стадии на «Анализ» автоматически ставить задачи юристу и техническому специалисту.
Пример: автоматизация по этапам

Мониторинг → Анализ. Триггер: менеджер переводит тендер в «Анализ» — автоматически создаётся задача на юриста («Проверить документацию по тендеру №XXX, дедлайн — дата подачи минус 5 дней») и на технического специалиста («Оценить возможность выполнения»). Это сокращает время на согласование на 30%.

Принято решение участвовать. Создаются задачи на подготовку пакета документов с дедлайнами. Если тендер по 44-ФЗ — один чек-лист, если коммерческий — другой. Реализуется через шаблоны задач с условием.

Подача заявки. Напоминание ответственному за 48 часов до дедлайна. Роботы — «Уведомить пользователя» через IM и email.

Результат. Стадии «Выиграли» и «Проиграли» — конечные. При «Выиграли» автоматически создаётся сделка (или смарт-процесс «Контракт») с привязкой к тендеру и суммой контракта.

Поля и карточка тендера

Пользовательские поля смарт-процесса:

Поле Тип Назначение
UF_TENDER_NUMBER Строка Номер извещения на ЕИС
UF_PLATFORM Список Торговая площадка (Сбербанк-АСТ, Росэлторг и др.)
UF_NMC Деньги НМЦ
UF_OUR_PRICE Деньги Наша ставка
UF_SUBMIT_DATE Дата/время Срок подачи заявок
UF_AUCTION_DATE Дата/время Дата торгов
UF_TENDER_TYPE Список 44-ФЗ / 223-ФЗ / Коммерческий
UF_WIN_PROBABILITY Число Вероятность победы, %
UF_REJECT_REASON Строка Причина проигрыша (для анализа)

Документы и хранилище

К каждому тендеру привязывается папка на Битрикс24.Диске: «Тендер №XXX — Заказчик». Структура фиксированная: «Документация заказчика», «Наша заявка», «Переписка», «Контракт». Создаётся автоматически при переводе тендера в стадию «Принято решение участвовать» через робота с вызовом disk.folder.addsubfolder. Экономия на штрафах за просрочку — до 300 000 ₽ в год.

Отчётность

Через встроенные отчёты CRM строим: воронку по стадиям (сколько тендеров на каждом этапе), конверсию «участвовали → выиграли» (средняя 12%), средний размер выигранного контракта (около 3 млн ₽), эффективность по торговым площадкам. Это позволяет принимать решения: на каких площадках побеждаем чаще, какой ценовой диапазон НМЦ наиболее перспективен.

Почему смарт-процесс лучше стандартной сделки в 3 раза

Смарт-процесс с правильно настроенными стадиями, полями и автоматизацией даёт тендерному отделу структуру работы без лишних инструментов. Менеджеры видят все тендеры в одном месте, дедлайны не пропускаются, история каждого тендера сохраняется. По сравнению со стандартными сделками, смарт-процесс сокращает время обработки одного тендера на 40%.

Что входит в настройку

  • Конфигурация смарт-процесса с нужными стадиями и полями
  • Создание роботов и бизнес-процессов для автоматизации задач
  • Интеграция с торговыми площадками через API (Сбербанк-АСТ, Росэлторг, ЕИС) — опционально
  • Настройка отчётов и дашбордов
  • Тестовая загрузка 5–10 тендеров и обучение сотрудников
  • Гарантия на работы — 3 месяца бесплатной поддержки

Свяжитесь с нами, чтобы получить консультацию по настройке Битрикс24 для тендеров. Оценим проект за 1 день, дадим чёткий план и сроки — от 7 до 14 дней на внедрение.

Как настроить интеграцию с ЕИС?

Если требуется автоматический импорт тендеров с ЕИС или площадок, мы подключаем REST API или парсинг через агенты. Данные о новых торгах попадают прямо в CRM, менеджерам не нужно мониторить вручную. По опыту, это экономит 10–15 часов в неделю на одного сотрудника.

Разработка и настройка модулей 1С-Битрикс

Главная ловушка Битрикса — init.php. Сунул туда обработчик OnBeforeIBlockElementUpdate, потом ещё один — через год файл на 2000 строк, и при каждом хите весь этот ком выполняется. Мы переносим бизнес-логику в полноценные модули с D7 ORM, собственными таблицами и административным интерфейсом. Модуль можно отключить, перенести на другой проект, покрыть тестами — с init.php ничего из этого не получится. Опыт команды — 10+ лет в Битрикс, сертифицированные специалисты, гарантия на код 6 месяцев. Закажите консультацию — расскажем, как перевести legacy-код в модульную архитектуру.

Почему init.php — худшее место для бизнес-логики?

Init.php не поддерживает автозагрузку классов, не имеет изолированного пространства имён, не поддаётся модульному тестированию и не отключается без правки самого файла. Каждый обработчик, написанный там, срабатывает на каждом запросе, даже если он не нужен. В модуле вы регистрируете обработчика через EventManager, и он выполняется только при наступлении события. Разница в производительности — до 3 раз при 10+ обработчиках.

Стандартные модули: типовые проблемы и решения

Информационные блоки. Архитектура ИБ — первое, что мы ревьюим на любом проекте. Классическая ошибка: один инфоблок каталога с 80 свойствами, из которых 30 — множественные. Таблица b_iblock_element_property раздувается до миллионов строк, CIBlockElement::GetList на фильтрации по трём свойствам уходит в полное сканирование. Переносим справочники в Highload-блоки, убираем множественные свойства где можно, проектируем структуру с прицелом на то, что каталог вырастет в 5 раз.

Интернет-магазин (sale). Бизнес-правила корзины — отдельная история. Настраиваем приоритеты скидок, чтобы две акции не дали 60% вместо 30%, подключаем платёжные обработчики, прописываем кастомную валидацию через OnSaleOrderBeforeSaved.

Поиск. Встроенный модуль search с морфологией работает до 10–15 тысяч элементов. Дальше — Elasticsearch. Настраиваем через API модуля поиска Битрикс, индексируем через CSearchFullText или кастомные индексаторы.

Highload-блоки для справочников, логов, пользовательских данных — вместо раздутых ИБ. Прямые запросы через Bitrix\Highloadblock\HighloadBlockTable, собственные таблицы вместо EAV-структуры стандартных инфоблоков. Миллион записей — без деградации.

Почтовые события. Настройка — не только шаблоны в b_event_message. Главное — SPF, DKIM, DMARC на DNS, иначе транзакционные письма летят в спам. Проверяем доставляемость, настраиваем bounce-обработку.

Проектирование инфоблоков для производительности

Используем Highload-блоки для справочных данных (цвета, размеры, производители), которые не участвуют в сложных выборках. Для торговых предложений — отдельный инфоблок с привязкой через IBLOCK_ELEMENT_PROPERTY. Включаем INDEX_PROPERTY для часто фильтруемых свойств. Кэширование тегированное: при изменении элемента сбрасывается только связанный кеш. Highload-блоки обрабатывают до 10 раз быстрее, чем инфоблоки с множественными свойствами, на объёмах от 100 000 записей.

Разработка кастомных модулей

Каждый модуль — по структуре /local/modules/vendor.modulename/:

  • install/index.php — класс установки, создание таблиц через $DB->RunSQLBatch()
  • lib/ — классы D7 ORM, наследники Bitrix\Main\ORM\Data\DataManager
  • admin/ — административные страницы через CAdminList, CAdminForm
  • include.php — автозагрузка, регистрация обработчиков через EventManager::getInstance()->registerEventHandler()
  • REST API endpoints через \Bitrix\Rest\RestManager

Модуль регистрируется в системе, появляется в списке «Установленные решения», имеет свои настройки в /bitrix/admin/settings.php?mid=vendor.modulename. Его можно включать, отключать, обновлять через UpdateSystem или свой механизм миграций.

Примеры реализованных задач:

  • Управление акциями — визуальный конструктор условий через CAdminCalendar, таймеры через агенты (CAgent::AddAgent), аналитика эффективности в связке с модулем sale
  • Калькулятор стоимости — React-виджет на фронте, REST API в модуле, формулы хранятся в Highload-блоке
  • Система бронирования — real-time календарь, блокировка через $DB->StartTransaction() / $DB->Commit() при одновременных запросах, синхронизация с channel manager через webhook

Компоненты и композитный кэш

Кастомизация компонентов — через result_modifier.php и component_epilog.php, не через правку template.php стандартного шаблона. Так ядро обновляется безболезненно.

Композитный кэш (технология «Композитный сайт») — сервер отдаёт готовый HTML, минуя PHP-роутинг. Динамические зоны (корзина, авторизация) подгружаются через CBitrixComponent::setFrameMode(true) и AJAX. TTFB падает до 30–50 мс. Но есть нюансы: не все компоненты совместимы, $APPLICATION->ShowPanel() ломает композит, нужна аккуратная разметка <div id="bx-composite-...">.

Маркетплейс: аудит перед установкой

Перед установкой модуля с маркетплейса — обязательный аудит. Проверяем: SQL-запросы без подготовленных выражений (привет, SQL-инъекции), прямое обращение к $_REQUEST без фильтрации, использование устаревшего API старого ядра вместо D7, конфликты с модулем композитного кэширования. Модуль без обновлений больше года и с парой десятков установок — скорее всего, проблема на ближайшем обновлении PHP. Типичный случай: модуль вызывает CIBlockElement::GetList с несброшенным кешем — сайт падает при 5000 элементов.

Миграция на D7

При обновлении PHP или переходе на новую редакцию — рефакторинг устаревших вызовов:

  • CIBlockElement::GetList()Bitrix\Iblock\Elements\ElementTable::getList()
  • CSaleOrder::GetList()Bitrix\Sale\Order::getList()
  • CModule::IncludeModule()Bitrix\Main\Loader::includeModule() Тестирование на staging, откат через git при проблемах.

Согласно официальной документации 1С-Битрикс, D7 ORM является рекомендуемым средством для работы с данными, обеспечивая безопасность типов и автогенерацию запросов.

Сравнение подходов: Init.php vs Модуль

Критерий Init.php Модуль с D7 ORM
Производительность Выполняется на каждом хите Выполняется только при событии
Тестируемость Нет автозагрузки, тесты невозможны Полная поддержка PHPUnit
Поддерживаемость Кодовая база растёт бесконтрольно Изолированная структура, версионирование
Миграции Нет Собственные таблицы, управление через install
Кэширование Не поддерживает автоинвалидацию Тегированное кэширование, сброс по событию

Стоимость и состав разработки модулей

Что входит в разработку модуля?

  • Техническое задание и архитектурная схема
  • Код с соблюдением PSR-4 и код-стайла Битрикс
  • Unit-тесты (PHPUnit) на бизнес-логику
  • Интеграционные тесты на события и REST API
  • Документация по установке, настройке и API
  • Передача доступов к репозиторию и документации
  • Обучение администраторов работе с модулем
  • Гарантийная поддержка 6 месяцев

Ориентировочные сроки и сложность:

Сложность Примеры Сроки
Простой Виджет обратного звонка, баннерная система, простой калькулятор 3–5 дней
Средний Система бронирования, конфигуратор товаров, модуль отзывов с модерацией 1–2 недели
Сложный Мультирегиональность, кастомная программа лояльности, интеграция с ERP 2–4 недели
Enterprise Маркетплейс-платформа, сложные бизнес-процессы с множеством ролей 1–3 месяца

Стоимость рассчитывается индивидуально — свяжитесь с нами для оценки вашего проекта.

Тестирование модулей

Unit-тесты через PHPUnit покрывают бизнес-логику: расчёт скидок, валидацию, формирование документов. Моки для Bitrix\Main\Application::getConnection() позволяют тестам не зависеть от БД. Интеграционные тесты проверяют обработчики событий на реальной базе — OnAfterIBlockElementAdd, OnSaleOrderSaved и другие. REST API endpoints тестируем через curl или PHPUnit HTTP-клиент. Критично для модулей, работающих с b_sale_order, b_catalog_price — где ошибка стоит денег.

Совместимость проверяется на PHP 7.4, 8.0, 8.1, 8.2 и редакциях: Стандарт, Малый бизнес, Бизнес. Проверяем конфликты с популярными модулями маркетплейса — они любят перехватывать те же события. Нагрузочное тестирование: замеры на 10K, 100K, 1M записей, профилирование через Xdebug на предмет утечек памяти и N+1 запросов.

Примеры из практики

Модуль акций для сети электроники. Штатные скидки модуля sale не покрывали сценарии «2+1», подарок при покупке от суммы, комбинированные условия. Собрали визуальный конструктор: маркетолог создаёт правила через drag-and-drop, без тикетов в разработку. Календарь акций, автодеактивация через агенты, аналитика в привязке к b_sale_order — конверсия, средний чек, количество применений. Время запуска новой акции упало с двух дней до получаса.

Калькулятор для строителей. Параметры (площадь, материалы, этажность) → формула → предварительная смета → заявка в CRM через CRest::call('crm.lead.add'). Региональные коэффициенты и сезонные наценки — из Highload-блока, цены материалов — из обмена с 1С. Количество целевых заявок выросло на треть: клиенты видят разбивку по статьям до звонка менеджеру.

Бронирование для сети отелей. Real-time доступность через AJAX-запросы к кастомной таблице vendor_booking_slots, расчёт тарифов по сезону, синхронизация с Booking.com через channel manager API. Блокировка номера при одновременном бронировании — через SELECT ... FOR UPDATE в транзакции. Таймзоны обрабатываются через \DateTimeZone — гость из Владивостока и менеджер из Москвы видят одну картину.

Оценим проект за 1 день. Пишите — расскажем, что входит в разработку под ключ. Свяжитесь с нами для консультации по вашему проекту. Закажите разработку модуля под ключ — получите готовое решение с документацией и поддержкой.