Проектирование архитектуры проекта на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Проектирование архитектуры проекта на 1С-Битрикс
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1163
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    563
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    743
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    653
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Проектирование архитектуры проекта на 1С-Битрикс

Архитектурные решения в Битрикс-проекте принимаются один раз — и живут с проектом годами. Выбор между монолитным шаблоном и компонентной архитектурой, между хранением данных в инфоблоках и HL-блоках, между стандартными компонентами и кастомной разработкой — каждое из этих решений определяет стоимость поддержки, возможность масштабирования и скорость добавления новых функций через 2–3 года. Проектирование архитектуры — это фаза, которую нельзя пропускать, если проект планируется как долгосрочный.

Слои архитектуры Битрикс-проекта

Битрикс имеет несколько уровней, и решения на каждом из них влияют на другие.

Уровень данных: инфоблоки, HL-блоки, пользовательские таблицы

Инфоблоки (b_iblock_element, b_iblock_element_property) — гибкий инструмент, но с ценой: EAV-схема плохо масштабируется на больших объёмах. Ключевые решения на этом уровне:

  • Какие данные хранятся в инфоблоках, какие — в HL-блоках, какие — в собственных таблицах через D7 ORM (\Bitrix\Main\ORM\Data\DataManager)
  • Структура типов инфоблоков и их группировка
  • Схема торговых предложений: один инфоблок офферов на всё или раздельные на категории

Уровень логики: компоненты vs. собственный код

Стандартные компоненты Битрикс (bitrix:catalog.section, bitrix:sale.order.ajax, bitrix:form) покрывают типовые сценарии. За их пределами начинается выбор: расширять существующий компонент через шаблон, создавать кастомный компонент (CBitrixComponent) или писать логику в контроллере D7 (\Bitrix\Main\Engine\Controller).

Критерий: если бизнес-логика специфична для проекта и не является переиспользуемой — она не должна быть в шаблоне компонента. Шаблон — это только представление.

Уровень кеширования

Архитектурное решение — какие данные кешируются и как инвалидируются. Варианты в Битрикс:

  • BXCache/CPHPCache — файловый кеш для компонентов
  • TaggedCache (\Bitrix\Main\Data\TaggedCache) — инвалидация по тегам
  • Cache D7 (\Bitrix\Main\Data\Cache) — унифицированный кеш с поддержкой memcached/Redis
  • Композитный кеш — статический HTML для анонимных пользователей

Уровень фронтенда

Битрикс поддерживает несколько подходов: классический PHP-шаблон с jQuery, Битрикс-компоненты с BX.ajax, и современный стек — Vue/React через REST API или компоненты с bitrix:ui.*. Выбор влияет на поддерживаемость: фронтенд-разработчик, пришедший на поддержку, должен ориентироваться в том, что вы выбрали.

Многосайтовость и мультирегиональность

Если проект охватывает несколько регионов или языков, архитектурное решение принимается на старте. Битрикс поддерживает:

  • Несколько сайтов в одном ядре с общей БД (b_site)
  • Языковые версии через механизм languages модуля main
  • Региональные сайты с разными доменами и общим контентом

Неправильный выбор (например, разные каталоги для каждого региона вместо одного с региональными ценами) приводит к дублированию данных и проблемам синхронизации.

Кейс: переработка архитектуры e-commerce проекта

Дистрибьютор промышленного оборудования, 2019 год. Проект разрабатывался без явного архитектурного решения: 4 инфоблока каталога для разных категорий товаров, каждый со своим набором свойств-строк, пользовательская логика в init.php, шаблоны компонентов с бизнес-логикой внутри.

К 2022 году: 45 000 элементов суммарно, добавление нового свойства требовало изменений в 4 местах, фильтр не мог работать по свойствам из разных инфоблоков, обмен с 1С — кастомный скрипт на 2 000 строк без документации.

Что сделали при рефакторинге:

  1. Объединили 4 инфоблока каталога в один с единой схемой свойств через HL-блоки
  2. Перенесли бизнес-логику из шаблонов в D7-компоненты и сервисные классы в local/lib/
  3. Логику в init.php разбили на обработчики событий с регистрацией через AddEventHandler
  4. Настроили фасетный индекс на едином инфоблоке — фильтр стал работать корректно
  5. Стандартный обмен с 1С через CommerceML заменил кастомный скрипт

Документы, которые производятся на этапе проектирования

  • Диаграмма структуры данных: инфоблоки, HL-блоки, связи
  • Схема компонентного состава страниц
  • Схема кеширования и инвалидации
  • Архитектура интеграций: 1С, CRM, сторонние сервисы
  • Решения по многосайтовости и мультиязычности
  • Обоснование выбора редакции и модулей Битрикс

Срок проектирования: от 1 недели для небольшого проекта до 4–6 недель для enterprise-проекта с несколькими интеграциями и мультисайтовой структурой.