Разработка сайта ювелирного магазина на 1С-Битрикс

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

Разработка сайта ювелирного магазина на 1С-Битрикс

Ювелирный интернет-магазин отличается от типового e-commerce одной фундаментальной особенностью: значительная часть ассортимента — штучный товар. Два кольца с бриллиантом 0.5 карат могут отличаться по цвету, чистоте и огранке, а значит — по стоимости. Платформа 1С-Битрикс с модулем «Торговый каталог» (sale + catalog) позволяет выстроить учёт поштучно, но стандартная логика торговых предложений требует адаптации.

Каталог украшений — инфоблок и торговые предложения

Структура каталога строится на инфоблоке товаров с привязанным инфоблоком SKU (торговых предложений). Основной инфоблок содержит карточку модели, а SKU — конкретные экземпляры:

Свойства основного инфоблока (модель):

  • Тип изделия — список: кольца, серьги, подвески, браслеты, цепи, броши, колье.
  • Коллекция — привязка к элементам инфоблока коллекций.
  • Металл — список с множественным выбором: золото 585, золото 750, платина 950, серебро 925.
  • Вставка (камень) — список: бриллиант, изумруд, сапфир, рубин, без вставки.
  • Стиль — список: классика, современный, винтаж.
  • Описание модели, рекомендации по уходу — HTML-свойства.

Свойства SKU (конкретный экземпляр):

  • Артикул — уникальный идентификатор экземпляра. Строковое свойство, обязательное, с контролем уникальности.
  • Проба — число.
  • Вес изделия (г) — число с точностью до сотых.
  • Размер — число (для колец и браслетов).
  • Характеристики камня — группа свойств: караты, цвет (GIA-шкала), чистота, огранка.
  • Сертификат — файл (скан геммологического сертификата).
  • Фото экземпляра — множественное свойство «Файл».

Такая двухуровневая структура позволяет отображать карточку модели с перечнем доступных экземпляров. Пользователь выбирает не абстрактный «размер 17», а конкретное изделие с уникальным весом и характеристиками камня.

Расширенная фильтрация

Фильтрация ювелирного каталога сложнее, чем в типовом магазине, из-за комбинаторики параметров. Реализация через bitrix:catalog.smart.filter с фасетным индексом:

  • Металл — чекбоксы.
  • Камень — чекбоксы.
  • Тип изделия — чекбоксы.
  • Ценовой диапазон — ползунок (range slider).
  • Размер — ползунок или выпадающий список.
  • Вес — ползунок.

Фасетный индекс (b_catalog_smart_filter) пересчитывается при обновлении товаров из 1С. Для каталога с 5000+ SKU фасеты обязательны — без них фильтрация деградирует до нескольких секунд на запрос.

Визуализация: фото, zoom, 360°

Ювелирные изделия требуют качественной визуализации. На уровне Битрикс это означает:

  • Основное фото — свойство «Файл» в SKU. Загружается в высоком разрешении (минимум 2000×2000 px). Ресайз через CFile::ResizeImageGet для превью (400×400), каталога (800×800) и zoom (оригинал).
  • Zoom — на детальной странице подключается библиотека (drift или elevate-zoom) с загрузкой оригинала по наведению.
  • 360° поворот — серия из 24–36 кадров, снятых на поворотном столе. Хранятся как множественное свойство «Файл» в фиксированном порядке. На фронте — JS-плеер, перелистывающий кадры по drag/swipe.
  • Видео на модели — URL YouTube/Vimeo в строковом свойстве, встраивается через iframe с ленивой загрузкой.

Подбор размера кольца

Онлайн-инструмент для определения размера. Два варианта реализации:

  1. По имеющемуся кольцу — пользователь прикладывает кольцо к экрану, масштабирует круг на экране до совпадения. Требует калибровки по диагонали экрана (определяется через JS или вводится вручную).
  2. По обхвату пальца — инструкция + поле ввода длины нитки в мм, пересчёт в размер по таблице.

Таблица соответствия хранится в Highload-блоке или в конфиге компонента. Результат подбора сохраняется в сессии и подставляется в фильтр каталога.

Гравировка и кастомизация

Дополнительные услуги при оформлении заказа реализуются через механизм свойств корзины в модуле sale:

  • При добавлении товара в корзину отображается форма: текст гравировки (до 20 символов), шрифт (выбор из 3–5 вариантов), подарочная упаковка.
  • Значения сохраняются как свойства элемента корзины (CSaleBasket::Update с массивом PROPS).
  • На стороне менеджера — свойства видны в заказе и передаются в печатные формы.

Интеграция с 1С: поштучный учёт

Стандартный обмен через CommerceML подразумевает, что товар — это модель с вариантами (размер, цвет). В ювелирном бизнесе каждый экземпляр уникален. Это требует модификации обмена.

Deep-dive: каталог с поштучным учётом и уникальными артикулами

Проблема стандартного обмена

В типовом CommerceML-обмене торговое предложение идентифицируется комбинацией характеристик: «Кольцо, золото 585, размер 17» может быть в количестве 10 штук. В ювелирном учёте «Кольцо, золото 585, размер 17, вес 3.82 г, бриллиант 0.31 ct VS1 G» — это одно конкретное изделие с артикулом R-585-1742. Его нельзя объединять с другим кольцом того же размера, потому что вес, камень и стоимость различаются.

Архитектура решения

Каждый экземпляр выгружается из 1С как отдельное торговое предложение с уникальным XML_ID, совпадающим с артикулом. Остаток всегда 0 или 1. Схема:

Сущность в 1С Сущность в Битрикс Связь
Номенклатура (модель) Элемент инфоблока товаров XML_ID модели
Характеристика номенклатуры (экземпляр) SKU (торговое предложение) XML_ID экземпляра = артикул
Цена экземпляра Цена SKU (b_catalog_price) Привязка по SKU ID
Остаток (0/1) Складской учёт (b_catalog_store_product) Склад + SKU ID

Модификация обработчика обмена

Стандартный обработчик /bitrix/admin/1c_exchange.php обрабатывает импорт корректно, если в 1С правильно настроена выгрузка характеристик как отдельных предложений. Ключевые настройки:

  • В 1С: выгрузка характеристик номенклатуры включена, каждая характеристика = уникальный Ид.
  • В Битрикс: в настройках инфоблока каталога включена опция «Торговые предложения», тип — «Каждое предложение — отдельный элемент».
  • Свойства SKU (вес, характеристики камня) маппятся через настройки обмена в разделе «Соответствие свойств».

Если стандартного маппинга недостаточно, подключается обработчик события OnSuccessCatalogImport1C, который дообогащает SKU после импорта: парсит дополнительные поля из XML и записывает в свойства инфоблока.

Учёт проданных экземпляров

При оформлении заказа остаток SKU списывается до 0 штука. На сайте экземпляр пропадает из каталога (фильтр по наличию в компоненте). При следующем обмене с 1С остаток синхронизируется. Важный момент — резервирование: при добавлении в корзину экземпляр резервируется на 30 минут через механизм catalog_store_barcode или кастомный обработчик на событии OnSaleBasketItemAdd.

ГИИС ДМДК

С 2024 года ювелирные изделия подлежат обязательной маркировке в ГИИС ДМДК. Каждому изделию присваивается уникальный идентификационный знак (УИН). На сайте это реализуется как дополнительное свойство SKU, которое выводится в карточке товара и передаётся в документы заказа. Интеграция с ГИИС выполняется на стороне 1С, а на сайт приходит готовый УИН через обмен.

Технические итоги

  • Производительность каталога — фасетный индекс обязателен, пересчёт запускается по крону после каждого обмена с 1С.
  • Кеширование — автокеширование компонентов с тегами по инфоблоку. При обновлении SKU из 1С кеш сбрасывается автоматически.
  • Изображения — WebP-конвертация через обработчик OnBeforeResizeImage, оригиналы хранятся для zoom.
  • Мобильная версия — адаптивная вёрстка с учётом того, что 360°-просмотр на мобильных переключается на свайп-галерею из-за ограничений производительности.

Архитектура «одно SKU = один экземпляр» требует аккуратной настройки обмена с 1С, но обеспечивает точный учёт и корректное отображение уникальных характеристик каждого изделия в каталоге.