Вивантаження додаткових реквізитів номенклатури з 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С: перед вивантаженням підмінити GUID на найменування елемента довідника. Це правильніше — не навантажує Бітрікс зайвою логікою.
- На стороні Бітрікс: вести таблицю маппінгу «GUID → значення», що формується з первинного обміну, і підставляти значення при записі властивості.
Підміна на стороні 1С не навантажує Бітрікс, але потребує доступу до конфігурації. Маппінг на стороні Бітрікс швидший у налаштуванні (2–3 рази), але більш ризикований при оновленні довідників.
Що робити з множинними значеннями?
Якщо в 1С реквізит допускає кілька значень, в XML вони передаються повторюваними тегами з однаковим найменуванням. Властивість в Бітріксі має бути «Множинним». Обробник збирає всі значення в масив:
$multiValues = []; foreach ($arXML['ADDITIONAL_REQUISITES'] as $req) { if ($req['NAME'] === 'Застосовність') { $multiValues[] = $req['VALUE']; } } $arProps['APPLICABILITY'] = $multiValues; Покрокова інструкція налаштування
- Експорт тестового XML з 1С — переконайтеся, що всі типи реквізитів відображені.
- Аналіз реквізитів — виявіть посилальні, множинні, рядкові з варіантами.
- Вибір підходу — визначте, де обробляти GUID: в 1С чи Бітрікс.
- Написання обробника — доопрацювання модуля обміну або створення обробника подій.
- Тестування на копії — перевірте коректність типів, фільтрів, карток.
- Деплой та навчання — перенесення на прод, налаштування інкрементального обміну.
Типові помилки при налаштуванні
- Не включені відомості об'єкта в налаштуваннях вузла обміну 1С. - Властивість інфоблоку не позначена як множинне для реквізитів з повторюваними значеннями. - Відсутня обробка GUID для посилальних реквізитів. - Коди властивостей не перейменовані після першого імпорту. - Інкрементальний обмін не налаштований — зміни не підтягуються автоматично.Кейс: промисловий каталог з 60+ атрибутами
З нашої практики: завод насосного обладнання. Кожен виріб описується 60–80 параметрами (робочий тиск, температурний діапазон, матеріал корпусу, клас захисту). В 1С — додаткові реквізити. При першому імпорті Бітрікс створив 78 властивостей з нечитабельними кодами. Ми витратили день на перейменування кодів та налаштування типів: числові — як «Число», з одиницями вимірювання; рядкові — як «Список» для фільтра.
Після налаштування компонент розумного фільтра Бітрікс автоматично пропонує фільтрацію за тиском, температурою та матеріалом — без додаткової розробки. Інкрементальне оновлення атрибутів (при зміні значень в 1С) — 4 хвилини на весь каталог з 2300 позицій. Економія часу на ручному супроводі — до 20 годин на місяць, що при середній ставці оператора дає суттєву економію бюджету.
Що входить в роботу
- Аналіз — вивантаження тестового XML, виявлення всіх типів реквізитів, посилань.
- Проектування — вибір схеми обробки (на стороні 1С або Бітрікс), налаштування множинних властивостей.
- Реалізація — доопрацювання модуля обміну / написання обробників, перейменування кодів.
- Тестування — перевірка на копії каталогу, порівняння з 1С, перевірка фільтра та картки.
- Деплой — перенесення налаштувань на прод, навчання операторів.
Терміни: від 3 до 7 робочих днів залежно від кількості реквізитів та складності посилальних полів. Вартість розраховується індивідуально — запросіть оцінку у наших інженерів.
Наш досвід та гарантії
- 8+ років досвіду з інтеграцією 1С та Бітрікс.
- Більше 120 виконаних проектів з обміну даними.
- Надаємо документацію з налаштувань та гарантію на роботи.
Хочете так само? Отримайте консультацію по вашому проекту — ми розберемо конфігурацію і запропонуємо рішення. Зв'яжіться з нами — почнемо з аналізу вашої конфігурації.
Згідно з CommerceML, структура XML повинна містити всі необхідні реквізити для коректної передачі даних.







