Миграция сайта со Shop-Script (Webasyst) на 1С-Битрикс
Shop-Script — eCommerce-компонент платформы Webasyst — имеет хорошо структурированную базу данных и API. Переход на 1С-Битрикс обычно обусловлен масштабированием бизнеса: нужна интеграция с 1С, расширенная логистика или функционал, выходящий за рамки возможностей Shop-Script.
Структура данных Webasyst/Shop-Script
Webasyst использует таблицы с префиксом shop_ (в MySQL-базе). Основные:
-
shop_product— товары:id,name,url,summary(анонс),description,price,status -
shop_product_skus— торговые предложения (SKU): вариации с ценой и остатками -
shop_product_features— характеристики товаров (аналог свойств инфоблока) -
shop_product_features_values— значения характеристик -
shop_category— категории -
shop_order— заказы -
shop_order_items— состав заказов -
shop_customer— покупатели (связана с таблицейcontactфреймворка Webasyst) -
shop_product_images— изображения
Webasyst также имеет REST API (появился в версии 2.x), через которое можно получить данные без прямого доступа к базе.
Получение данных через API Shop-Script
// Пример запроса к API Webasyst
$url = 'https://yourstore.ru/api.php';
$response = file_get_contents($url . '?method=shop.product.getList&access_token=' . $token);
$products = json_decode($response, true)['response'];
API возвращает товары с полным набором данных, включая SKU и характеристики. Это предпочтительный метод, если нет прямого доступа к БД.
Характеристики товаров
Shop-Script поддерживает типизированные характеристики: строка, число, цвет, выбор из списка, дата. Структура маппится на свойства инфоблока Битрикс:
| Shop-Script тип | Битрикс тип свойства |
|---|---|
varchar |
S (строка) |
double |
N (число) |
color |
S (строка, формат #rrggbb) |
select |
L (список) |
date |
D (дата) |
boolean |
L (список Да/Нет) |
Характеристики с типом «цвет» в Shop-Script имеют специальный рендеринг — в Битрикс аналог реализуется через визуальное редактирование свойства типа L с HTML-кодом цвета.
SKU и вариации
Shop-Script хранит торговые предложения в shop_product_skus с полями: id, product_id, name, price, count, sku (артикул). Привязка к характеристикам-вариаторам — через shop_product_skus_features.
В Битрикс это торговые предложения модуля каталог. Каждый SKU из Shop-Script → отдельное торговое предложение с соответствующими свойствами.
Клиентская база и заказы
Покупатели в Webasyst хранятся в двух таблицах: contact (общая, для всего фреймворка) и shop_customer (расширенная для Shop-Script). В contact есть: name, email, поля адреса.
SELECT
c.id,
c.name,
ce_email.value AS email,
ce_phone.value AS phone
FROM contact c
LEFT JOIN contact_data ce_email ON c.id = ce_email.contact_id AND ce_email.field = 'email'
LEFT JOIN contact_data ce_phone ON c.id = ce_phone.contact_id AND ce_phone.field = 'phone'
WHERE c.id IN (SELECT contact_id FROM shop_customer);
Покупатели создаются в Битрикс через CUser::Add(). Пароли не переносятся — только email и профильные данные. При первом входе предлагается сброс пароля.
Интеграция с Webasyst-приложениями
Если сайт использует другие приложения Webasyst (Blog, Photos, Helpdesk) — их данные мигрируют отдельно: блог → инфоблок, фотогалереи → фотогалерея Битрикс или инфоблок с изображениями.
Типичные сроки
| Каталог | Срок |
|---|---|
| до 1 000 товаров, простая структура | 2–4 недели |
| 1 000–10 000 товаров, характеристики, SKU | 4–8 недель |
| 10 000+ товаров, заказы, интеграции | 2–4 месяца |
Шаблон сайта разрабатывается на Битрикс с нуля — темы Webasyst несовместимы.







