Elbuz завантажує каталог з 1С напряму з файлів обміну CommerceML 2: товари, групи, ціни й залишки потрапляють у базовий каталог без ручного перенесення.
Коли це знадобиться:
- Каталог ведеться в 1С — дерево груп і картки товарів з'являються в Elbuz за один запуск.
- Ціни й залишки в 1С змінюються щодня — шаблон за розкладом оновлює ті самі картки за Ид.
- У 1С кілька типів цін — у каталог іде перша ціна пропозиції, тож потрібний тип ставите першим у вивантаженні.
- Частину карток ви правите в Elbuz — позначки в картці не дають обміну затерти ціну чи опис.
З чого почати: уперше перенести каталог з 1С шаблоном «CommerceML2 (1C)».
Що вміє обмін з 1С
- Два файли за один запуск — import.xml несе каталог, offers.xml — ціни й залишки; можна вантажити й один.
- Зіставлення за Ид — повторний обмін оновлює ті самі картки, торгові пропозиції зв'язуються з основним товаром.
- Перенесення полів — назва, артикул, виробник, опис, вага, одиниця, характеристики, фото, ціна й залишок.
- Дерево категорій — будується з класифікатора груп 1С.
- Обмін за розкладом — файли забираються за посиланнями без ручного запуску.
- Прибирання зайвого — за галочкою з каталогу видаляється те, чого немає у файлі.
Де це і хто має доступ
- Меню
- Довідники → Операції → Завантаження даних → шаблон «CommerceML2 (1C)»
- Право доступу
- вікно «Завантаження» у «Правах груп»
- Галочка видалення
- окреме право «Прапор: видаляти категорії та товари в базовому каталозі, яких немає в завантажуваному файлі»
- Підготувати
- import.xml і offers.xml, вивантажені з 1С, або посилання на них
1
Рядок шаблону «CommerceML2 (1C)»- Рядок шаблону «CommerceML2 (1C)» у списку завантаження.
Інші способи завантаження й чим вони відрізняються — в огляді завантаження даних.
Як завантажити обмін: два файли
Обмін CommerceML іде двома файлами, і 1С формує їх окремо:
- import.xml — сам каталог: товари (назви, артикули, групи, виробник, характеристики, картинки) та класифікатор груп.
- offers.xml — пакет пропозицій: ціни й залишки по тих самих товарах.
У формі шаблону відповідно два поля для файлів: перше — для товарів (import.xml), друге — для пропозицій (offers.xml). Обидва файли пов'язані спільним ідентифікатором товару. Звичайний обмін — обидва файли разом, одним запуском.
1
Поле вибору файлу «Каталог» (import.xml)2
Поле вибору файлу «ПакетПропозицій» (offers.xml)- Поле «Каталог» приймає файл import.xml зі списком товарів.
- Поле «ПакетПропозицій» приймає файл offers.xml із цінами та залишками.
Що оновить один файл
Один файл завантажити теж можна: тоді в наявних картках оновлюється тільки те, що в цьому файлі є.
| Що завантажили | Що оновиться в наявних картках | Нові картки |
|---|---|---|
| Тільки import.xml | назва, артикул, виробник, описи, категорія; ціна, залишок і статус наявності лишаються як були | створюються з ціною 0 і залишком 0 |
| Тільки offers.xml (у полі «Каталог») | ціна (крім карток із «Фіксована ціна»), залишок, статус наявності й характеристики з пропозиції | не створюються, якщо в пропозиції немає групи, яка вже є в каталозі |
Без файлу в полі «Каталог» обмін не запускається, тож offers.xml для оновлення цін кладуть саме в це поле — програма бере за каталог самі пропозиції. З нього вона читає тільки Ид, Артикул, Наименование, Группы, Количество, Цены й характеристики (ЗначенияСвойств, ХарактеристикиТовара).
Що варто знати про обмін одним offers.xml:
- Назва, артикул, виробник, короткий і повний опис, категорія й прив'язки до категорій лишаються як були. Виняток — картки-варіанти торгових пропозицій: у них назва й артикул беруться з пропозиції, як і за звичайного обміну.
- Характеристики з пропозиції замінюють увесь список характеристик картки, зокрема ті, що прийшли з import.xml. Картки з «Не оновлювати» чи «Не оновлювати атрибути» зберігають свої.
- У картках із позначкою «Не оновлювати» ціна, залишок, назва й опис лишаються як були — так само й за обміну самим import.xml.
Як Elbuz упізнає товар з 1С
Кожен товар у 1С має Ид — глобальний ідентифікатор (GUID). Elbuz зберігає його у системне поле товару «UUID» і зіставляє за ним товари з import.xml, ціни з offers.xml і повторні завантаження. GUID у 1С стабільний, тому повторний обмін оновлює наявні картки. Це надійніше за артикул, який у 1С можуть змінити. Детальніше: повторний імпорт без дублів.
Нова картка створюється тільки тоді, коли товар прив'язаний до групи класифікатора. Товар без групи (або з групою, якої немає ні у файлі, ні в каталозі) обмін пропускає мовчки, без рядка в журналі. Детальніше: товар без категорії.
Окремий випадок — торгові пропозиції (варіанти товару): у них Ид має вигляд GUID_товару#GUID_варіанту. Elbuz розпізнає цей запис і зв'язує варіант з основним товаром, а не заводить окрему непов'язану картку.
Товари, які вже були в каталозі без Ид з 1С, обмін із товарами файлу не зіставляє: товар з файлу отримає нову картку, а стара лишиться без оновлень. Розвести товари двох шаблонів з однаковим ідентифікатором у CommerceML нічим — детальніше: два шаблони на той самий товар.
Що обмін пише в картку і як уберегти своє
З import.xml (вузол «Товар») у картку переносяться:
| Вузол CommerceML | Поле картки в Elbuz |
|---|---|
| Ид | UUID (ключ зіставлення) |
| Артикул | артикул товару |
| Наименование (або реквізит «Полное наименование») | назва товару |
| Группы → Ид | категорія (за класифікатором груп) |
| Изготовитель → Наименование | виробник |
| Описание / реквізит «ОписаниеВФорматеHTML» | опис товару |
| реквізит «Вес» | вага |
| БазоваяЕдиница | одиниця виміру |
| ЗначенияСвойств, ХарактеристикиТовара | характеристики / опції товару |
| Картинка (кілька) | фото |
З offers.xml (вузол «Предложение») підтягуються ціна й залишок — вони знаходять свій товар за тим самим Ид:
| Вузол CommerceML | Поле картки в Elbuz |
|---|---|
| Цены → Цена → ЦенаЗаЕдиницу | ціна товару |
| Цены → Цена → ИдТипаЦены | читається, але в картку не записується (див. типи цін) |
| Цены → Цена → Валюта | читається, але в картку не записується |
| Количество | залишок |
Поля пишуться з файлу як є: якого вузла немає, те поле картки лишиться порожнім. Кожен прогін з import.xml переписує в знайдених картках назву, артикул, виробника, категорію, короткий і повний опис; короткий опис з 1С не приходить, тож стає порожнім. Що ще перезапише повторний прогін, — в огляді.
Яка ціна потрапить у каталог, якщо типів цін кілька
У 1С товар може мати кілька цін різних типів (роздрібна, оптова, закупівельна), кожна позначена своїм ИдТипаЦены. Elbuz бере ЦенаЗаЕдиницу лише з першої Цена в блоці Цены, незалежно від типу; решта цін пропускаються.
Вибору типу ціни в шаблоні немає, а валюта не перераховується — число лягає в поле ціни як є. Тому налаштуйте вивантаження в 1С так, щоб потрібний тип стояв у кожній пропозиції першим, або вивантажуйте тільки його. Пропозиція без блоку Цены дає товару ціну 0 (крім карток із «Фіксована ціна»).
Характеристики й варіанти
CommerceML розрізняє два набори: ЗначенияСвойств — властивості з класифікатора, і ХарактеристикиТовара — характеристики конкретного товару, на яких у 1С будуються варіанти. Elbuz переносить обидва в атрибути товару; характеристики, за якими розрізняються торгові пропозиції, стають основою варіантів. Вмикати їх окремо не треба — вони йдуть разом з рештою обміну.
Як уберегти картку від перезапису
Позначки в картці товару, група «Захист під час імпорту»:
- «Не оновлювати» — обмін лишає ціну, залишок, основну категорію, прив'язки до категорій, назву, описи й характеристики.
- «Фіксована ціна» — береже тільки ціну; категорія, виробник, артикул і залишок оновлюються з файлу.
- «Не оновлювати атрибути» — береже тільки характеристики, решта полів оновлюється.
Детальніше про позначки й фото при повторному прогоні: як закріпити своє значення.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Як із класифікатора будуються категорії
Дерево категорій Elbuz будує з класифікатора import.xml (вузол «Группы»): кожна група має свій Ид і назву, а вкладеність задається вкладеними групами. Товар прив'язується до групи за її Ид, тож структура розділів з 1С відтворюється у вашому каталозі.
Групи з 1С — звичайні категорії каталогу, не службові: програма створює їх зі значеннями стану й участі у вивантаженні, які база ставить новій категорії за замовчуванням. Але вони прив'язані до 1С за Ид, і кожен обмін повертає їх до стану в 1С:
- Перейменували чи перенесли групу в дереві Elbuz — наступний обмін поверне назву (мовою каталогу за замовчуванням) і батьківську групу з файлу.
- Видалили групу в Elbuz — якщо вона ще є в import.xml, наступний обмін створить її знову як нову категорію й перекладе туди її товари.
- Переклали товари з групи 1С у свою категорію — наступний обмін поверне їм категорію з файлу. Утримати товар у своїй категорії можна позначкою «Не оновлювати».
Тривке рішення для структури — міняти групи в самому 1С. Замовлень та інших документів обмін не торкається, тож перенесення товарів чи видалення груп на рядки вже завантажених документів не впливає.
Як оновлювати каталог з 1С регулярно
Перший обмін створює товари, наступні оновлюють наявні за Ид. Каталог (import.xml) зазвичай оновлюють рідше, а ціни й залишки (offers.xml) — частіше, окремим завантаженням. Щоб не запускати вручну, налаштуйте обмін за розкладом.
Запуск іде через центр операцій: з'являється повідомлення «Завантаження запущено — стежте в «Операціях»», і журнал прогону видно там. Порядок рядків журналу:
- Читання файлів: лічильники «З файлу отримано категорій» (кожні 100 груп), «З файлу отримано товарів» і «З файлу отримано цін товарів» (кожні 1000 позицій).
- Підсумки читання: «Усього категорій завантажено», «Всього товарів завантажено», «Всього цін товарів завантажено».
- Запис у каталог, потім завершальні кроки — формули, перевірка цілісності, індексування — і рядок «Завантаження даних завершено!».
Якщо файл не дійшов до сервера (завеликий або обірвався зв'язок), обмін не починається, а в журналі з'являється «Файл не вдалося передати на сервер. Можливо, він завеликий або зв’язок обірвався». Як перевірити результат прогону: журнал і «Історія запусків».
На сайт і маркетплейси нові ціни й залишки самі не поїдуть: обмін вивантажень не запускає. Спершу обмін з 1С, потім вивантаження — детальніше: коли завантажене поїде далі.
Що буде з товаром, який зник з обміну
Вирішує галочка у формі шаблону, блок «Що завантажувати»: «Видаляти записи в базовому каталозі, яких немає в завантаженому файлі». Без неї картку, якої немає у файлі, обмін не чіпає: знятий у 1С товар лишається в каталозі зі старими ціною й залишком.
З галочкою обмін перед записом нових даних видаляє з базового каталогу всі категорії, яких немає в класифікаторі файлу, і всі товари, яких немає у файлі, — зокрема створені вручну та завантажені з інших джерел. Галочки «Перевірити унікальність записів…», яка звузила б коло, у формі CommerceML немає. Товари й варіанти, що є тільки в offers.xml, вважаються наявними у файлі.
Це видалення, а не вимкнення, кнопки відкату немає. Разом із товаром зникають описи, фото, характеристики, прив'язки; рядки прайсів постачальників втрачають зіставлення, а правила завантаження для видалених категорій видаляються. У журналі цей крок підписано «Видаляємо категорії та товари в базовому каталозі, яких немає у файлі».
З увімкненою галочкою самий offers.xml категорій не видаляє — класифікатора в ньому немає. Але товари, яких немає серед пропозицій, він видаляє: offers.xml лише з частиною асортименту прибере решту. Так само вибірковий import.xml видалить усе, що в нього не потрапило.
Порожній файл або файл без класифікатора каталог не вичистить — детальніше: товар зник із джерела. Без права «Прапор: видаляти категорії та товари…» галочка у формі неактивна.
Якщо обмін перервався або наробив дублів
Обмін перервався
Від етапу залежить, що лишилося в каталозі:
- Обрив під час читання файлів — каталог не змінився: поки обидва файли читаються, у каталог нічого не пишеться. Файл, обрізаний посередині товару чи пропозиції, — з комп'ютера чи за посиланням, — закінчує обмін помилкою «Не вдалося прочитати файл:» з причиною, теж до запису.
- Обрив під час запису — лишається те, що встигло записатися: спершу видалення (якщо ввімкнено), потім категорії, потім товари, характеристики й фото. Зупинка перевіряється перед видаленням і після запису категорій; далі запис товарів і характеристик іде до кінця. Якщо зупинку натиснуто до цього, фото не скачуються.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Повторити той самий обмін безпечно: товари й категорії знаходяться за Ид, виробник шукається за назвою, характеристики перезаписуються — задвоєння не буде. Що буває після зупинки і чому не можна запускати два прогони одночасно: якщо прогін обірвався.
Обмін наробив дублів
Дублі з'являються, коли в 1С змінилися Ид товарів: для програми це нові товари, тож вона створює нові картки, а старі лишаються поруч і більше не оновлюються.
Знайдіть їх у сітці базового каталогу за колонками «Джерело: назва» (назва вашого шаблону CommerceML) і «Дата додавання» (день такого обміну). Колонку «ID товару (рядок UUID)» виведіть поруч, щоб звірити Ид з 1С.
Видаляйте старі картки, а не нові: обмін і далі шукатиме товари за новими Ид, і видалені нові картки створить знову. Зі старих спершу заберіть вручну вивірений контент. Масові дії для цього: якщо завантажили не те.
Сценарії
Уперше перенести каталог з 1С
Задача: завести в Elbuz каталог, який уже ведеться в 1С. У формі шаблону «CommerceML2 (1C)» на вкладці «Локальний файл» виберіть import.xml кнопкою «Вибрати файл – Каталог» і offers.xml кнопкою «Вибрати файл - ПакетПропозицій». Галочку «Видаляти записи в базовому каталозі, яких немає в завантаженому файлі» не вмикайте й натисніть «Завантажити».
Що вийде: дерево категорій з класифікатора, картки товарів з Ид у полі UUID, ціною й залишком з offers.xml. Нові виробники додаються в довідник, характеристики стають атрибутами, джерелом нових карток записується назва шаблону. Чого не буде: карток для товарів без групи класифікатора.
Перший обмін зробіть на невеликій вибірці й перевірте кілька карток очима.
Підтягувати ціни й залишки з 1С за розкладом
Задача: щоб ціни й залишки з 1С оновлювалися без ручного запуску. На вкладці «Зовнішнє посилання» вкажіть адреси, за якими 1С викладає файли: «Посилання на файл із товарами (Каталог)» і «Посилання на файл з цінами ( ПакетПропозицій )». У блоці «Повʼязані налаштування» натисніть «Налаштування розкладу» й налаштуйте запуск, а в шапці форми переведіть шаблон у стан «Активний».
1
Посилання на файл із товарами (Каталог)2
Посилання на файл з цінами (ПакетПропозицій)3
Налаштування розкладу- Посилання на файл із товарами (Каталог) — адреса файлу import.xml.
- Посилання на файл з цінами (ПакетПропозицій) — адреса файлу offers.xml.
- Налаштування розкладу — кнопка переходу до налаштування автоматичного завантаження.
Що вийде: за розкладом програма сама забирає обидва файли за посиланнями й оновлює картки за Ид. Шаблон у стані «Вимкнений» розклад пропускає. Якщо друге посилання порожнє, обмін піде з самим каталогом: наявні картки збережуть ціни й залишки, нові отримають ціну 0 і залишок 0.
Прибирати з каталогу те, що зняли в 1С
Задача: 1С — єдине джерело асортименту, і в Elbuz не має лишатися нічого зайвого. Увімкніть галочку «Видаляти записи в базовому каталозі, яких немає в завантаженому файлі» (потрібне право на неї) і завжди завантажуйте повний import.xml разом з offers.xml.
Що вийде: перед записом обмін видаляє всі категорії й товари, яких немає у файлі, разом із ручними та завантаженими з інших джерел; відкату немає. Обмежте асортимент файлу — і решта зникне з каталогу (див. що буде з товаром, який зник).
Вести окремі картки вручну, решту брати з 1С
Задача: для частини товарів ціну чи опис ви задаєте в Elbuz, і обмін не має їх затирати. У картці такого товару поставте «Фіксована ціна» (береже ціну) або «Не оновлювати» (береже ціну, залишок, категорії, назву, описи й характеристики).
Що вийде: решта каталогу оновлюється з 1С, а позначені картки лишаються вашими. Залишок картки з «Фіксована ціна» оновлюється з файлу (див. як уберегти картку).
Що робити, коли обмін завантажив не те
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| Приїхав каталог, а нові товари з ціною 0 і залишком 0 | Завантажено лише import.xml: ціни й залишки живуть в offers.xml | Додайте offers.xml другим файлом і запустіть обмін ще раз (один файл) |
| У каталозі закупівельна чи оптова ціна замість роздрібної | Береться перша ціна пропозиції, тип ціни не враховується | Поставте потрібний тип першим у вивантаженні 1С (типи цін) |
| Товарів у каталозі менше, ніж у файлі | Товар без групи класифікатора карткою не заводиться | Прив'яжіть товари до груп у 1С (як Elbuz упізнає товар) |
| Товари, що були в каталозі до обміну, не оновилися, а поруч з'явилися нові | У старих картках немає Ид з 1С або в 1С змінилися Ид | Знайдіть дублі за «Джерело: назва» й «Дата додавання» (дублі) |
| «Файл не вдалося передати на сервер. Можливо, він завеликий або зв’язок обірвався» | Файл не дійшов до сервера, обмін не почався | Повторіть завантаження або дайте файл посиланням (за посиланням) |
| «Не вдалося прочитати файл:» з причиною | Файл обрізаний або зіпсований; каталог не змінено | Вивантажте файл з 1С заново (обрив обміну) |
| У каталозі нові ціни, а на сайті старі | Обмін не запускає вивантаження | Перевірте, коли востаннє відпрацювало вивантаження (коли поїде далі) |
Файли 1С мають бути в коректному кодуванні — зазвичай UTF-8 або Windows-1251, як їх віддає ваша конфігурація.
Часті запитання
Чи можна оновлювати з 1С тільки ціни й залишки?
Так. Покладіть offers.xml у поле «Каталог»: у наявних картках оновляться ціна, залишок, статус наявності й характеристики, решта полів лишиться (що оновить один файл).
Чи перераховує Elbuz валюту ціни з 1С?
Ні. Валюта з offers.xml читається, але в картку не записується: число лягає в поле ціни як є (типи цін).
Чому не завантажились характеристики?
Характеристики завантажуються автоматично разом з рештою обміну. Вони беруться з вузлів ЗначенияСвойств і ХарактеристикиТовара; якщо їх немає у файлі 1С, переносити нічого. Картки з «Не оновлювати» чи «Не оновлювати атрибути» зберігають свої.
Можна завантажити з 1С лише частину каталогу?
Так, якщо галочку видалення вимкнено: оновляться тільки товари з файлу. З увімкненою галочкою все, чого немає у файлі, буде видалено (товар зник з обміну).
Чи змінює обмін замовлення й документи?
Ні, документів обмін не торкається. Перенесення товарів чи видалення груп на рядки вже завантажених документів не впливає.
Чому після обміну зник опис, який я писав у Elbuz?
Обмін з import.xml переписує назву й описи тим, що прийшло з 1С; короткий опис стає порожнім. Опис уціліє тільки в картці з «Не оновлювати» (як уберегти картку).
Суміжні теми
- Якщо ще обираєте, яким способом завантажувати каталог, — огляд завантаження даних.
- Якщо треба передати каталог і ціни з Elbuz назад у 1С — вивантаження у CommerceML.
- Якщо файл від постачальника чи сайту не в CommerceML, а XML/YML — імпорт з XML / YML.
- Якщо формат нестандартний і поля треба розмітити вручну — універсальний імпорт.

