Стенд GuardLabs. 1С Бітрікс: Управління сайтом

Обмін каталогом з Бітрікс: CommerceML 2 з будь якого прайсу

Найчастіша грошова задача на Бітрікс це обмін каталогом: «обмін з 1С зламався після оновлення», «треба залити каталог, а 1С немає». Штатний імпорт Бітрікс розуміє формат CommerceML 2. Нижче живий генератор: вставте прайс, отримайте валідну пару import.xml та offers.xml для штатного завантаження, плюс чеклист діагностики, коли обмін падає.

Біль

Чому обмін каталогом на Бітрікс болить

Обмін зламався

Після оновлення 1С або ядра сайту вивантаження зупиняється мовчки. Каталог живе своїм життям, ціни застарілі.

1С немає взагалі

Каталог є тільки в Excel від постачальника, а сайт чекає CommerceML. Руками сотні позицій в інфоблок ніхто не перенесе.

Формат капризний

Дві частини файла, товари окремо, ціни та залишки окремо, зв'язка за Ід. Помилка в структурі, і імпорт створює дублі замість оновлення.

Рішення

Живий генератор: спробуйте прямо тут

Вхід: прайс, CSV з будь яким роздільником
Звіт перевірки рядків
Звіт з'явиться після генерації. Кнопка «Вставити тестовий прайс» покаже роботу на навмисно кривому файлі.
Як перевірити

Кроки в адмінці Бітрікс

  1. Натисніть «Вставити тестовий прайс», потім «Згенерувати CommerceML». Звіт покаже відсіяні рядки, у файли увійшли тільки чисті позиції.
  2. Скачайте обидва файли: import.xml і offers.xml.
  3. В адмінці: Контент, Інфоблоки, Імпорт CommerceML. Спочатку завантажте import.xml, він створить групи та товари. Потім offers.xml, він підтягне ціни та залишки.
  4. Звірка: кількість елементів створеного інфоблоку дорівнює числу «придатних» зі звіту; у випадкового товару ціна та залишок збігаються з прайсом; повторне завантаження тих самих файлів не плодить дублі, бо Ід стабільні та побудовані з артикула.
Специфіка Бітрікс, яку враховує генератор: зв'язка товару та пропозиції йде за стабільним Ід з артикула, тому повторний обмін оновлює, а не дублює; ціни їдуть окремим пакетом пропозицій з типом ціни та валютою UAH; кодування строго UTF-8 з декларацією в першому рядку; структура сумісна зі штатним механізмом, тим самим, який використовує обмін з 1С.
Діагностика

Обмін з 1С зламався: що перевіряти першим

1. Журнал обміну.

Адмінка, Магазин, Обмін з 1С: там видно останню сесію та крок, на якому все зупинилось. Половина діагнозів ставиться тут за хвилину.

2. Ліміти хостингу.

Великий каталог упирається в upload_max_filesize, post_max_size, memory_limit та max_execution_time. Симптом: обмін падає завжди на тому самому відсотку.

3. Кодування файлів.

Стара 1С шле Windows 1251, сайт чекає UTF-8. Симптом: імпорт проходить, але назви товарів перетворюються на знаки питання.

4. Права та доступ.

Пароль користувача обміну, права на запис у папку завантаження, редиректи або захист, що ріже запити від 1С. Симптом: 1С пише «сайт не відповідає», хоча сайт живий.

Чесно

Це власний стенд GuardLabs, а не клієнтський кейс: комерційних проєктів на 1С Бітрікс ми не заявляємо, а Бітрікс24 CRM це окремий продукт і окрема історія. Генератор робочий, XML збирається локально у вашому браузері, дані нікуди не надсилаються. У реальному проєкті так само збирається повний обмін: з характеристиками товарів, торговими пропозиціями та вивантаженням замовлень назад в облікову систему.