Тиражное решение — это модуль, который устанавливается на любой сайт 1С-Битрикс и распространяется через Marketplace. Разберём его устройство, партнёрские требования и полный цикл: от разработки до обновлений.
Что такое тиражное решение
Тиражное решение — это программный продукт, упакованный в виде модуля 1С-Битрикс и предназначенный для установки на неограниченное число проектов. В отличие от точечной доработки конкретного сайта, тиражный модуль не знает заранее ни структуры инфоблоков клиента, ни его шаблона, ни редакции продукта, поэтому должен быть максимально автономным и предсказуемым.
Технически модуль — это каталог с уникальным именем вида partner_code.module_name (например vendor.mymodule), который располагается в /bitrix/modules/ при установке из Marketplace или в /local/modules/ при локальной разработке. Префикс partner_code выдаётся вместе с партнёрским аккаунтом и гарантирует глобальную уникальность имени.
Отличие от кастомной доработки
Многие команды приходят к тиражированию, когда одна и та же доработка повторяется от проекта к проекту. Но простое копирование кода в модуль недостаточно: смена парадигмы затрагивает архитектуру, установку и обязательства перед покупателями.
| Критерий | Кастомная доработка | Тиражное решение |
|---|---|---|
| Окружение | Известно заранее | Любое, неизвестное |
| Установка | Ручная, разработчиком | Автоматическая, через мастер |
| Совместимость | Одна редакция и версия | Диапазон редакций и версий ядра |
| Обновления | Правки на месте | Система обновлений и версионирование |
| Поддержка | Один заказчик | Все покупатели решения |
Отсюда простое правило: тиражировать имеет смысл то, что действительно универсально и востребовано за пределами одного клиента — интеграции, инструменты каталога, сервисные утилиты, а не узкоспецифичную бизнес-логику конкретного магазина.
Партнёрский аккаунт и префикс
Разработка для Marketplace начинается не с кода, а с партнёрского аккаунта. Он открывает доступ к личному кабинету на partners.1c-bitrix.ru, где решения загружаются, проходят технический аудит и модерацию, а затем публикуются в каталоге.
- Регистрация партнёра — вы получаете
partner_code(символьный префикс вендора), который используется во всех именах модулей. - Карточка решения — описание, категория, скриншоты, тарифы и редакции, для которых предназначен продукт.
- Загрузка дистрибутива — упакованный архив модуля отправляется на проверку.
partner_code постфактум нельзя — это ломает установленные копии и систему обновлений.Из чего состоит проект решения
Модуль имеет строго заданную структуру каталогов. Ядро логики установки сосредоточено в подкаталоге install/, а исполняемый код и вспомогательные ресурсы распределены по типовым директориям.
install/index.php— класс установщика, наследующийCModule, с методамиDoInstall(),DoUninstall(),InstallDB(),UnInstallDB(),InstallEvents(),InstallFiles().install/version.php— версия и дата:$arModuleVersion = array("VERSION"=>"1.0.0", "VERSION_DATE"=>"2026-01-01 12:00:00");..description.php— название и описание модуля для административного интерфейса.install/db/,install/components/,install/admin/,install/wizards/,install/gadgets/— ресурсы, которые разворачиваются при установке.lang/— языковые файлы (как минимумruиen).
При установке модуль регистрируется в системе через RegisterModule() (запись в таблице b_module), а при удалении снимается через UnRegisterModule(). Все файлы, скопированные в структуру сайта, должны корректно удаляться, не оставляя мусора.
Минимальный жизненный цикл
Путь любого решения от идеи до магазина укладывается в короткую последовательность этапов. Держать эту карту перед глазами полезно, чтобы не упустить обязательные шаги.
- Разработка — сборка модуля в
/local/modules/vendor.mymodule/, отладка установки и удаления на чистом стенде. - Упаковка — формирование дистрибутива (архива) со всей структурой
install/и обновлениеversion.php. - Модерация — загрузка в партнёрский кабинет, технический аудит на соответствие «Стандарту разработки».
- Публикация — карточка появляется в каталоге Marketplace и становится доступна для установки.
- Обновления — выпуск новых версий через систему обновлений (
updates.bitrix.info) с обработкой миграций вupdates.php.
Каждая итерация после публикации — это снова прохождение упаковки и модерации, поэтому дисциплина версионирования и обратная совместимость становятся частью повседневной работы.
Что тиражировать и типовые ошибки старта
Выбор предмета тиражирования во многом определяет успех. Хороший кандидат — функциональность с чёткой границей, минимальными зависимостями от окружения и понятной ценностью для широкого круга проектов.
- Жёсткая привязка к проекту. Захардкоженные ID инфоблоков, свойств или путей делают модуль неустановимым у других.
- Изменение ядра. Любые правки файлов в
/bitrix/modules/main/и других системных модулях недопустимы и приводят к отказу модерации. - Отсутствие деинсталляции. Модуль обязан полностью удаляться: таблицы, события, файлы, права.
- Игнор локализации. Тексты без языковых файлов и хардкод на русском не пройдут проверку.
- Пренебрежение демо-режимом. Платные решения должны корректно работать в демонстрационном ограниченном режиме до активации лицензии.
Итог
Тиражное решение — это самостоятельный продукт: модуль со строгой структурой install/, уникальным префиксом partner_code.module_name, корректной установкой и удалением, локализацией и системой обновлений. Старт складывается из партнёрского аккаунта, выбора действительно универсальной функциональности и дисциплины версионирования по циклу разработка → упаковка → модерация → публикация → обновления.
Если вы планируете вынести повторяющуюся доработку в тираж или спроектировать модуль с нуля, мы помогаем на всех этапах: от архитектуры и упаковки до интеграций и последующей поддержки. Обсудим вашу задачу и подскажем оптимальный путь к публикации в Marketplace.
Частые вопросы
Чем модуль отличается от компонента?
Компонент — это единица вывода данных на страницу, а модуль — контейнер бизнес-логики, настроек, таблиц и событий. Тиражное решение обычно поставляется как модуль, который внутри себя может содержать один или несколько компонентов, разворачиваемых при установке.
Обязательно ли быть партнёром Битрикс, чтобы публиковать решения?
Да. Загрузка решений, прохождение аудита и публикация выполняются через партнёрский кабинет на partners.1c-bitrix.ru. Вместе с аккаунтом вы получаете уникальный префикс partner_code для имён модулей.
Где разрабатывать модуль — в bitrix или local?
Во время разработки модуль размещают в /local/modules/, чтобы не смешивать его с системными модулями в /bitrix/modules/. При установке из готового дистрибутива Marketplace модуль по умолчанию распаковывается в /bitrix/modules/.
Можно ли изменить префикс partner_code позже?
Нет. Префикс становится частью имени модуля и записей в системе обновлений. Его смена сломает уже установленные копии и обновления, поэтому имя выбирают один раз и не меняют.
Что делает метод DoInstall?
DoInstall — точка входа установки: он вызывает InstallDB, InstallEvents, InstallFiles, регистрирует модуль через RegisterModule и отображает шаги мастера установки. Симметричный ему DoUninstall выполняет полное удаление.
Как понять, стоит ли что-то тиражировать?
Хороший кандидат — функциональность с чёткими границами, минимальной зависимостью от конкретного проекта и спросом за пределами одного клиента: интеграции, инструменты каталога, сервисные утилиты. Узкую бизнес-логику одного магазина тиражировать нецелесообразно.
Нужно ли поддерживать несколько редакций сразу?
Это зависит от функциональности. Решение указывает в карточке совместимые редакции, и код должен корректно работать во всём заявленном диапазоне, не опираясь на возможности, недоступные в младших редакциях.
Поможем с настройкой и поддержкой Для разработчиков
Поможем с настройкой, доработкой и поддержкой Для разработчиков.