Розмітка однакова для всіх форматів, різниться адреса: у таблиці це літера чи номер стовпця, в XML — імʼя тега, у JSON — номер колонки розгорнутої таблиці. Elbuz сам знаходить рядок заголовків Excel, роздільник CSV і теги YML-фіду.
Коли це знадобиться:
- Постачальник дає YML-фід — адреси підбираються автоматично, імена тегів вписувати не треба.
- XML із власними тегами — вписуєте їх руками, AI підказує структуру.
- У CSV замість заголовків незрозумілі символи — справа в кодуванні файлу, а не в розмітці.
- Прайс у BMEcat чи DATANORM — файл розмічається сам.
- Прайс у JSON — файл розгортається в таблицю, адреси задаються номерами колонок.
З чого почати: оберіть свій формат.
Який у вас формат
Логіка розмітки одна для всіх форматів, а от що саме писати в адресу — залежить від того, що надіслав постачальник.
- Книга ExcelАдреса — літера або номер стовпця; програма сама шукає рядок заголовків
- CSV, TXT або TSVАдреса — номер стовпця; окремо важать роздільник і кодування файлу
- XML або YMLАдреса — імʼя тега, атрибути в квадратних дужках; плюс чотири гілки структури фіду
- BMEcatРозмічати не треба: програма сама впізнає каталог і розкладає поля
- DATANORMРозмічати не треба; важливо, як надіслано файл цін і чи ввімкнено округлення
- JSONАвтопідбору немає зовсім: файл розгортається в таблицю, адреси задаються руками
Які розширення й архіви приймає програма і як вона впізнає фід із чужим розширенням — Які файли підходять.
Де це і хто має доступ
- Меню
- Довідники → Обробка прайс-листів → Список прайс-листів
- Адреси колонок
- картка джерела → секція «Колонки»
- Структура XML
- картка XML-джерела → секція «Структура XML»
- Роздільник CSV
- картка джерела → секція «Товари» → «Які дані завантажувати» → «Розділювач колонок»
- Право доступу
- вікно «Список прайс-листів» у «Правах груп»
Що писати в адресу для книги Excel
Адреса — літера стовпця або його номер. Колонки й приклади значень програма бере з превʼю аркуша, тому в майстрі ви бачите те саме, що й у файлі.
Рядок заголовків шукається як рядок із найбільшою кількістю збігів зі збереженими іменами колонок; якщо не знайшовся — беруть рядок перед першим рядком даних. Службовий рядок нумерації, який малює сам Excel, пропускається. Буває, що імʼя аркуша потрапляє в розмітку як «колонка», — такі рядки програма відкидає, звіряючи їх із назвами аркушів.
Ще одна тонкість, і вона рятує від хибного висновку. Приклади значень у майстрі підбираються за текстом заголовка, і лише якщо такого заголовка в рядку немає — за номером стовпця. Тобто в майстрі ви можете бачити правильні приклади навіть тоді, коли постачальник змістив стовпці.
Сама ж адреса — це літера або номер, і імпорт читає її буквально: переставив постачальник стовпці — адреси треба поправити. Помітити це програма допоможе: після вдалого завантаження вона запамʼятовує заголовки колонок, а наступного разу звіряє з ними новий файл. Як це виглядає — у сценарії «Постачальник вставив колонки на початок файлу».
Як розмітити CSV, TXT і TSV
Адреса — номер або літера стовпця; нумерація йде з одиниці по першому рядку файлу. Дві речі, які вирішують долю такого прайсу, лежать поза розміткою.
Перше — роздільник. Він береться з налаштувань джерела, а якщо не заданий, програма визначає його сама по перших пʼятнадцяти рядках. Табуляцію можна написати як \t. Друге — : якщо в прайсі не позначено, що файл у , вміст перекодовується з windows-1251. Коли в майстрі замість заголовків видно «Ð¦ÐµÐ½Ð°», річ саме в кодуванні, а не в розмітці.
Як розмітити XML і YML-фід
Спершу переконайтеся, що вам потрібен саме прайс-лист. XML-файл можна завантажити двома різними способами, і вони ведуть у різні місця. Прайс-лист — це асортимент постачальника: його ціни порівнюються з вашими, товари зіставляються з каталогом, зверху лягає націнка. Імпорт каталогу з XML/YML — це коли фід описує ваш власний асортимент і має лягти в картки напряму, без зіставлень і націнок.
Тут адреса — імʼя тега, а не літера. Атрибут вузла пишеться у квадратних дужках: [id], [available]. Автопідбір звіряє імена тегів зі словником точно, слово в слово. Вписувати таку адресу можна і в клітинці сітки полів картки, і в панелі «Налаштувати колонку» майстра — для XML-джерела перевірка формату там не застосовується.
Складена адреса у фіді працює інакше, ніж у таблиці. Кілька тегів через кому XML-фід склеює — і для ціни теж, тобто правило «береться перше непорожнє» тут не діє; для поля-ціни зі склеєного рядка потім лишаються самі цифри. Виняток той самий, що й у таблиці: значення тегів для «Кількість» додаються.
Склеюються теги так само, як колонки таблиці: впритул, а роздільник задається текстом у фігурних дужках. А от діапазон 7-9 і перелік через вертикальну риску 11|12 у фіді не працюють: адреса там — імʼя тега, дефіс трапляється в самих іменах (offer-name), а вертикальна риска в XPath уже означає обʼєднання вибірок.
Кілька відомих фідів розмічаються однаково, бо теги в них стандартні. Для (той самий формат, у якому віддають каталоги більшість майданчиків і ) адреси підбираються автоматично — вписувати імена тегів руками не потрібно.
Для Google Merchant теги свої, але теж фіксовані: g:id, title, g:price, g:availability, g:brand, g:mpn, link, g:image_link — їх вписують у поля-приймачі як звичайні адреси.
Якщо ж постачальник надіслав із власними назвами вузлів — а так буває частіше, ніж хочеться, — автопідбір не спрацює, і адреси доведеться проставити руками. Це нормальний робочий випадок, а не збій: подивіться сам файл, знайдіть тег товару й теги полів, впишіть їх імена.
Прикладів значень для XML у майстрі немає — замість них у рядках стоїть «—». Це не збій розбору: превʼю для фіда просто не будується, і орієнтуватися доводиться на самі імена тегів.
Крім колонок, для XML задаються чотири гілки структури — окрема секція «Структура XML» у картці: «тег товару», «тег категорії», «тег списку атрибутів», «тег списку фото». Автовизначення заповнює тільки порожні гілки, ваше вже задане не перезаписує. Головна з них — тег товару: без нього фід не розбереться взагалі, і заповнюють його практично завжди.
1
Поле «тег товару»2
Кнопка «Зіставити автоматично»3
Перемикач «Брати курс валют із файлу»- Поле «тег товару» задає назву XML-тегу, що відповідає товару у фіді постачальника.
- «Зіставити автоматично» пропонує AI зіставити теги фіду з полями системи.
- Перемикач «Брати курс валют із файлу» вмикає перерахунок цін за курсами з блоку currencies фіду.
Для XML у картці є ще й розбір структури фіда з AI: кнопка «Зіставити автоматично» в цій самій секції, під нею — «Знайдені теги» чипами, таблиця «Поле системи ← Тег» з кнопкою «Додати рядок», кнопка «Застосувати зіставлення» і фолд «Зразок вузла товару». Для цього блока немає.
Там-таки живе прапорець «Брати курс валют із файлу (тег currencies)». Підказка пояснює його дослівно: «Якщо ввімкнено, ціни перераховуються за курсами з блоку currencies файлу. Якщо вимкнено — використовуються курси, задані в колонках прайсу або в довіднику валют.»
Дві перевірки, які зупиняють імпорт у решти форматів, для XML не виконуються зовсім: фід піде в роботу і з порожньою розміткою, а повідомлення про незаповнені адреси ви не побачите. Тож для XML «імпорт запустився» ще не означає «розмітка правильна» — дивіться на кількість завантажених товарів і на самі товари.
Як завантажити каталог BMEcat
завантажується як звичайний прайс: файлом, за посиланням, поштою чи з FTP, також в архіві. Програма впізнає каталог за вмістом, а не за назвою, тож розширення може бути будь-яким із дозволених, наприклад .xml чи .txt. Елементи читаються однаково для всіх версій; перевірено на каталогах 1.01, 1.2 і 2005.
Новий прайс розмічається сам: тег товару й адреси колонок проставляються після першого завантаження за полями, які є в перших 50 товарах файла. Майстер підключення й нове джерело додатково проганяють файл через автоматичне зіставлення з AI, тому перевірте результат у секції «Колонки».
Повторне завантаження потрапляє в уже збережену розмітку, ваші правки не перезаписуються.
1
Адреси проставлені самі2
Превʼю файла- Адреси колонок програма проставила сама, руками нічого не вписано.
- Превʼю показує каталог уже в простому вигляді: у ньому ціна за одиницю, а не сирі елементи BMEcat.
| Поле Elbuz | Звідки береться |
|---|---|
| Артикул постачальника | артикул каталогу (SUPPLIER_AID або SUPPLIER_PID) |
| Артикул виробника | MANUFACTURER_AID або MANUFACTURER_PID |
| EAN | EAN або INTERNATIONAL_PID типу ean чи gtin; 14 цифр із нулем попереду стають EAN-13 |
| Назва й опис | короткий і довгий описи основною мовою каталогу |
| Виробник, одиниця | MANUFACTURER_NAME, одиниця замовлення ORDER_UNIT |
| Категорія | перша група каталогу, до якої прив'язаний товар |
| Фото | зображення з повною адресою; відносні шляхи — якщо в каталозі вказано адресу сайту (MIME_ROOT); мініатюри пропускаються |
Як рахується ціна
Ціна в прайсі — за одиницю замовлення: сума × множник ÷ кількість, за яку ця сума вказана. Наприклад, 81,04 з множником 0,8 дасть 64,832, а 500 за 100 штук дасть 5. Десяткова кома теж читається. Якщо ступенів кілька, береться ступінь із найменшою кількістю.
Якщо в товару кілька типів цін, береться перша наявна в такому порядку: договірна (net_customer), договірна експортна (net_customer_exp), прейскурантна без ПДВ (net_list), прейскурантна з ПДВ (gros_list), рекомендована (nrp). Рекомендована ціна прайсу — це nrp, а якщо її немає, gros_list, за умови що цей тип не пішов на основну ціну.
Перевірте валюту після першого завантаження. Її задає колонка «Валюта» в рядках «Ціна» й «Ціна РРЦ» секції «Колонки». Якщо там порожньо, числа читаються у валюті за замовчуванням: каталог в євро дасть ті самі числа в гривні. Майстер запускає імпорт сам, тож після виправлення валюти запустіть його ще раз, а вже потім застосовуйте ціни. Автоматичне зіставлення може скинути вже вибрану валюту, тому дивіться на неї після нього.
Запис із позначкою видалення (mode="delete") у прайс не потрапляє. Товар без суми, зокрема «ціна за запитом», завантажиться без ціни.
Каталог оновлення цін (T_UPDATE_PRICES) зазвичай дає лише артикул і ціну; у ньому немає кількості, за яку вказано суму, тому ціна «500 за 100 штук» прочитається як 500. Характеристики (FEATURE) не переносяться.
Обрізаний або пошкоджений каталог не завантажується частково: файл лишається як є, товари з нього не розберуться. Попросіть постачальника надіслати цілий файл.
Як завантажити прайс DATANORM
завантажується як звичайний прайс. Підтримуються версії 4 і 5, програма впізнає файл за вмістом, а розширення на кшталт .001 приймає. Новий прайс розмічається сам: розмічати колонки не потрібно, перевірте адреси у секції «Колонки».
1
Адреси проставлені самі2
Ціна за одиницю- Адреси колонок програма проставила сама, руками нічого не вписано.
- Превʼю показує вже перераховану ціну: 84,70 за 100 штук стало 0,847 за штуку.
| Що надіслав постачальник | Що зробити |
|---|---|
Файл DATANORM.001 із цінами в рядках артикулів | завантажити файл |
Архів ZIP із DATANORM.nnn, DATPREIS.nnn, .WRG, .RAB | завантажити архів: комплект збереться сам за одне завантаження, версії 4 і 5. Імена файлів мають бути стандартні: файл із іншим іменем у комплект не потрапить |
Окремі DATANORM.001 і DATPREIS.001, версія 5 | упакувати в один ZIP або підключити файл цін зв'язаним джерелом |
Окремі DATANORM.001 і DATPREIS.001, версія 4 | упакувати в один ZIP: окремо такий файл цін не приймається, бо в ньому немає одиниці ціни |
Ціни окремим файлом: зв'язане джерело для версії 5
- Завантажте
DATANORM.001в основне джерело й запустіть імпорт. - Кнопка «Додати» → «Прайс залишків до «…»», підтвердьте.
- Завантажте
DATPREIS.001у нове джерело й запустіть його імпорт.
Розмітка й галочки «Копіювати значення в основний прайс-лист» для ціни, РРЦ і статусу наявності ставляться самі, під час імпорту другого джерела пари шукаються за артикулом постачальника. Артикули, яких немає у файлі цін, стануть «немає в наявності». Валюту задайте і в другому джерелі. У його рядках назва дорівнює артикулу, це нормально. Під час кожного оновлення порядок той самий: спершу основне джерело, потім друге. Як працює такий прайс — прайс залишків. Якщо файли можна упакувати в ZIP, це простіше: одне завантаження замість трьох кроків.
Як рахується ціна
Береться перша наявна сума: нетто з файла цін, прейскурант із файла цін, ціна в рядку артикула, нижня цінова ступінь. Сума ділиться на одиницю ціни файла, зазвичай 1, 10, 100 або 1000 штук. Якщо є і нетто, і прейскурант, прейскурант іде в РРЦ. Валюту перевірте так само, як для BMEcat.
«Округляти вгору» псує дрібні ціни. Це налаштування діє й на DATANORM, а тут ціну часто вказують за 100 або 1000 штук: 84,70 за 100 штук дасть 0,847, а в ціні стане 1. Точна сума зберігається в колонці «Ціна з прайс-листа», але показується з двома знаками: 0,85. Налаштування діє на всі ціни програми, для окремого товару його не вимкнути. Якщо дрібний товар важливіший, вимкніть «Округляти вгору» й «Округляти вниз»: ціни округлюватимуться до двох знаків.
Що програма не враховує
- Версія 3 не завантажується: «DATANORM версії 3 не підтримується, прайс не завантажено. Попросіть у постачальника версію 4 або 5.»
- Знижка постачальника (Rabatt). Ціна завантажується без знижки, журнал імпорту скаже, у скількох артикулів вона є. Закупівельну ціну перевірте самі.
- Надбавка за мідь до ціни не додається, про це теж є рядок у журналі. У кабелю ціна без неї помітно нижча за підсумкову.
- Цінові ступені. Нижня ступінь береться, лише якщо інших сум немає; ціни за більші партії не переносяться.
- Назви й тексти обмежені форматом: два поля по 40 знаків, тому в постачальника назва може обриватися.
Обрізаний або пошкоджений файл не завантажується, попередній файл прайса лишається: «DATANORM: файл обрізаний або пошкоджений, прайс не завантажено. Завантажте файл у постачальника ще раз.» Під час завантаження файлом помилка видна одразу у вікні. За посиланням, поштою й із FTP імпорт іде на старому файлі, у журналі буде ця помилка й рядок «Працюють товари з попереднього файлу.», а прогон отримає статус помилки.
Пошкоджений або захищений паролем архів, а також архів понад 2 ГБ не завантажується: «Архів пошкоджений, захищений паролем або завеликий, файл не завантажено.» Якщо в прайсі немає мітки кінця, перевірити повноту неможливо: файл завантажиться, у журналі буде попередження з кількістю артикулів, звірте її з постачальником.
Як розмітити JSON
Формат підтримується, файл завантажується — але автопідбору для нього немає на жодному з трьох рівнів: ні під час розбору файлу, ні кнопкою, ні автоналаштуванням джерела. Розмітка тут повністю ручна.
Щоб було зрозуміло, що писати в адресу: програма розгортає JSON у таблицю. Вона бере масив товарів — за замовчуванням products, або той, що ви вкажете в полі «тег товару», — перший запис дає назви колонок, решта стають рядками, а вкладені структури розплющуються в окремі колонки. Адреса для JSON — це номер колонки в цій розгорнутій таблиці.
Якщо колонок багато, простіше попросити постачальника про XML або .
Сценарії
Постачальник дає YML-фід
Підключіть фід як звичайне джерело й запустіть імпорт. Що вийде: адреси тегів підберуться автоматично, лишається перевірити тег товару в секції «Структура XML» і кількість завантажених товарів.
Постачальник дає фід Google Merchant
Впишіть у поля-приймачі фіксовані теги Merchant — їх список у розділі про XML. Що вийде: фід читається так само, як YML, і розмітка не зміниться з наступним файлом.
Постачальник надсилає каталог BMEcat
Створіть джерело й завантажте файл. У секції «Колонки» перевірте адреси й виберіть валюту в рядках цін, потім запустіть імпорт. Що вийде: у прайсі буде ціна за одиницю замовлення; лишається звірити її на кількох товарах і перевірити кількість завантажених рядків.
Постачальник надсилає DATANORM.001 і DATPREIS.001
Упакуйте файли в один ZIP і завантажте як прайс. Що вийде: артикули й ціни стануть одним прайсом за одне завантаження, ціна за 100 штук перерахується на штуку. Перевірте журнал імпорту й налаштування округлення, якщо є товар дешевший за одиницю валюти.
XML із власними назвами вузлів
Відкрийте фолд «Зразок вузла товару», знайдіть тег товару й теги полів. Натисніть «Зіставити автоматично» в секції «Структура XML», а що AI не зіставив — допишіть у таблицю «Поле системи ← Тег». Що вийде: після «Застосувати зіставлення» фід розбереться за вашими тегами.
Що робити, коли фід не розібрався
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| «Не знайдено вузол товару (‹тег›) у XML» | У фіді немає вузла з таким імʼям: задана неправильно або порожня | Впишіть «тег товару» вручну в секції «Структура XML» — подивіться його у фолді «Зразок вузла товару» (про XML) |
| «Структуру визначено. AI не зіставив поля — задайте теги вручну нижче.» | Структуру фіда розібрано, але пар «поле — тег» AI не запропонував | Заповніть таблицю «Поле системи ← Тег» руками й натисніть «Застосувати зіставлення» (про XML) |
Часті запитання
У XML замість прикладів значень стоїть «—». Це помилка?
Ні. Для фіда превʼю значень не будується, і в рядках майстра стоїть прочерк. Орієнтуйтеся на імена тегів, а фрагмент фіда подивіться у фолді «Зразок вузла товару» в секції «Структура XML».
Для JSON автопідбір не працює. Що робити?
Розмічати руками. Програма розгортає JSON у таблицю: бере масив товарів (за замовчуванням products), перший запис дає назви колонок. Адреса — номер колонки в цій таблиці.
XML-фід імпортувався без помилки, а товарів немає. Чому?
Перевірки незаповнених адрес для XML не виконуються, тож фід піде в роботу й з порожньою розміткою. Перевірте тег товару і кількість завантажених товарів. Детальніше: розмітка XML.
У майстрі замість заголовків «Ð¦ÐµÐ½Ð°». Що не так?
Кодування: якщо в прайсі не позначено, що файл у UTF-8, вміст перекодовується з windows-1251. Детальніше: CSV, TXT, TSV.
Чи переносяться характеристики з BMEcat?
Ні, елементи FEATURE в прайс не потрапляють. Артикули, назва, опис, ціна, виробник, категорія й фото переносяться (каталог BMEcat).
Прайс DATANORM: чому ціна 1, а в постачальника 0,85?
Увімкнено «Округляти вгору» і ціну вказано за 100 або 1000 штук. Точна сума зберігається в колонці «Ціна з прайс-листа». Вимкніть округлення, тоді всі ціни матимуть два знаки (як рахується ціна).
XML описує мій власний асортимент, а не постачальника. Що обрати?
Не прайс-лист, а імпорт каталогу з XML/YML: фід ляже в картки напряму, без зіставлень і націнок.
Суміжні теми
- Якщо потрібна загальна картина розмітки — Розмітка колонок прайс-листа.
- Якщо в книзі Excel кілька аркушів — Багатоаркушевий Excel.
- Якщо треба склеїти теги чи колонки в одне поле — Адреса стовпця: як склеїти колонки.
