Обновление версии ядра 1С-Битрикс

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

Обновление версии ядра 1С-Битрикс

Обновление ядра Битрикса ломает сайты чаще, чем признают. Не потому что ядро плохое, а потому что большинство кастомного кода написано с нарушением принципа «не трогай ядро»: правки в bitrix/modules/, вызовы устаревших функций напрямую, зависимость от внутренней структуры компонентов. Обновление обнаруживает этот долг.

Что именно обновляется

Ядро Битрикс — это каталог /bitrix/ на сервере. При обновлении через встроенный механизм (/bitrix/admin/update_system_partner.php) система:

  1. Загружает пакет обновлений с серверов Битрикса
  2. Распаковывает в /bitrix/updates/
  3. Выполняет PHP-скрипты обновлений, которые вносят изменения в базу данных и файловую систему
  4. Заменяет файлы ядра и модулей

Ваш код в local/ не трогается. Ваши шаблоны в local/templates/ — не трогаются. Файлы в /bitrix/ — заменяются.

Что ломается после обновления

Прямые правки файлов ядра. bitrix/modules/catalog/install/components/bitrix/catalog.element/templates/.default/template.php — отредактированный вручную. После обновления — перезаписан оригиналом. Всё что лежит внутри /bitrix/ и было изменено — потеряно.

Устаревшие функции. Каждые несколько версий Битрикс объявляет функции deprecated и в конечном счёте удаляет их. Вызов CIBlockElement::GetList() с неправильными параметрами в версии 22.x может вести себя иначе, чем в 18.x. Вызов удалённого метода — Fatal Error.

Изменения в API модулей. Модуль sale серьёзно переработан в версиях 17.x и далее: старый API (CSaleOrder::Add) сосуществует с новым (Bitrix\Sale\Order), но поведение при edge-кейсах может различаться.

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

Правильный порядок обновления

Шаг 1: Staging. Копия production-сайта на тестовом сервере. Обновление делается только здесь. Без staging обновлять продакшн — игра в русскую рулетку.

# Минимальный чеклист staging-окружения:
- Полная копия файлов сайта
- Дамп базы данных
- Идентичная версия PHP
- Отключены внешние интеграции (не слать письма клиентам, не синхронизировать с 1С)

Шаг 2: Аудит кастомного кода. Перед обновлением проверяем:

  • Есть ли правки внутри /bitrix/ (через git diff если репозиторий есть, или через find /bitrix -newer /bitrix/bitrix_version.php -type f)
  • Вызываются ли deprecated-функции (grep по кодовой базе на local/)
  • Совместимы ли модули Маркетплейс с целевой версией — проверяем на странице модуля в магазине

Шаг 3: Обновление на staging. Запускаем обновление через панель управления или через консольный инструмент /bitrix/bin/console update. На большом сайте консольное обновление предпочтительнее — нет ограничения по времени выполнения PHP.

Шаг 4: Тестирование. Проходим по критическим сценариям: главная страница, каталог, карточка товара, корзина, оформление заказа, личный кабинет, административный интерфейс. Проверяем PHP error log на наличие новых ошибок.

Шаг 5: Обновление production. После успешного тестирования на staging. В maintenance mode (503 страница) на время обновления. После — снова проверка error log.

Особенности обновления через несколько мажорных версий

Если отставание 2+ лет — нельзя обновиться сразу до последней версии. Путь: 18.x → 20.x → 22.x → актуальная. Каждый промежуточный шаг — отдельное тестирование. Пропустить промежуточные версии нельзя: скрипты обновления базы данных выполняются последовательно.

Сроки

Ситуация Срок
Регулярное обновление (отставание до 3 месяцев) 1-2 дня
Обновление после 6-12 месяцев простоя 3-5 дней
Обновление с отставанием 1.5-2 года 1-2 недели
Обновление с отставанием 3+ лет + кастомный код 2-4 недели

Основная переменная — объём кастомного кода, который нужно адаптировать. Сайт на стандартных компонентах с кодом в local/ обновляется легче, чем сайт с правками в ядре и кастомными модулями пятилетней давности.