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

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Розробка сайту ювелірного магазину на 1С-Бітрікс
Складна
від 1 тижня до 3 місяців
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

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

Ювелірний інтернет-магазин відрізняється від типового e-commerce однією фундаментальною особливістю: значна частина асортименту — штучний товар. Два кільця з діамантом 0.5 карату можуть відрізнятися за кольором, чистотою та огранкою, а значит — за вартістю. Платформа 1С-Bitrix з модулем «Торговий каталог» (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°

Ювелірні вироби вимагають якісної візуалізації. На рівні Bitrix це означає:

  • Основне фото — властивість «Файл» у 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С Сутність у Bitrix Зв'язок
Номенклатура (модель) Елемент інфоблока товарів 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С: виконання характеристик номенклатури включена, кожна характеристика = унікальний Ід.
  • У Bitrix: у налаштуваннях інфоблока каталогу включена опція «Торгові пропозиції», тип — «Кожна пропозиція — окремий елемент».
  • Властивості SKU (вага, характеристики каменю) маппяться через налаштування обміну у розділі «Відповідність властивостей».

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

Облік проданих екземплярів

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

ГІИС ДМДК

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

Технічні итоги

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

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