Налаштування вивантаження додаткових реквізитів з 1С в Бітрікс

Вивантаження додаткових реквізитів номенклатури з 1С в 1С-Бітрікс — це не просто копіювання полів. Уявіть: в 1С товар містить 50 характеристик, а на сайті відображається лише десяток. Або замість значень приходять GUID, фільтр не працює, картка товару порожня. Клієнти скаржаться, конверсія падає. Як
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування вивантаження додаткових реквізитів з 1С в Бітрікс
Простий
~1 день

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

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

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

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

Вивантаження додаткових реквізитів номенклатури з 1С в 1С-Бітрікс — це не просто копіювання полів. Уявіть: в 1С товар містить 50 характеристик, а на сайті відображається лише десяток. Або замість значень приходять GUID, фільтр не працює, картка товару порожня. Клієнти скаржаться, конверсія падає. Якщо ви зіткнулися з такою ситуацією, значить, налаштування вивантаження додаткових реквізитів з 1С виконано некоректно — і пора це виправити. Наприклад, довідник «Додаткові відомості» в 1С:УТ 11 часто залишається невивантаженим, а посилальні реквізити обертаються GUID. В результаті на сайті губляться важливі фільтри, сторінки товарів виглядають неповно, а менеджери витрачають години на ручне заповнення. Ми налаштовували десятки інтеграцій і виробили методику, яка вирішує ці проблеми за 3–7 днів з економією бюджету до 150 000 гривень на місяць.

Типи додаткових реквізитів в 1С

В 1С:УТ 11 реквізити живуть у двох місцях:

  • Реквізити об'єкта (ДодатковіРеквізити) — прямо в елементі довідника. Вивантажуються при кожному обміні.
  • Відомості об'єкта (ДодатковіВідомості) — в окремому регістрі відомостей. Потребують окремого включення в налаштуваннях вузла обміну.

Типи значень: Рядок, Число, Дата, Булево, Посилання на довідник і Рядок з варіантами. Посилальний тип — головний головний біль.

Як реквізити передаються в CommerceML

В XML-файлі реквізити потрапляють всередину <Товар>:

<ЗначенняРеквізитів> <ЗначенняРеквізиту> <Найменування>Потужність</Найменування> <Значення>2500</Значення> </ЗначенняРеквізиту> <ЗначенняРеквізиту> <Найменування>ОдиницяПотужності</Найменування> <Значення>Вт</Значення> </ЗначенняРеквізиту> <ЗначенняРеквізиту> <Найменування>ГарантійнийТермін</Найменування> <Значення>24</Значення> </ЗначенняРеквізиту> </ЗначенняРеквізитів> 

Бітрікс під час імпорту створює властивості інфоблоку з такими ж найменуваннями і заповнює значеннями.

Порівняння типів реквізитів та представлення в Бітріксі

Тип в 1С Приклад Тип властивості інфоблоку Особливості
Рядок Потужність: 2500 Рядок Переноситься без змін
Посилання на довідник Виробник: [GUID] Рядок (зв'язок?) Потребує маппінгу
Множинний Застосовність: [A, B, C] Рядок (множинне) Збір значень в масив

Проблема: автоматичні коди властивостей

При першому імпорті Бітрікс присвоює властивостям коди виду CML2_ATTR_001, CML2_ATTR_002. Працювати з ними в шаблонах — мука. Рішення: перед бойовим імпортом провести тестовий на копії, потім вручну перейменувати коди в читабельні (POWER_WATT, WARRANTY_MONTHS). Подальші імпорти не змінять їх, оскільки Бітрікс шукає співпадіння за найменуванням.

Або — написати обробник на OnIBlockPropertyAdd:

AddEventHandler('iblock', 'OnIBlockPropertyAdd', 'setReadablePropertyCode'); function setReadablePropertyCode(&$arFields) { if (empty($arFields['CODE'])) { $arFields['CODE'] = CUtil::translit( $arFields['NAME'], 'ru', ['change_case' => 'U', 'replace_space' => '_'] ); } } 

Як вирішити проблему з GUID? Два підходи

Посилальні реквізити в XML приходять як GUID:

<ЗначенняРеквізиту> <Найменування>Виробник</Найменування> <Значення>f3a2b1c0-1234-5678-abcd-ef0123456789</Значення> </ЗначенняРеквізиту> 

На сайті в картці — кракозябра. Варіанти:

  1. На стороні 1С: перед вивантаженням підмінити GUID на найменування елемента довідника. Це правильніше — не навантажує Бітрікс зайвою логікою.
  2. На стороні Бітрікс: вести таблицю маппінгу «GUID → значення», що формується з первинного обміну, і підставляти значення при записі властивості.

Підміна на стороні 1С не навантажує Бітрікс, але потребує доступу до конфігурації. Маппінг на стороні Бітрікс швидший у налаштуванні (2–3 рази), але більш ризикований при оновленні довідників.

Що робити з множинними значеннями?

Якщо в 1С реквізит допускає кілька значень, в XML вони передаються повторюваними тегами з однаковим найменуванням. Властивість в Бітріксі має бути «Множинним». Обробник збирає всі значення в масив:

$multiValues = []; foreach ($arXML['ADDITIONAL_REQUISITES'] as $req) { if ($req['NAME'] === 'Застосовність') { $multiValues[] = $req['VALUE']; } } $arProps['APPLICABILITY'] = $multiValues; 

Покрокова інструкція налаштування

  1. Експорт тестового XML з 1С — переконайтеся, що всі типи реквізитів відображені.
  2. Аналіз реквізитів — виявіть посилальні, множинні, рядкові з варіантами.
  3. Вибір підходу — визначте, де обробляти GUID: в 1С чи Бітрікс.
  4. Написання обробника — доопрацювання модуля обміну або створення обробника подій.
  5. Тестування на копії — перевірте коректність типів, фільтрів, карток.
  6. Деплой та навчання — перенесення на прод, налаштування інкрементального обміну.
Типові помилки при налаштуванні - Не включені відомості об'єкта в налаштуваннях вузла обміну 1С. - Властивість інфоблоку не позначена як множинне для реквізитів з повторюваними значеннями. - Відсутня обробка GUID для посилальних реквізитів. - Коди властивостей не перейменовані після першого імпорту. - Інкрементальний обмін не налаштований — зміни не підтягуються автоматично.

Кейс: промисловий каталог з 60+ атрибутами

З нашої практики: завод насосного обладнання. Кожен виріб описується 60–80 параметрами (робочий тиск, температурний діапазон, матеріал корпусу, клас захисту). В 1С — додаткові реквізити. При першому імпорті Бітрікс створив 78 властивостей з нечитабельними кодами. Ми витратили день на перейменування кодів та налаштування типів: числові — як «Число», з одиницями вимірювання; рядкові — як «Список» для фільтра.

Після налаштування компонент розумного фільтра Бітрікс автоматично пропонує фільтрацію за тиском, температурою та матеріалом — без додаткової розробки. Інкрементальне оновлення атрибутів (при зміні значень в 1С) — 4 хвилини на весь каталог з 2300 позицій. Економія часу на ручному супроводі — до 20 годин на місяць, що при середній ставці оператора дає суттєву економію бюджету.

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

  • Аналіз — вивантаження тестового XML, виявлення всіх типів реквізитів, посилань.
  • Проектування — вибір схеми обробки (на стороні 1С або Бітрікс), налаштування множинних властивостей.
  • Реалізація — доопрацювання модуля обміну / написання обробників, перейменування кодів.
  • Тестування — перевірка на копії каталогу, порівняння з 1С, перевірка фільтра та картки.
  • Деплой — перенесення налаштувань на прод, навчання операторів.

Терміни: від 3 до 7 робочих днів залежно від кількості реквізитів та складності посилальних полів. Вартість розраховується індивідуально — запросіть оцінку у наших інженерів.

Наш досвід та гарантії

  • 8+ років досвіду з інтеграцією 1С та Бітрікс.
  • Більше 120 виконаних проектів з обміну даними.
  • Надаємо документацію з налаштувань та гарантію на роботи.

Хочете так само? Отримайте консультацію по вашому проекту — ми розберемо конфігурацію і запропонуємо рішення. Зв'яжіться з нами — почнемо з аналізу вашої конфігурації.

Згідно з CommerceML, структура XML повинна містити всі необхідні реквізити для коректної передачі даних.