Імпорт каталогу з 1С (CommerceML)

4 хв

Якщо облік товарів ви ведете в 1С, каталог не треба переносити руками — його можна завантажити напряму через обмін CommerceML. Це стандартний формат вивантаження з 1С, який розуміє більшість конфігурацій. Ви вивантажуєте каталог із 1С, а Elbuz читає ці файли й наповнює ними базовий каталог.

Ця стаття — про один із способів завантаження, описаних у загальному огляді завантаження даних. CommerceML — готовий формат зі своєю структурою, тож колонки розмічати не треба: програма знає, де в обміні 1С лежить назва, де ціна, а де залишок.

Що таке CommerceML

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

Для Elbuz це один тип шаблону. Ви завантажуєте обидва файли, і програма зшиває їх за внутрішніми ідентифікаторами 1С: товар із першого файлу отримує ціну й залишок із другого.

Де це у програмі

У вікні імпорту створюєте шаблон і обираєте тип «CommerceML 2 (1С)». Це файлове джерело: файли обміну можна завантажити з комп'ютера або дати посилання, за яким 1С їх викладає. Якщо ваша 1С сама публікує обмін за адресою, зручніше вказати посилання — тоді оновлення можна поставити на розклад.

Два файли обміну

Головне, що варто пам'ятати про CommerceML: файлів два, і потрібні обидва. Файл товарів без файлу пропозицій дасть каталог без цін і залишків; файл пропозицій без файлу товарів — ціни, яким нема до чого прив'язатися. Тому вивантажуйте з 1С повний обмін і завантажуйте обидва файли в один шаблон. Якщо структура каталогу у вас майже не міняється, файл товарів можна завантажувати рідше, а пропозиції — регулярно, щоб оновлювати ціни й наявність.

Що зробити в 1С перед вивантаженням

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

Як завантажити крок за кроком

Спочатку у 1С зробіть вивантаження обміну CommerceML — отримаєте файли товарів і пропозицій. Далі в Elbuz створіть шаблон, оберіть тип «CommerceML 2 (1С)» і вкажіть ці файли (або посилання). Оберіть, що завантажувати: категорії, товари, виробників. Запустіть — програма прочитає обмін і наповнить каталог. Перший запуск створює товари, наступні оновлюють наявні за ідентифікаторами 1С.

Радимо перший раз перевірити результат на кількох картках: чи правильні назви, чи підтяглися ціни й залишки, чи стали характеристики на місця. Переконались — далі обмін можна ставити на розклад.

Що потрапляє в каталог

Із обміну CommerceML у базовий каталог переносяться: групи товарів (стають деревом категорій), товари з назвою, артикулом, картинками й описом, характеристики й властивості 1С (перетворюються на атрибути товару), а також ціни та залишки з файлу пропозицій. Що саме брати, ви вмикаєте в шаблоні: можна, наприклад, оновлювати лише ціни й наявність, не чіпаючи структуру, яку ви вже впорядкували.

Важливо розуміти: імпорт не стирає ваш каталог і не замінює його файлом 1С цілком. Він оновлює й додає — наявні картки правляться за обміном, нові додаються, а те, чого в обміні немає, лишається як було. Тому ручні правки, які ви внесли поверх даних 1С (скажімо, вичищений опис чи дібрані категорії), не зникають при кожному завантаженні, якщо ви не ввімкнули їх перезапис у налаштуваннях шаблону.

Оновлення цін і залишків

Головна щоденна користь — тримати ціни й наявність такими самими, як у 1С. Коли шаблон налаштовано, поставте його на розклад: Elbuz забиратиме свіжий обмін і оновлюватиме дані. Кожен запуск лишає слід у журналі — скільки товарів оновлено, чи були помилки; туди варто зазирати перші кілька разів. Якщо 1С публікує обмін за розкладом на своєму боці, налаштуйте імпорт так, щоб він забирав файли вже після їх оновлення, а не до.

Окремо зверніть увагу на типи цін і склади. У 1С часто ведуть кілька типів цін — роздрібну, оптову, закупівельну — і залишки по кількох складах. У файлі пропозицій вивантажується те, що ви обрали при налаштуванні обміну на боці 1С. Тому переконайтесь заздалегідь, що вивантажується саме роздрібна ціна й залишки того складу, з якого ви продаєте, — інакше на сайт легко «приїде» оптова ціна або залишок не того складу, і це помітиться не одразу.

Часті труднощі

Найчастіша проблема — завантажили лише один файл. Якщо цін чи залишків немає, майже завжди бракує файлу пропозицій. Друга типова дрібниця — версія обміну й кодування: файли мають бути у стандарті CommerceML 2 і в кодуванні UTF-8. Ще одне: характеристики з 1С стають атрибутами в Elbuz, і якщо у вас уже є свій довідник атрибутів, варто звірити назви, щоб однакові властивості не задвоїлися.

Буває, що конфігурація 1С сильно перероблена й віддає нестандартний обмін — тоді готовий шаблон може не прочитати частину полів. У такому разі є два шляхи: попросити налаштувати вивантаження ближче до стандарту CommerceML 2 або завантажити файл універсальним імпортом, де відповідність полів ви задаєте вручну. Для типової ж 1С готового шаблону достатньо.

Налаштуйте у 1С публікацію обміну за постійною адресою й вкажіть у шаблоні посилання, а не завантаження файлів. Тоді ланцюжок «1С → Elbuz → сайт» працюватиме сам: змінили ціну в 1С — вона з'явиться в каталозі за розкладом.

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

Чому потрібні два файли, а не один?

Так влаштований обмін CommerceML: структуру й товари 1С кладе в один файл, а ціни й залишки — в інший. Elbuz зшиває їх за ідентифікаторами 1С, тому для повного каталогу з цінами потрібні обидва.

Завантажив, а цін немає — у чому річ?

Майже завжди бракує файлу пропозицій. Файл товарів дає назви й структуру, а ціни й залишки лежать у другому файлі. Вивантажте з 1С повний обмін і завантажте обидва файли.

Куди потрапляють характеристики з 1С?

Характеристики й властивості 1С стають атрибутами товару в Elbuz. Якщо у вас уже є довідник атрибутів, звірте назви, щоб однакові властивості не задвоїлися.

Чи можна оновлювати автоматично?

Так. Якщо 1С публікує обмін за посиланням, укажіть це посилання в шаблоні й поставте імпорт на розклад — ціни й залишки оновлюватимуться самі.

Elbuz читає будь-яку версію обміну 1С?

Шаблон розрахований на стандарт CommerceML 2, який підтримує більшість конфігурацій 1С. Якщо ваша вивантажує щось нестандартне, файл можна завантажити універсальним імпортом із ручною розміткою.

За чим програма впізнає товар при повторному завантаженні?

За ідентифікатором з обміну — артикулом чи внутрішнім кодом 1С. Тому важливо, щоб він був заповнений і не змінювався: тоді повторний обмін оновлює наявні картки, а не створює дублі.

Чи була стаття корисною?