Вход для клиентов

Золотой партнер Битрикс с 2012 года

тел. +7 (900) 125 23 33 email: welcome@x5studio.ru

ИНТЕРНЕТ-МАГАЗИН ЗООТОВАРОВ "ЗООПАССАЖ"

Image description

О проекте

Филиалы зоомагазина ZooПассаж работают в Москве и области, Новосибирске и области и во Владивостоке. В ближайшее время список городов, в которых расположены представительства будет расширяться. Интернет-магазин работает с любыми регионами и осуществляет доставку заказов по всей России!

Доработка сайта в рамках поддержки

Мы начали работу с технического аудита.
- Произвели полный рефакторинг кода, компонентов, модулей и шаблона сайта.
- Размер сайта был уменьшен с 20 гб до 7 гб без потери функционала.
- Переписали кастомизированые компоненты и обновили сайта до последней версии Битрикс.
- Переработали систему скидок и сделали функционал применения купонов. Сделали чтобы скидки и купоны выгружались в 1С.
- Доработали и настроили умный поиск по сайту.
- Доработали дизайн шапки и подвала, для повышения юзабилити и удобства работы посетителей.
- Настроили Экваринг от Сбербанка Осуществили переезд на HTTPS,так как использование сайтами протокола HTTPS уже учитывается в качестве одного из факторов ранжирования.
- Внедрили post-back запросы и интеграцию с ЦПА сетью, Яндекс маркетом и Google Merchant Center, Увеличение скорости работы сайта.


Доработка сайта в рамках поддержки

Мы начали работу с технического аудита.
- Произвели полный рефакторинг кода, компонентов, модулей и шаблона сайта.
- Размер сайта был уменьшен с 20 гб до 7 гб без потери функционала.
- Переписали кастомизированые компоненты и обновили сайта до последней версии (17.0) Битрикса.
- Переработали систему скидок и сделали функционал применения купонов. Сделали чтобы скидки и купоны выгружались в 1С.
- Доработали и настроили умный поиск по сайту.
- Доработали дизайн шапки и подвала, для повышения юзабилити и удобства работы посетителей.
- Настроили Экваринг от Сбербанка Осуществили переезд на HTTPS,так как использование сайтами протокола HTTPS уже учитывается в качестве одного из факторов ранжирования.
- Внедрили post-back запросы и интеграцию с ЦПА сетью, Яндекс маркетом и Google Merchant Center, Увеличение скорости работы сайта.

Синхронизация: 4 города,

4 интернет-магазина, 4 * 1С

Интернет-магазин "Зоопассаж" сделан на CMS Битрикс и состоит из 4-х интернет-магазинов на четырех поддоменах для каждого города. Т.е. на сайте есть несколько регионов продаж. Каждый регион продаж имеет свой поддомен и свою собственную базу 1С. Каждая 1С-ка выгружает свой собственный инфоблок товаров и торговых предложений и получает не все заказы, а оформленные в определенном регионе продаж (в зависимости от 1С-ки).

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

Мы успешно решили и эту проблему!

Синхронизация: 4 города,

4 интернет-магазина, 4 * 1С

Интернет-магазин "Зоопассаж" сделан на CMS Битрикс и состоит из 4-х интернет-магазинов на четырех поддоменах для каждого города. Т.е. на сайте есть несколько регионов продаж. Каждый регион продаж имеет свой поддомен и свою собственную базу 1С. Каждая 1С-ка выгружает свой собственный инфоблок товаров и торговых предложений и получает не все заказы, а оформленные в определенном регионе продаж (в зависимости от 1С-ки).

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

Мы успешно решили и эту проблему!

Проблема №1

Заказы из магазина летят в ту 1С-ку, которая подключилась первой, а должны лететь в 1С-ку своего города. В итоге в системах учета информация некорректна. Решение данной задачи лежит на поверхности:
У каждого сайта свой уникальный файл выгрузки, с уникальным названием. Внутри каждого файла подключается стандартный файл выгрузки из админки /bitrix/admin/1c_exchange.php

<?
define("IS_EXCHANGE", true);
require_once ($_SERVER ["DOCUMENT_ROOT"] ." / bitrix/modules/sale /admin /1c_exchange.php ");
?>

На сайте написан обработчик на событие OnBeforeProlog, при помощи которого определяется какие конфиги нужно отдать компоненту bitrix:catalog.import.1c .

$siteID = self::getSiteId();
Option::set ('sale', '1C_SALE_SITE_LIST', $siteID); // Сайт, заказы которого выгружать в "1С:Предприятие"
Option::set ('sale', '1C_SITE_NEW_ORDERS', $siteID); // Сайт, на который добавлять новые заказы и контрагенты
Option::set ('catalog', '1C_SITE_LIST', $siteID); // Привязывать вновь создаваемые инфоблоки к сайтам получается так, что настройки переключаются на каждый запрос 1С-ки, но зато без кастомизации ядра.

Проблема №2

Когда к сайту подключается несколько 1С, то они начинают конфликтовать, затирать информацию друг друга и мы сталкиваемся с проблемой - работа 1С-ок асинхронна, т.е 1С-ки могут обращаться друг к другу с разницей в секунду. А значит таблица b_xml_tree перетирается каждой выгрузкой и мы видим ошибку "SQL Query Error: INSERT INTO b_xml_tree (PARENT_ID, LEFT_MARGIN, RIGHT_MARGIN, DEPTH_LEVEL, NAME) VALUES (0, 50939, 0, 0, '')[[1146] Table '*****.b_xml_tree' doesn't exist"

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

Исправили конструкторы классов CIBlockCMLImport и CIBlockXMLFile, передали в недостающие места (к именам временных таблиц SITE_ID) и выгрузка пошла без ошибок

Проблема №2

Когда к сайту подключается несколько 1С, то они начинают конфликтовать, затирать информацию друг друга и мы сталкиваемся с проблемой - работа 1С-ок асинхронна, т.е 1С-ки могут обращаться друг к другу с разницей в секунду. А значит таблица b_xml_tree перетирается каждой выгрузкой и мы видим ошибку "SQL Query Error: INSERT INTO b_xml_tree (PARENT_ID, LEFT_MARGIN, RIGHT_MARGIN, DEPTH_LEVEL, NAME) VALUES (0, 50939, 0, 0, '')[[1146] Table '*****.b_xml_tree' doesn't exist"

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

Исправили конструкторы классов CIBlockCMLImport и CIBlockXMLFile, передали в недостающие места (к именам временных таблиц SITE_ID) и выгрузка пошла без ошибок


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

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