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

Moscow Website разрабатывает и дорабатывает модули, компоненты и служебные инструменты для действующих проектов на 1С-Битрикс. Работа начинается с изучения задачи и существующего кода, а результат фиксируется в требованиях, сценариях приёмки и правилах дальнейшей поддержки.

Бизнес-логика

Функция решает конкретную задачу

Описываем пользователей, данные, правила, исключения и ожидаемый результат до начала реализации.

Совместимость

Ядро не переписывается

Расширение размещается в предусмотренной области проекта и взаимодействует с платформой через доступные API и события.

Эксплуатация

Ошибки можно обнаружить

Предусматриваем журналирование, контроль фоновых операций, понятные состояния и передачу проекта на поддержку.

Когда нужен индивидуальный модуль

  • бизнес-процесс нельзя собрать стандартными настройками без ручных обходных действий;
  • готовое решение из Marketplace не поддерживает нужные данные или правила;
  • требуется единая функция для нескольких разделов или сайтов;
  • необходимо связать каталог, заказы, пользователей или документы с внешней системой;
  • существующая доработка внесена в ядро и мешает безопасным обновлениям;
  • фоновые операции требуют очереди, контроля состояния и повторного запуска;
  • администраторам нужен отдельный интерфейс вместо ручной работы с данными;
  • функцию предстоит развивать и сопровождать в течение нескольких этапов.

Собственный модуль — не цель сам по себе. Если задачу надёжно решает настройка, стандартный компонент или поддерживаемое готовое решение, индивидуальная разработка может быть неоправданной. Мы сравниваем варианты по соответствию требованиям, рискам обновления и стоимости владения.

Модуль, компонент или доработка проекта

Модуль

Самостоятельная подсистема

Установка, настройки, таблицы или сущности, события, права и функции, которые могут использовать разные части проекта.

Компонент

Интерфейс и сценарий страницы

Получает и выводит данные, обрабатывает действия пользователя и может иметь несколько шаблонов представления.

Локальная доработка

Изменение конкретного участка

Подходит, когда функция относится к одному проекту и не требует отдельного жизненного цикла установки.

Формат выбирается после анализа связей и будущего развития. Называть каждую функцию модулем неправильно: лишняя архитектурная сложность также увеличивает стоимость поддержки.

Аудит существующего проекта

Чужой проект нельзя безопасно дорабатывать только по описанию результата. Проверяем редакцию и версию платформы, используемые модули, структуру данных, интеграции, фоновые задания, права, журналы ошибок и способ развёртывания изменений.

  • где хранится текущая бизнес-логика и какие части от неё зависят;
  • есть ли изменения системных файлов и как они переживают обновление;
  • какие сущности, инфоблоки, пользовательские поля и таблицы используются;
  • как выполняются агенты, cron-задачи, импорт и другие фоновые операции;
  • какие внешние системы отправляют и получают данные;
  • какие роли пользователей работают с функцией;
  • существует ли тестовая среда и актуальная резервная копия.

По итогам фиксируем ограничения, зависимости и рекомендуемый формат реализации. Если задача локальна, она может перейти в направление доработки сайта без создания отдельного модуля.

Требования и границы разработки

До кода описываем не только основной успешный сценарий, но и ограничения. Кто запускает операцию, какие данные обязательны, что происходит при дубле, отмене, недостатке прав или недоступности внешнего сервиса — эти решения влияют на архитектуру сильнее названия кнопок.

Состав требований

Что должно быть согласовано

  • пользователи, роли и разрешённые действия;
  • источники, состав и формат данных;
  • основные и исключительные сценарии;
  • правила создания, изменения и удаления записей;
  • уведомления, журналирование и обработка ошибок;
  • нагрузка, периодичность и ограничения времени выполнения;
  • критерии приёмки и набор контрольных примеров;
  • границы первой версии и идеи следующих этапов.

Архитектура и API 1С-Битрикс

Платформа продолжает поддерживать старое ядро и D7, поэтому реальный проект может содержать оба подхода. Новая разработка по возможности использует актуальные классы и пространства имён, но способ интеграции определяется возможностями установленной версии и существующими зависимостями.

  • код расширения отделяется от системных файлов платформы;
  • взаимодействие с другими частями проекта выполняется через документированные API и события;
  • настройки не смешиваются с секретами и средозависимыми значениями;
  • структура данных изменяется контролируемыми установочными или миграционными шагами;
  • обновление модуля не должно незаметно удалять пользовательские данные;
  • зависимости от других модулей проверяются до выполнения операции.

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

Решения для интернет-магазинов

В e-commerce модуль может работать с каталогом, ценами, остатками, корзиной, заказами, скидками, доставкой или административной обработкой. Такая функция проверяется не только на нескольких тестовых товарах, но и на реальном объёме данных и конкурентных операциях.

  • массовое управление товарами и связанными сущностями;
  • нестандартные правила цены, доступности или комплектации;
  • дополнительные этапы обработки заказа;
  • обмен со складскими, логистическими и клиентскими системами;
  • B2B-функции, роли, договорные цены и ограничения доступа;
  • служебные отчёты, очереди и контроль ошибок.

Когда основная задача — обмен каталогом, остатками, ценами и заказами, используйте отдельную страницу интеграции сайта с 1С и CRM.

Производительность и фоновые операции

Функция, которая правильно работает на десяти записях, может остановить большой каталог. До реализации оцениваем объём данных, частоту запуска, допустимое время и влияние на посетителей. Массовые операции разделяются на контролируемые шаги и не должны зависеть от одного долгого открытия страницы в браузере.

  • выборка только необходимых полей и записей;
  • постраничная или пакетная обработка больших объёмов;
  • контроль повторного запуска и защита от дублей;
  • ограничение параллельного выполнения;
  • журнал прогресса и понятное состояние ошибки;
  • измерения на данных, близких к боевым;
  • кеширование только там, где определены правила обновления.

Для уже медленного e-commerce-проекта доступна отдельная услуга диагностики и ускорения интернет-магазина.

Безопасность и права доступа

Административный интерфейс, API и фоновые обработчики проверяют авторизацию и полномочия пользователя. Входные данные валидируются, действия с важными сущностями журналируются, а токены и пароли не выводятся в интерфейс и журналы.

  • минимально необходимые права для каждой роли;
  • защита форм и запросов от подделки и повторной отправки;
  • экранирование данных при выводе;
  • ограничение доступных методов внешнего API;
  • безопасное хранение настроек подключения;
  • обработка ошибок без раскрытия внутренней информации;
  • план обновления зависимостей и устранения обнаруженных проблем.

Тестирование и внедрение

Разработка и первичная проверка выполняются вне боевого сайта. На тестовой среде проверяем установку, обновление, права, основные сценарии, ошибки, объём данных и совместимость с зависимыми частями проекта.

01

Обследование

Проект, бизнес-процесс, код, данные, интеграции, ограничения и возможные варианты решения.

02

Требования

Сценарии, роли, данные, ошибки, производительность, границы и критерии приёмки.

03

Архитектура

Формат расширения, зависимости, сущности, события, интерфейсы и план внедрения.

04

Разработка

Код, настройки, административные формы, фоновые операции, журналы и миграции данных.

05

Проверка

Контрольные сценарии, права, ошибки, объёмы, обновление и исправление найденных проблем.

06

Внедрение

Резервная копия, развёртывание, контроль на боевом проекте и передача в поддержку.

Результат разработки

  • реализованный модуль, компонент или локальное расширение в согласованных границах;
  • установочные и обновляющие шаги для структуры данных;
  • настройки, права и административные интерфейсы;
  • журналирование критичных операций и ошибок;
  • набор проверенных сценариев приёмки;
  • описание зависимостей, настроек и порядка развёртывания;
  • перечень известных ограничений и идей следующих этапов;
  • согласованный формат гарантийных исправлений и дальнейшей поддержки.

Сроки и стоимость

Оценка зависит от состояния проекта, объёма данных, числа сценариев, интеграций, прав, требований к производительности и способа внедрения. Короткое описание «нужен модуль» не позволяет ответственно определить бюджет.

Для сложной задачи сначала оценивается обследование и проектирование. После него реализация может быть разделена на первую рабочую версию и последующие релизы. Общие принципы описаны на странице «Цены и форматы работы».

Частые вопросы

Можно доработать существующий модуль?

Да, если доступны код, лицензия на использование и безопасный способ расширения. Сначала проверяем архитектуру, зависимости и влияние будущих обновлений.

Вы изменяете системные файлы Битрикс?

Новая функция не должна требовать прямой правки ядра. Если в существующем проекте такие изменения уже есть, сначала определяем их назначение и план переноса в поддерживаемую область.

Обязательно использовать только D7?

Платформа поддерживает новое и старое ядро, а действующие проекты часто содержат оба подхода. Для нового кода предпочитаются актуальные API, но решение должно учитывать установленную версию и существующие зависимости.

Можно разработать модуль для обмена с 1С?

Да, после обследования систем и бизнес-правил. Нужно определить состав и направление данных, идентификаторы, периодичность, обработку конфликтов и повторный запуск после ошибки.

Что нужно для предварительной оценки?

Ссылка на проект, версия и редакция 1С-Битрикс, описание пользователей и результата, примеры данных, список внешних систем и известные ограничения текущего решения.

Первый этап

Разобрать задачу на 1С-Битрикс

Опишите, какую операцию нужно автоматизировать, кто ей пользуется, с какими данными она работает и что сейчас мешает решить задачу стандартными средствами.