Сергей Сорокин · Обновления и собственные изменения
Как обновить 1С-Битрикс с доработками и проверить сайт
Опубликовано
До обновления магазина выясните, как разработчик менял корзину, карточку товара и оформление заказа. Правка стандартного файла, собственный шаблон и отдельный модуль требуют разной подготовки. Составьте список доработок. По нему вы проверите, как магазин после обновления рассчитывает цену и доставку и сохраняет заказ.
Разделите обновление платформы, решения и модулей
На сайте с Битриксом могут одновременно работать сама платформа, готовое решение и сторонние модули. Платформа содержит общие механизмы сайта, включая каталог, заказы и пользователей в пределах вашей редакции. Готовое решение добавляет оформление, настройки и свои функции. Отдельный модуль может отвечать за доставку, оплату или обмен с другой системой.
В административной части Битрикса откройте «Marketplace» → «Обновление платформы». Обновления сторонних решений находятся в «Marketplace» → «Обновление решений». Попросите исполнителя записать установленные версии нужных модулей и список выбранных обновлений. Сообщение об обновлении платформы не подтверждает обновление готового решения.
Для обновления Аспро используйте документацию именно вашего продукта и его версии. Изменения его шаблона, компонентов и настроек нужно учитывать вместе с обновлением платформы. Согласуйте, какие части сайта исполнитель обновляет и какие доработки проверяет.
Выясните, где находятся доработки
Попросите разработчика сопоставить каждую важную доработку с ее кодом. Например, у правила минимального заказа должны быть известны место проверки суммы и сообщение покупателю. Перечня пожеланий в старом задании недостаточно, если за это время сайт меняли несколько исполнителей.
Особенно внимательно проверьте правки ядра, то есть стандартных файлов Битрикса и системных компонентов. Система обновлений изменяет эти файлы. Производитель предупреждает о непредсказуемом результате, если в них или в структуру базы данных вручную внесены изменения. До установки обновления разработчик должен выяснить, какие правки затрагиваются и как сохранить нужное поведение.
Собственный шаблон компонента или отдельный модуль тоже нужно проверить. Сохраненная копия старого шаблона не получает исправления нового стандартного шаблона автоматически. Для своего кода Битрикс рекомендует папку local в корне сайта; сохранение файлов в ней не подтверждает совместимость доработки с обновленной платформой или решением.
Например, в «Аспро: Премьер» предусмотрены отдельные файлы для собственных стилей и функций. При обновлении доработанного решения разработчик также сверяет измененные шаблоны с новой версией. Для другого решения он проверяет предусмотренные его производителем способы доработки и обновления.
Обработчик события выполняет дополнительный код при действии системы, например при создании заказа. Перечисленные ниже проверки кода поручите разработчику.
- Разработчик сравнивает исходный стандартный файл, вашу доработку и новую версию поставщика. Он определяет, какие изменения перенести и где разместить код.
- Разработчик проверяет, какие изменения новой версии нужны вашим копиям шаблонов и компонентов. Полная замена новым стандартным файлом может убрать собственную доработку.
- Разработчик сверяет требования отдельных модулей и обработчиков событий к обновляемым частям сайта.
Согласуйте версии и порядок установки
До работ проверьте доступ к нужным обновлениям по лицензии Битрикса и условиям поставщиков решений. У стороннего модуля могут быть свои сроки доступа к обновлениям.
Попросите разработчика проверить требования выбранных версий к PHP, базе данных и другим модулям. Если сначала требуется сменить PHP или обновить зависимый модуль, включите это в последовательность работ. Для старого сайта могут потребоваться промежуточные версии. Порядок должен учитывать установленные и целевые версии всех затронутых частей.
Отдельно согласуйте использование бета-версий, то есть предварительных выпусков обновлений. Не включайте их ради того, чтобы убрать все сообщения о доступных обновлениях. Для рабочего магазина исполнитель должен обосновать выбор такого выпуска и проверить его на тестовой установке.
В системе обновлений платформы исполнитель может включить «Экспертный режим». Он позволяет выбрать целевые версии модулей, проверить зависимости и экспортировать список версий. Попросите исполнителя сохранить проверенный на копии список и использовать его при обновлении рабочей установки. Обновления сторонних решений учитывайте отдельно.
Отработайте обновление на тестовой установке
Подготовьте резервную копию файлов и базы данных и проверьте восстановление. На отдельной тестовой установке должны быть актуальные доработки и настройки, которые вы собираетесь обновлять. Исполнитель оформляет ее как установку для разработки предусмотренным Битриксом способом и проверяет условия доступа к обновлениям.
Окружение копии должно воспроизводить целевые версии PHP, базы данных и значимые настройки рабочего сайта. Попросите администратора сравнить их до испытания обновлений. Различия окружений могут повлиять на результат переноса.
Закройте копию от посетителей и поисковых систем. До запуска отключите рабочие письма, платежи и обмены с учетной системой 1С или системой работы с клиентами (CRM), включая задания по расписанию. Подключите предусмотренные сервисами тестовые режимы и согласованные адреса. Копия магазина не должна отправить покупателю повторное уведомление или изменить рабочие остатки.
Сначала выполните на копии проверки доработанных функций и сохраните результаты. Затем установите выбранные обновления в согласованной последовательности, перенесите нужные исправления и повторите проверки. Запишите итоговые версии и действия исполнителя. Если установка завершилась ошибкой, разберите ее до переноса работ на основной сайт.
Сравните работу доработок до и после обновления
Проверяйте результат на тех же тестовых товарах, пользователях и настройках. Для каждой доработки запишите действие, ожидаемый результат и то, что получилось после обновления. Ниже приведены примеры проверок; выберите те, которые соответствуют функциям вашего магазина.
- Если меняли количество или упаковку товара, выберите нужный вариант и добавьте его в корзину. Сверьте допустимое количество, единицу цены и сумму в заказе.
- Если дорабатывали скидку или минимальную сумму заказа, проверьте подходящую корзину и случай, в котором условие не выполняется. Сверьте итог и сообщение покупателю.
- Если добавляли поля в оформление заказа, заполните их тестовыми данными. Проверьте сохранение в заказе и передачу в подключенную систему, если она предусмотрена.
- Если меняли расчет доставки, оформите заказ с соответствующим способом и сверьте рассчитанную стоимость.
- Если меняли оплату, выполните платеж в тестовом режиме и попросите исполнителя проверить обработку ответного уведомления сервиса.
- Если меняли карточку товара или личный кабинет, проверьте добавленные вкладки, документы и действия на компьютере и телефоне. Затем пройдите покупку от карточки до записи заказа.
Согласуйте возврат до обновления рабочего сайта
Выберите условия, при которых исполнитель прекращает работы и возвращает прежнее состояние. Например, магазин не сохраняет заказ, неверно считает итог или не передает обязательные данные. Исполнитель должен заранее подтвердить, какие файлы, базу и настройки нужно восстановить вместе.
Если установка оборвалась с ошибкой, сохраните сообщение и сведения о выполненном этапе. Попросите исполнителя проверить журнал обновлений и определить состояние системы. Возврат старых файлов поверх уже измененной базы может дать несовместимый комплект. Дальнейшее исправление или восстановление согласуйте по результату проверки.
Порядок возврата должен учитывать записи, созданные после резервного копирования. Если сайт продолжал принимать заказы, заранее предусмотрите их сохранение и сверку. Полное восстановление старой базы заменит новые данные. Вопрос о паузе в работе магазина решите до обновления, а не после появления ошибки.
Перенесите проверенные изменения на рабочий сайт
Назначьте время работ, ответственного за обновление и того, кто принимает результат. Согласуйте паузу в приеме заказов и обменах, если она нужна. Перед началом сохраните свежую резервную копию. Если рабочий код изменился после подготовки тестовой установки, включите эти изменения в проверку до переноса.
На рабочей установке исполнитель повторяет отработанную последовательность обновлений и переносит согласованные доработки. Обновление может затрагивать и файлы, и структуру базы данных. Копирование одной папки с обновленным кодом не заменяет предусмотренную процедуру обновления.
Не подменяйте рабочую базу данных базой тестовой копии: за время проверки в магазине могли появиться новые заказы, пользователи и изменения каталога. Отдельно согласуйте перенос настроек и изменений структуры данных, которые действительно нужны новой версии.
После установки повторите проверки магазина в рабочей среде с согласованными безопасными данными. Проверьте, что рабочие отправители писем, платежи и обмены настроены правильно. Завершение установки в административной части еще не подтверждает сохранение доработанных функций.
Документация к обновлению Битрикса
- 1С-Битрикс: система обновлений и изменения ядра ↗
- 1С-Битрикс: обновление стороннего решения ↗
- Bitrix Framework: размещение и проверка собственных доработок ↗
- 1С-Битрикс: установка для разработки ↗
- 1С-Битрикс: выбор и перенос списка версий в экспертном режиме ↗
- Аспро: Премьер: рекомендации по доработке решения ↗
- Аспро: файлы для собственных стилей ↗
- Аспро: Премьер: события и пользовательские функции ↗
- 1С-Битрикс: активность лицензии и доступ к обновлениям ↗
