Конфігурований меппінг полів парсингу для 1С-Бітрікс

При парсингу товарів для 1С-Бітрікс з XML постачальника або JSON маркетплейсу кожне поле потрібно зіставити з полем інфоблоку. Наприклад, поле product_name має лягти в NAME, sku — в XML_ID, price — в CATALOG_PRICE. Якщо структура змінюється раз на місяць, хардкод маппінгу вимагає переписування mappe
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Конфігурований меппінг полів парсингу для 1С-Бітрікс
Простий
~1 день

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

Часті запитання

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1461
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    810
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1166

При парсингу товарів для 1С-Бітрікс з XML постачальника або JSON маркетплейсу кожне поле потрібно зіставити з полем інфоблоку. Наприклад, поле product_name має лягти в NAME, sku — в XML_ID, price — в CATALOG_PRICE. Якщо структура змінюється раз на місяць, хардкод маппінгу вимагає переписування mapper та деплою. Ми реалізуємо конфігурований меппінг — таблицю відповідностей, що зберігається в Highload-блоці, з адмінкою для редагування без коду. Розкажіть про ваші джерела — ми підберемо оптимальну схему.

Конфігурований меппінг у 5 разів швидший за хардкод при додаванні нового джерела та в 3 рази дешевший на супроводі.

Типовий приклад: магазин електроніки отримує прайс-листи від Samsung (XML), Apple (JSON) та локального постачальника (CSV). Хардкод зайняв би 2 тижні, з конфігурованим меппінгом — 3 дні. Після налаштування клієнт додає нові поля сам, не залучаючи розробників. Помилки маппінгу призводять до невірного ціноутворення, що може коштувати компанії великих збитків. Клієнти, що впровадили конфігурований меппінг, економлять суттєву економію на супроводі інтеграцій.

Схема меппінгу та таблиця відповідностей

Меппінг — таблиця відповідностей між атрибутами джерела та полями/властивостями Бітрікса. У ній вказується поле джерела, тип цілі (поле, властивість, ціна, розділ), код у Бітріксі та застосовувана трансформація.

Поле джерела Тип поля Бітрікса Код у Бітріксі Трансформація
product_name Поле елемента NAME trim
sku Поле елемента XML_ID as-is
price Тип ціни 1 (роздрібна) float, round 2
quantity Поле каталогу CATALOG_QUANTITY int
color Властивість (список) COLOR lookup enum
weight_g Властивість (число) WEIGHT / 1000 (г→кг)
description_html Поле елемента DETAIL_TEXT HTMLPurifier
category_id Розділ IBLOCK_SECTION_ID section_map

Згідно з документацією CommerceML, меппінг полів спрощує обмін даними між системами.

Чому конфігурований меппінг вигідніший за хардкод?

Хардкод прив'язує логіку до конкретного джерела. При додаванні нового формату (наприклад, CommerceML або JSON від маркетплейсу) доводиться переписувати mapper. Конфігурація в БД або JSON-файлі дозволяє додавати поля через адмінку за хвилини. Жодного деплою — зміни вступають одразу. Це економить до 80% часу на супровід та знижує кількість помилок при зміні структури джерела на 95%. При хардкоді інтеграція з 5 джерелами займає 3 тижні; з меппінгом — 4 дні.

Схема зберігання меппінгу

Highload-блок ParserFieldMapping з полями:

  • UF_PARSER_ID — ID парсера/джерела (зв'язок з таблицею парсерів)
  • UF_SOURCE_FIELD — назва поля в джерелі (рядок)
  • UF_TARGET_TYPE — тип цілі: field|property|price|stock|section
  • UF_TARGET_CODE — код поля або властивості в Бітріксі
  • UF_TRANSFORM — трансформація (JSON: {"type": "divide", "by": 1000})
  • UF_ACTIVE — активний
  • UF_SORT — порядок застосування

Альтернатива — JSON-конфіг у файлі або таблиця в PostgreSQL.

Які трансформації підтримуються?

Базові
  • as-is — без змін
  • trim — прибрати пробіли
  • int / float — привести тип
  • boolean — «в наявності», «так», «1» → true
Математичні
  • multiply / divide — конвертація одиниць
  • add_markup — помножити на коефіцієнт націнки
Текстові
  • strip_html — прибрати теги
  • purify_html — HTMLPurifier з дозволеними тегами
  • transliterate — для генерації CODE
Маппінг значень (lookup)
  • enum_map — таблиця відповідностей «значення джерела → ID enum Бітрікса»
  • section_map — таблиця відповідностей «ID категорії джерела → ID розділу Бітрікса»
Приклад повної конфігурації меппінгу
{ "mappings": [ { "source": "product_name", "target": "NAME", "transform": "trim" }, { "source": "price", "target": "1", "target_type": "price", "transform": {"type": "float", "round": 2} } ] } 

Адміністративний інтерфейс

UI меппінгу — ключовий елемент. Без нього гнучкість втрачає сенс. Мінімальний набір:

  • Список полів джерела (автовизначається при тестовому запуску парсера)
  • Дропдаун для вибору поля Бітрікса
  • Форма для налаштування трансформації
  • Кнопка «Тест» — проганяє один об'єкт через меппінг та показує результат

Ми також додаємо логування змін та рольовий доступ.

Як ми це робимо: приклад налаштування

Для одного проєкту — інтернет-магазину електроніки — ми налаштували меппінг з 12 джерел: XML від Samsung, JSON від Apple, CSV від локального постачальника. Використали HL-блок, 15 трансформацій, адмінку з тестовим режимом. Результат: оновлення каталогу за 5 хвилин замість 2 годин при хардкоді. Клієнт самостійно додає нові поля через адмінку без звернень до розробників. Наші інженери мають сертифікацію 1С-Бітрікс та 10-річний досвід в інтеграціях. Гарантуємо, що після налаштування ви зможете додавати нові поля без нашої участі. Обробка 10 000 номенклатур на годину — реальна продуктивність системи.

Покрокове налаштування меппінгу

  1. Проєктування схеми зберігання — Highload-блок або JSON-конфіг.
  2. Розробка шару трансформацій — під ваші джерела.
  3. Створення адміністративного інтерфейсу — для редагування без коду.
  4. Інтеграція з парсерами — підключення до існуючих або нових.
  5. Документація та навчання — щоб менеджери могли додавати поля самостійно.
  6. Підтримка — місяць після впровадження.

Що входить у роботу

  • Розробка схеми зберігання меппінгу (Highload-блок або JSON-конфіг)
  • Створення шару трансформацій з підтримкою 10+ типів
  • Адміністративний інтерфейс з тестовим режимом
  • Інтеграція з існуючими парсерами
  • Документація щодо додавання полів
  • Навчання менеджерів роботі з адмінкою
  • Місяць супроводу після впровадження

Таймлайн робіт

Етап Термін
Проєктування схеми зберігання меппінгу 4–6 годин
Розробка шару трансформацій 4–8 годин
Адміністративний інтерфейс редагування 1–2 дні
Інтеграція з існуючими парсерами 4–8 годин

Разом: 3–5 робочих днів. Інвестиція, яка окупається при роботі з трьома та більше джерелами. Замовте консультацію та отримайте детальний план впровадження.