Перенос интернет-магазина с самописной CMS и настроенной интеграцией с 1С УТ на 1С-Битрикс

Компания PROFFINSTAL - более 10 лет профессионально занимается поставками материалов и оборудования для систем отопления, водоснабжения, кондиционирования, вентиляции, очистки воды и создания домашнего комфорта

Задача:

Перенести существующий интернет-магазин на самописной системе управления, интегрированной с 1С УТ на CMS 1С-Битрикс.

При переносе необходимо: сохранить все url сайта, перенести все разделы, товары, статьи, новости, статичные страница.

Задачу разделили на 5 этапов:

  1. Развернуть 1С-Битрикс и перенести все данные со старого сайта: разделы каталога, товары, новости, статьи, статичные страницы, покупателей;
  2. Настроить интеграцию с 1С УТ: обмен номенклатурой, заказами (у заказчика на момент перехода на Битрикс был уже реализован обмен с его текущим сайтом, методом обмена XML файлами между 1С и сайтом);
  3. Установка и настройка готового решения (заказчик остановил свой выбор на решении dw-deluxe.ru);
  4. Настройка формы вызова мастера (http://proffinstal.ru/orderForMaster/) и программирование компонента оформления заказа;
  5. Дополнительные доработки сайта под требования заказчика.

Этап 1. Развернуть битрикс и перенести все данные со старого сайта.

За время работы сайта контент менеджерами было добавлено большое количество информации о товарах: картинки, характеристики, описания и т.д., эти данные не хранились в 1С и задача была перенести их вместе с url адресами, meta-информацией.

Заказчик нам передал дамп базы данных от старого сайта. Так как система управления была самописная, пришло писать скрипт экспорта-импорта из БД в Битрикс.

Нет проектов без подводных камней, так и в этом: мы наткнулись на выгрузку картинок из 1С на сервер без расширений.

1С отправляла все картинки к товарам по FTP в папку с сайтом, название картинки соответствовало идентификатору товара на сайте. Проблема заключалась в том, что все картинки выгружались без расширений и после тестов выяснилось, что расширения у картинок могут быть разные: JPG, PNG. Мы написали скрипт, который сначала определяет корректное расширение картинки и только потом добавляет ее к товару.

Этап 2. Настройка интеграции с 1С Управление Торговлей. Обмен заказами и товарами.

Интеграция с 1С у заключалась в передаче файла XML с товарами из 1С на сервер с данными: остатки, цены.

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

Пример выгрузки заказа на внешний веб-сервис

Этап 3. Установка и настройка готового решения.

Заказчик остановил свой выбор на готовом решении dw-deluxe.ru

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

Этап 4. Настройка формы "вызов мастера" и программирование компонента оформления заказа.

На сайте присутствовала форма "вызов мастера" (http://proffinstal.ru/orderForMaster/), мы ее переверстали под новый шаблон сайта и настроили хранение заявок в Битриксе и отправку заявок на почту менеджерам.

Вторая доработка заключалась в переносе формы оформления заказа. Стандартная форма оформления заказа Битрикс (sale.order.ajax) не подошла клиенту, поэтому было принято решение разработки собственного компонента оформления заказа с использованием верстки формы со старого сайта.

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

Этап 5. Доработки под требования заказчика.

Третья доработка заключалась в том, что для каждой категории было добавлено новое свойство “Не отображать в каталоге и карте сайта”.

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

(список разделов в панели управления сайтом)
(список разделов на сайте)

Последняя доработка касается работы умного фильтра.

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

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

(в этом поле администраторы заполняют, какие свойства в категории отображать в умном фильтре)
(вывод свойств в фильтре может отличаться в зависимости от того, какие свойства заполнит администратор)

Итог

Заказчик получил свой магазин на платформе 1С-Битрикс на новом шаблоне с перенесенными товарами и интегрированной 1С.

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