Elbuz збирає прайс-лист для клієнтів із колонок, які ви задали один раз: назва, ціна, наявність, атрибути або власна формула. Заголовки пишете ви, значення програма бере свіжими з каталогу.
Коли це знадобиться:
- Покупцю потрібен свій набір стовпців — колонки додаються з палітри полів, порядок задається стрілками.
- Готового поля немає — формула в колонці рахує РРЦ або звичайну ціну, склеює назву з артикулом, перераховує за курсом.
- Клієнт бачить «4123 USD» — правильна пара цінової колонки й колонки «Валюта» прибирає плутанину.
- Колонка вийшла порожньою — пробний прогін кнопкою «Перевірити» показує значення кожної колонки до відправки.
З чого почати: картка шаблону «Прайс-лист (XLSX, CSV)» → вкладка «Вибір полів» → «Додати поле до вивантаження».
Що вміють колонки прайс-листа
- Колонки з трьох джерел — поля каталогу, поля рядків прайсів і девʼять макросів: фото, категорії, атрибути, своя формула.
- Свій заголовок — клієнт бачить у першому рядку рівно те, що ви написали в «Назві поля».
- Охайні комірки — ціни заокруглені до двох знаків, перенесення рядків вирізані, порожнє значення — порожня комірка.
- Формула в колонці — значення, якого немає в жодному полі.
- Пробний прогін — показує результат на одному товарі й нічого не надсилає.
- Будь-яка кількість цін — ціни каталогу й ціни з прайсів постачальників поруч.
Де це і хто має доступ
- Меню
- Довідники → Операції → Вивантаження даних → олівець у рядку шаблону → «Вибір полів»
- Право доступу
- вікно «Вивантаження даних» — одне право на список, картку й «Перевірити»
- Підготувати
- шаблон «Прайс-лист (XLSX, CSV)» — як створити
Як додати колонки і заголовки
Колонки файла задаються на вкладці «Вибір полів». Сітка «Вибрані поля» — це і є майбутня таблиця клієнта: скільки рядків у сітці, стільки колонок у файлі.
З трьома винятками, про які нижче: макрос «Атрибути товару» і галочка «Виводити значення за контрагентами» розкладають один рядок сітки на багато стовпців, а режим «Вивантажувати лише товари з прайсів» викидає з файла всі поля базового каталогу.
Кнопка «Додати поле до вивантаження» відкриває палітру полів із рядком пошуку «Пошук поля...» (нічого не знайшлося — палітра пише «Нічого не знайдено»). Поля в палітрі згруповані за трьома джерелами:
- «Товари з базового каталогу» — усі колонки сітки товарів, разом з атрибутами, виведеними в сітку. Джерело цих полів — ваш ;
- «Товари з прайс-листів» — усі колонки сітки рядків прайсів постачальників;
- «Макро підстановки» — девʼять службових полів, яких у сітках немає.
1
Поле пошуку «Пошук поля...»2
Заголовок групи «Товари з базового каталогу»3
Заголовок групи «Макро підстановки»- Пошук швидко фільтрує довгий список полів за назвою.
- Група «Товари з базового каталогу» містить стандартні поля товару.
- Група «Макро підстановки» містить розрахункові поля та посилання.
Ось що дає кожен третьої групи:
| Поле в палітрі | Що буде в колонці |
|---|---|
| Посилання на фото товару | усі фото товару одним рядком через роздільник посилань |
| Посилання на відео товару | усі відео так само |
| Всі коди категорій де знаходиться товар | ID категорій через кому |
| Всі коди категорій для товару (повна ієрархія ID) | шлях ID від кореня дерева |
| Всі назви категорій де знаходиться товар | назви категорій через роздільник категорій |
| Назва категорії, рівень N | назва категорії потрібного рівня окремою колонкою |
| Атрибути товару | розкладається на окрему колонку по кожному атрибуту |
| Атрибути товару із прайсу | те саме по атрибутах із прайсів постачальників |
| Своя формула | заготовка під власний вираз. Додається не порожньою: у «Формулу» підставляється зразок CONCAT_WS(" ", "String1", "String2", "..."), і якщо його не переписати, у файл поїде рядок String1 String2 ... |
«Свою формулу» і «Назву категорії, рівень N» можна додавати скільки завгодно разів — програма щоразу заводить нове поле. Решту полів двічі не додати: повтор мовчки відхиляється, а в палітрі таке поле показане як уже додане.
Як назвати і впорядкувати колонки
Перший рядок файла — це колонка сітки «Назва поля», і більше нічого. Не назва поля з довідника, не системне імʼя: коли ви додаєте поле, у «Назву поля» підставляється назва з палітри, а далі ви правите її прямо в комірці.
Клієнт побачить рівно те, що там написано. Порожня «Назва поля» дає порожній заголовок у файлі, і саме так виходять таблиці зі стовпцем без підпису.
Решта колонок сітки керує тим, як стовпець виглядає:
- «Порядок» — місце колонки у файлі. Змінюється двома способами: стрілками в самому рядку і стрілками тулбара («Перемістити вибрану колонку вище» / «Перемістити вибрану колонку нижче»);
- «Ширина» — ширина стовпця в XLSX, за замовчуванням 15 знаків. У CSV не застосовується;
- «Джерело» — звідки поле, з кольоровою крапкою;
- «Формула» — вираз, який рахує значення комірки;
- «Сортування товарів» — номер цього поля в сортуванні файла;
- «Виводити значення за контрагентами» — розкладає одну колонку на стовпець по кожному постачальнику;
- «Вн. назва поля» — системне імʼя, тільки для читання.
1
Кнопка «Додати поле до розвантаження»2
Стрілки переміщення колонки3
Колонка «Назва поля»4
Колонка «Формула»5
Колонка «Порядок»- Кнопка «Додати поле до розвантаження» відкриває палітру доступних полів.
- Стрілки переміщують обране поле вище чи нижче у списку.
- «Назва поля» — підпис колонки, який побачить клієнт у файлі.
- «Формула» задає розрахункове значення поля, наприклад ціну з урахуванням РРЦ.
- «Порядок» визначає позицію колонки у вивантаженому файлі.
Кошик у рядку прибирає колонку, але спершу перепитує: «Видалити колонку з шаблону? Формулу та налаштування колонки буде втрачено.» Формулу після цього не відновити — якщо вона складна, скопіюйте текст перед видаленням.
Скільки колонок брати — вирішуєте ви, обмеження немає. Типовий прайс для клієнта — невелика таблиця на пʼять-вісім стовпців, а не вивантаження каталогу з усіма полями.
Що потрапляє в комірку
Значення поля проходить кілька перетворень, і знати про них варто, бо клієнт побачить саме результат.
- Порожнього місця не буває. Кожне поле обгортається так, що замість «немає значення» у файл іде порожня комірка, а не слово NULL.
- Ціни заокруглюються до двох знаків, числові поля — до цілого. Це стосується полів із типом «ціна» і «число» в довіднику полів: «Ціна», «Ціна собівартість», «Ціна РРЦ», «Стара ціна», «Ціна акція», «Ціна з прайс-листа». У XLSX будь-яка з цих колонок пишеться числом, а не текстом, — Excel одразу підсумовує її й сортує як число.
- З текстових полів вирізаються перенесення рядка й табуляція — саме тому довгий опис товару не розриває CSV на кілька рядків.
- Довгий текст в XLSX обрізається на 32 767 символах: це межа самого формату, не програми.
Колонка з формулою всі ці правила обходить: результат формули йде у файл таким, як його порахувала база, без заокруглення. Тому заокруглення пишіть усередині самої формули.
Як порахувати значення формулою
Формула потрібна, коли готового поля немає: віддати клієнту РРЦ, а якщо її немає — звичайну ціну; склеїти назву з артикулом; перерахувати ціну за курсом. Пишеться вона прямо в колонці «Формула» сітки полів, без квадратних дужок (у XML-шаблонах формулу беруть у [[ … ]] — тут ні).
Поля підставляються макросами виду {‹назва сітки›: ‹назва поля›}. Живий приклад із робочого шаблону — колонка з ціною:
IF({Товар БК: Ціна РРЦ} > 0, {Товар БК: Ціна РРЦ}, {Товар БК: Ціна})
Це читається як «якщо заповнена — бери її, інакше бери звичайну ціну». Так само працюють макроси до рядків прайсів ({Прайс: Ціна}) і до атрибутів товару — {Атрибут БК: Колір} виводить один атрибут окремим стовпцем.
Курс валюти підставляється макросом {CURRENCY_RATE_USD}; у нього є два синоніми — російськомовний {КУРС_ВАЛЮТЫ_USD} й український {КУРС_ВАЛЮТИ_USD}, усі три працюють однаково і в колонках-формулах, і в довільних значеннях. Курс береться з довідника валют заокругленим до двох знаків — для валют із дрібним курсом це помітно спотворює перерахунок.
Колонка виходить порожньою, а прогін іде далі. Кожна формула проходить перевірку безпеки, і та шукає в тексті службові слова SQL простим збігом підрядка, не розбираючи, де вони стоять.
Не пройшла перевірку — програма підставляє в цю колонку порожнє значення, решта файла формується як звичайно, а в журналі зʼявляється рядок із назвою колонки: «Формулу колонки «‹назва›» відхилено перевіркою безпеки — колонку вивантажено порожньою». Тобто пропажу видно, але тільки якщо відкрити журнал прогону.
Спотикаються на звичайних англійських словах усередині лапок: CONCAT("Updated: ", p.name) блокується через update, REPLACE(p.name, "Insert", "") — через insert, а CONCAT("Reunion ", p.name) — через union. Переписуйте такі формули без цих слів.
Перевірка стосується колонок із базового каталогу й макросів. У колонках із сітки «Товари з прайс-листів» формула йде в запит без неї: там таке слово колонку не обнулить, зате може зламати весь прогін.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Як подивитися, що вийде
Кнопка-колба «Перевірити» в шапці картки робить пробний прогін на одному товарі й показує результат парами «колонка = значення». Вона пише в окремий файл, нічого не надсилає й не чіпає робоче посилання — це єдиний безпечний спосіб побачити результат правки.
Прогін пройшов чисто — унизу зʼявиться «Помилок не знайдено: вивантаження сформовано коректно, усі макроси підставлено.» Для XLSX після ваших колонок може бути ще кілька сотень порожніх пар — це слід пробного режиму бібліотеки Excel, про який ідеться нижче.
1
Поле «ID товару»2
Підсумкове повідомлення перевірки3
Пари «колонка = значення»- Поле «ID товару» — можна лишити порожнім, тоді береться перший товар, що підходить під умови вивантаження.
- Підсумкове повідомлення перевірки — одразу видно, чи знайдено помилки в шаблоні.
- Пари «колонка = значення» — результат підстановки формул і макросів для конкретного товару.
Синтаксична помилка у формулі зупиняє весь файл. Забута кома в IF або незакрита дужка ламають не одну колонку, а весь запит до бази: файл не формується взагалі. У журналі зʼявляється червоний рядок «Помилка отримання товарів!», а картка операції позначається помилкою.
Підсумковим рядком журналу операції стане «Вивантаження даних НЕ завершено: файл не сформовано», а дата останнього прогону в списку не зміниться. Щоб не ловити таке на бойовому прогоні, проганяйте кожну правку формули кнопкою «Перевірити».
Які ціни й валюту віддати клієнту
Скільки цін віддати клієнтові — вирішуєте ви, обмеження немає: скільки цінових колонок додали, стільки й поїде. Із базового каталогу доступні «Ціна», «Ціна РРЦ», «Ціна собівартість», «Стара ціна», «Ціна акція» і «Валюта». Із рядків прайсів — ті самі плюс «Ціна з прайс-листа», «Ціна мінімальна», «Ціна середня», «Ціна максимальна», «Курс валюти», «Прибуток» і «Прибуток %».
Два поля з підписами, схожими на ціну, цінами не є. «Фіксована ціна» — це прапорець «ціну зафіксовано, не оновлювати з прайсу», і в файл він іде як 0 або 1. «Динаміка ціни» — відсоток зміни, і він заокруглюється до цілого. Обидва є тільки в базовому каталозі, у сітці рядків прайсів їх немає.
Націнки на етапі вивантаження немає жодної: у файл іде те значення, що лежить у полі. Якщо клієнтові потрібна інша ціна, її або рахують формулою в колонці, або задають раніше — правилами ціноутворення під час оновлення каталогу з прайсів.
Колонки «Ціна» і «Валюта», узяті з прайс-листа, описують різні речі. Ось справжній рядок постачальника з демо-акаунта: «Ціна з прайс-листа» — 92,00, «Валюта» — USD, «Курс валюти» — 41,55, «Ціна собівартість» — 3 823,00, «Ціна» — 4 123,00.
Тобто в полі «Ціна» вже гривні (перераховані за курсом і з націнкою), а в полі «Валюта» досі стоїть валюта постачальника. Поставите ці дві колонки поруч — клієнт побачить «4123 USD».
Правильна пара з колонкою «Валюта» — тільки «Ціна з прайс-листа»: це і є ціна у валюті постачальника. Програма про таке не попереджає й нічого не перевіряє, ловиться це тільки очима у файлі.
У полів базового каталогу цієї пастки немає: у вивантаженні «Валюта» товару завжди замінюється кодом основної валюти акаунта, тому вона завжди відповідає ціні поруч.
Галочка «Вивантажувати хв. ціну на однакові товари у межах контрагента» рахує чесно: вона порівнює собівартість, а собівартість уже приведена до валюти акаунта, тобто складання різних валют тут не відбувається.
Десятковий роздільник у цінах завжди крапка — від сервера й від його налаштувань він не залежить. Якщо клієнтові потрібна кома, її доведеться зробити на його боці: у налаштуваннях імпорту або регіональних параметрах Excel.
Сценарії
Віддати клієнту РРЦ, а без неї — звичайну ціну
- Що налаштувати: колонку «Своя формула» з виразом
IF({Товар БК: Ціна РРЦ} > 0, {Товар БК: Ціна РРЦ}, {Товар БК: Ціна})і заголовком, який зрозуміє клієнт. - Що вийде: у товарів із заповненою РРЦ у колонці буде РРЦ, у решти — звичайна ціна. Заокруглення допишіть у формулу: результат формули йде у файл без нього.
Клієнту потрібна ціна у валюті постачальника
- Що налаштувати: з рядків прайсу — «Ціна з прайс-листа» і поруч «Валюта».
- Що вийде: сума і код валюти описують одне й те саме. Пару «Ціна» + «Валюта» з прайсу не ставте: ціна там уже у вашій валюті (чому).
Клієнту потрібна інша ціна, ніж на сайті
- Що налаштувати: формулу в цінову колонку або правила ціноутворення під час оновлення каталогу.
- Що вийде: у файл іде пораховане значення. Окремої націнки на етапі вивантаження немає.
Що робити, коли колонка у файлі не та
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| «Помилка отримання товарів!» — червоним рядком у журналі прогону | Зламався запит вибірки — практично завжди це синтаксична помилка у «Формулі» однієї з колонок. Порожня «Формула» прогону не зупиняє: така колонка просто виходить порожньою | Натисніть «Перевірити» в шапці картки — там буде текст помилки. Файл не сформовано: підсумковий рядок журналу — «Вивантаження даних НЕ завершено: файл не сформовано», картка операції позначена помилкою, за посиланням лишається попередній файл (про формулу) |
| «Одну з формул [[ ... ]] у шаблоні складено з помилкою. Перевірте коми між аргументами IF, парність дужок і лапок.» | Пробний прогін знайшов синтаксичну помилку. Згадка про [[ ]] до прайс-листа не стосується: тут формули пишуть без дужок |
Перевірте коми між аргументами IF та парність дужок і лапок у колонці «Формула» |
| «Формулу колонки «‹назва›» відхилено перевіркою безпеки — колонку вивантажено порожньою» | У формулі трапився заборонений підрядок — select, update, insert, union — і перевірка безпеки обнулила саме цю колонку |
Перепишіть формулу без цих слів, навіть якщо вони стоять усередині лапок (про формулу) |
| «Файл не сформовано. Спочатку виправте помилку вище — доки вона є, товари у вивантаження не потрапляють.» | Пробний прогін не дійшов до формування файла через помилку вище | Усуньте помилку, названу рядком вище у вікні перевірки |
| У файлі стовпець без заголовка | У цієї колонки порожня «Назва поля» — саме звідти береться перший рядок | Впишіть заголовок прямо в комірку «Назва поля» (про заголовки) |
| Ціна у файлі є, а валюта поруч чужа | Колонки «Ціна» і «Валюта» з прайс-листа описують різне: ціна вже перерахована у вашу валюту, а код валюти лишився постачальника | Поруч із «Валютою» ставте колонку «Ціна з прайс-листа» або не беріть «Валюту» з прайсу (про ціну й валюту) |
| «Видалити колонку з шаблону? Формулу та налаштування колонки буде втрачено.» | Підтвердження видалення колонки | Формулу після видалення не відновити — скопіюйте її текст, якщо він складний |
Часті запитання
Колонка у файлі порожня, хоча формула написана. Чому?
Формула не пройшла перевірку безпеки: у тексті є update, insert, union чи select — навіть усередині лапок. Прогін іде далі, а журнал називає колонку. Перепишіть формулу без цих слів (про формулу).
Скільки цін можна віддати клієнту в одному файлі?
Скільки завгодно: скільки цінових колонок додали, стільки й поїде. «Фіксована ціна» ціною не є — це прапорець, у файлі він буде 0 або 1 (про ціни).
Чи можна вставити у прайс самі фотографії товарів?
Ні. Колонкою «Посилання на фото товару» виводяться посилання на фото, самих картинок у файлі не буде. Галочка «Вивантажувати фото» відповідає за заливку файлів фото на FTP, і в хмарній версії її немає.
Як змінити десятковий роздільник у цінах на кому?
У шаблоні — ніяк: у цінах завжди крапка. Кому клієнт задає у своєму імпорті або в регіональних параметрах Excel.
Чому одне поле не вдається додати в шаблон вдруге?
Повтор поля мовчки відхиляється, а в палітрі воно показане як уже додане. Двічі і більше додаються тільки «Своя формула» і «Назва категорії, рівень N».
Суміжні теми
- Якщо потрібна загальна картина — від створення шаблону до першого файла — Прайс-лист для клієнтів.
- Якщо поруч з вашою ціною потрібні ціни постачальників — Зведений прайс із цінами постачальників.
- Якщо колонки готові і файл треба доставити клієнту — Як надсилати прайс-лист клієнтам.
- Якщо ціна для клієнта має рахуватися правилами, а не формулою, — Правила ціноутворення.

