Elbuz кладе у файл ціну й опис такими, як вони лежать у базовому каталозі, а шаблон вирішує, яке поле піде ціною, і вміє порахувати формулу чи зібрати опис із характеристик.
Коли це знадобиться:
- Майданчику потрібна РРЦ, а клієнту — звичайна ціна — кожен шаблон бере своє цінове поле або формулу «РРЦ, якщо заповнена».
- У файлі ціна 0 — вивантаження нічого не досчитує, тож нуль означає порожнє поле в картці товару.
- Характеристики заповнені, а опису немає — генератор збере опис з атрибутів тільки у вивантаження, картка не зміниться.
З чого почати: картка шаблону → тег ціни в XML-шаблоні або колонка «Формула» в прайс-листі.
Що вміє шаблон з ціною й описом
- Поле ціни — будь-яке цінове поле каталогу: «Ціна», «Ціна РРЦ», «Стара ціна», «Ціна акція».
- Формула й курс — «РРЦ, якщо заповнена», перерахунок за курсом прямо в шаблоні.
- Генератор описів — опис із характеристик товару, тільки у вивантаженні.
Де це і хто має доступ
- Меню
- Довідники → Операції → Вивантаження даних → картка шаблону
- Інші входи
- секція «Додатково» картки шаблону → «Генератор описів»
- Право доступу
- вікно «Детальне налаштування шаблону вивантаження»
- Підготувати
- ціни й характеристики товарів у базовому каталозі
Ціна у вивантаженні
Націнки на етапі вивантаження немає. У жодному з форматів немає ні відсотка, ні коефіцієнта, ні правил: у файл іде значення поля рівно таким, як воно лежить у базовому каталозі. Націнка застосовується раніше, коли каталог оновлюється з прайсів постачальників, — це правила ціноутворення для прайс-листа.
Що з ціною можна зробити тут:
- Вибрати, яке поле є ціною. У шаблоні доступні всі цінові поля товару: «Ціна», «Ціна РРЦ», «Ціна собівартість», «Стара ціна», «Ціна акція», а поруч із ними «Валюта», «Фіксована ціна» і «Динаміка ціни». Для оптового прайса зазвичай беруть одне поле, для маркетплейса — інше. У XML-шаблоні звичайна ціна з картки — це підстановка
{price}, вона й стоїть у шаблоні за замовчуванням. Будь-яке інше цінове поле ставиться макросом з його назвою:{Товар БК: Ціна РРЦ},{Товар БК: Ціна акція},{Товар БК: Стара ціна}. - Написати формулу. У XML-шаблоні формула береться у подвійні квадратні дужки:
[[IF({Товар БК: Ціна РРЦ}>0, {Товар БК: Ціна РРЦ}, {Товар БК: Ціна})]]— «якщо заповнена, бери її, інакше звичайну ціну». У прайс-листі XLSX/CSV те саме робить колонка «Формула» у списку обраних полів. - Перерахувати за курсом.
{CURRENCY_RATE_USD}підставляє поточний курс із довідника валют — і в шапку шаблону, і всередину формули. Курс підставляється заокругленим до двох знаків: для валют із дрібним курсом (гривня до долара, тенге) це помітно спотворює перерахунок.
Числа заокруглюються самі: поля з типом «ціна» — до двох знаків, числові поля — до чотирьох, вага — до двох. На результат формули це не поширюється: він іде у файл таким, як його порахувала база, тому заокруглення пишіть усередині самої формули.
Код валюти у файл завжди йде один — основної валюти акаунта. Ціни в каталозі зберігаються в ній же, тому «складання різних валют» у вивантаженні статися не може.
Помилка у формулі поводиться по-різному, і другий випадок небезпечніший. Якщо формула не пройшла перевірку на безпеку, прогін іде далі, а обчислювані поля у файлі виходять порожніми.
Якщо ж у формулі синтаксична помилка — забули кому в IF, не закрили дужку, — ламається весь запит до бази: файл не формується взагалі, на посиланні лишається минулий файл, журнал закінчується рядком «Вивантаження даних НЕ завершено: файл не сформовано», а дата вивантаження в списку лишається старою.
Майданчик, який забирає файл сам за розкладом, при цьому й далі отримує минулий файл — для нього це виглядає як «ціни не змінювалися». Тому будь-яку правку формули проганяйте кнопкою «Перевірити»: там видно і текст помилки, і фрагмент файла.
Генератор описів: таблиця характеристик замість ручної роботи
Кнопка «Генератор описів» у секції «Додатково» вирішує окрему задачу: зібрати опис товару з його атрибутів і віддати у вивантаження вже готовим. Зручно, коли характеристики в каталозі заповнені, а повного опису в товарів немає — писати руками тисячу карток ніхто не буде.
У вікні два прапорці й поле шаблону. «Генератор увімкнено» вмикає роботу, «Фільтр: порожній опис» звужує її до товарів, у яких повний опис порожній, — тобто не чіпає те, що ви вже написали. Саме поле шаблону — це HTML із підстановками, з підсвіткою й підказкою по полях каталогу.
Опис збирається тільки у вивантаження: у картці товару поле «Повний опис» лишається таким, як було. Прибрали прапорець — наступний прогін піде зі старим описом, нічого відновлювати не треба.
Крім самих атрибутів, у шаблон вставляють поля товару:
| Підстановка | Що підставляє |
|---|---|
{{ product_head.name }} | Назву товару |
{{ product_head.mpn }} | Артикул виробника |
{{ product_head.ean }} | Штрихкод EAN |
{{ product_head.description_short|raw }} | Короткий опис |
{{ product_head.description_full|raw }} | Повний опис із картки |
{{ product_head.tag }} | Мітки товару |
Приписка |raw потрібна там, де значення саме містить HTML: без неї теги приїдуть у файл текстом.
Редактор шаблона вміє підказувати назви полів каталогу у фігурних дужках — {Товар: Назва} і подібні. У генераторі описів вони не працюють: він розуміє тільки підстановки з таблиці вище та самі атрибути. Вставите таку підказку — вона так і залишиться в описі текстом. Макроси у фігурних дужках працюють в інших місцях програми, наприклад у шаблоні XML-фіда.
Якщо для товару згенерована посадкова сторінка, її код вставляється в опис конструкцією {% if product_head.landing_url %}{{ product_head.landing_embed|raw }}{% endif %}. Набирати руками не треба: у самому вікні генератора ця конструкція лежить готовою, поруч кнопка «Скопіювати конструкцію».
Умова всередині не випадкова — код підставиться лише тим товарам, у яких посадкова справді є, і саме мовою вивантаження.
Генератор бере не кожен атрибут товару. Рядок зʼявиться лише тоді, коли виконані всі умови:
- значення атрибута непорожнє;
- у довіднику атрибутів увімкнена «Активність» і «Відображати на сайті у картці товару»;
- сам атрибут не є опцією товару.
Тому характеристики, заведені як опції — розмір, колір, — у згенерований опис не потраплять принципово: вони описують варіант, а не товар.
Сценарії
Оптовий клієнт хоче прайс на пошту, з РРЦ там, де вона є
Що налаштувати: «Додати» → «Файл прайс-листа» → «Прайс-лист (XLSX, CSV)». Для колонки ціни в колонці «Формула» напишіть умову: якщо «Ціна РРЦ» більша за нуль — вона, інакше «Ціна». Заповніть «Шаблон розсилки».
Що вийде: після кожного прогону файл піде вкладенням у лист за цим шаблоном розсилки, у журналі зʼявиться рядок «Розсилка листів ел. поштою». Чого не станеться: націнки не буде — лише те, що дає формула. Категорія без назви мовою вивантаження вирізає з цього прайса всі свої товари, хоча у фідах така категорія просто їде без назви.
Характеристики заповнені, а повного опису в товарів немає
Що налаштувати: у секції «Додатково» картки шаблону відкрийте «Генератор описів», поставте «Генератор увімкнено» і «Фільтр: порожній опис», у полі шаблону розставте атрибути й підстановки.
Що вийде: товари з порожнім повним описом поїдуть у файл з описом, зібраним із характеристик. Описи, які ви написали самі, не зміняться. Чого не станеться: у картці товару поле «Повний опис» лишиться порожнім, а характеристики-опції в опис не потраплять.
Майданчику потрібна стара ціна, щоб показати знижку
Що налаштувати: у XML-шаблоні в тег старої ціни, якого вимагає майданчик, поставте макрос {Товар БК: Стара ціна}.
Що вийде: у файл піде значення поля «Стара ціна» з каталогу, заокруглене до двох знаків. Чого не станеться: товар із порожнім полем отримає порожній тег — вивантаження нічого не досчитує.
Що робити, коли у файлі не та ціна
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| «Макроси не розпізнано, і вони будуть вирізані з файлу: ‹список›» | У шаблоні макрос із помилкою в назві поля | У редакторі шаблону натисніть Ctrl+Space й оберіть поле зі списку |
| У файлі ціна (наприклад, у тегу price_prom) — 0 або порожня | Вивантаження нічого не досчитує: у полі, на яке посилається тег шаблону, в картці товару справді лежить 0 або порожньо | Відкрити шаблон і подивитися, яке поле стоїть у тегу ціни; перевірити це поле в картці товару; якщо поле заповнює формула каталогу — спершу застосувати її (ціна у вивантаженні) |
Часті запитання
Чи додає вивантаження націнку до ціни?
Ні. У файл іде значення поля рівно таким, як воно лежить у базовому каталозі. Іншу ціну задають або формулою в шаблоні, або раніше — правилами ціноутворення при оновленні каталогу з прайсів постачальників.
Чи можна в шаблоні вивантаження писати {Товар БК: …}?
Так. У XML-шаблоні це звичайний спосіб звернутися до будь-якого поля базового каталогу, зокрема до власних полів: {Товар БК: Ціна РРЦ}, {Товар БК: ‹назва вашого поля›}. Макрос працює і в тексті шаблону, і всередині формули в подвійних квадратних дужках.
Пише «Макроси не розпізнано» або в додатковому полі у вивантаженні 0. Що не так?
Назва після двокрапки в {Товар БК: Назва поля} має збігатися з назвою колонки в сітці товарів символ у символ. Не друкуйте її руками: у редакторі шаблону натисніть Ctrl+Space й оберіть поле. Якщо макрос розпізнано, а у файлі 0, — порожнє саме поле в товарі.
Чому у вивантаженні за шаблоном ціна (наприклад, price_prom) приходить нулем?
У полі, на яке посилається тег ціни, у картці товару справді лежить 0 або порожньо. Подивіться в шаблоні, яке поле стоїть у тегу, і перевірте його в картці товару. Якщо поле заповнює формула каталогу, спершу застосуйте її (формули для полів каталогу).
Чому в згенерованому описі немає розміру й кольору?
Генератор пропускає атрибути, заведені як опції товару, а також ті, у яких у довіднику вимкнено «Активність» чи «Відображати на сайті у картці товару» (генератор описів).
Суміжні теми
- Якщо потрібна загальна картина вивантаження — Як налаштувати вивантаження товарів.
- Якщо неправильна сама ціна в каталозі — Правила ціноутворення: там рахується націнка.
- Якщо поле товару заповнює формула — Формули для полів каталогу.
- Якщо пишете XML-шаблон фіда — Вивантаження у форматі YML (XML).

