Під час кожного завантаження Elbuz сам проводить товари прайсу через ланцюжок операцій: розкладає по категоріях, відкидає зайве, чистить назви, шукає бренд, зіставляє з каталогом і рахує ціну. Новий прайс отримує операції вже в правильному порядку.
Коли це знадобиться:
- Правило націнки чи ігнорування мовчки не спрацювало — причина часто в тому, що операція стоїть раніше за ту, яка готує їй дані.
- Кількість рахується формулою — формули переставляють вище за визначення наявності.
- Постачальник змішує латиницю й кирилицю — додана чистка гомогліфів виправляє літери до зіставлення.
- Один порядок потрібен усім прайсам — кнопка «Встановити для всіх» переносить його.
З чого почати: картка джерела → «Додатково» → «Порядок застосування операцій».
Розмова з підтримкою — замість читати: навіщо це потрібно, що налаштувати і що ви отримаєте.
Що вміє вікно операцій
- Дати новому прайсу типовий порядок — дванадцять операцій уже розставлені так, як їх належить виконувати.
- Пояснити кожну операцію — що робить, де налаштовується, що буде без неї.
- Переставити операцію — перетягуванням мишкою, коли ваша логіка обробки інша.
- Додати або прибрати операцію — «увімкнено» тут означає «є в списку».
- Налаштувати пошук виробника — єдиний параметр вікна, мінімальна довжина слова.
- Перенести порядок на всі прайси — кнопкою «Встановити для всіх».
Порядок за замовчуванням уже правильний. У переважній більшості випадків до цього списку не треба торкатися взагалі. Порядок міняють не «про всяк випадок», а під конкретну задачу, коли логіка вашої обробки вимагає іншого.
Де це і хто має доступ
Пункту меню в цього вікна немає: воно відкривається з картки прайсу або зі списку прайс-листів і налаштовує той прайс, з якого його відкрили.
- З картки джерела
- секція «Додатково» → кнопка «Порядок застосування операцій»
- Зі списку прайс-листів
- бургер у шапці → група «Правила обробки» → «Порядок застосування операцій»
- Право доступу
- вікно «Порядок застосування операцій» у правах групи
- Підготувати
- заведене джерело прайсу
1
Кнопка «Порядок застосування операцій»- Кнопка «Порядок застосування операцій» відкриває список операцій саме цього джерела.
Спільного списку операцій на всі прайси не існує, у кожного джерела він свій.
1
Група «Правила обробки»2
Пункт «Порядок застосування операцій»- Група «Правила обробки» містить вікна правил обробки прайсу.
- Пункт «Порядок застосування операцій» — другий спосіб потрапити в те саме вікно.
Під кнопками йде рядок-підказка: «Список застосовуваних операцій: Для зміни порядку застосування операції перетягніть її мишкою вгору або вниз.»
Нижче вікно поділене надвоє. Ліворуч — самі операції, які виконуються для цього прайсу, зверху вниз у порядку виконання.
Праворуч — «Довідка з операції»: виберіть рядок ліворуч, і тут з’явиться опис обраної операції. Поки нічого не обрано, панель показує «Виберіть операцію в списку ліворуч — тут з’явиться її опис і параметри.»
1
Список операцій2
Довідка з операції3
Додати операцію4
Встановити для всіх5
Видалити6
Підказка про перетягування- Список операцій відображається зверху вниз у порядку виконання — рядки перетягуються мишкою.
- Панель справа показує опис вибраної операції.
- Кнопка «Додати операцію» відкриває перелік операцій, яких ще немає в списку.
- Кнопка «Встановити для всіх» — єдина дія цього вікна, що виходить за межі поточного прайсу.
- Кнопка-іконка «Видалити» прибирає операцію зі списку — це і є «вимкнути».
- Підказка нагадує: для зміни порядку перетягніть операцію мишкою вгору або вниз.
У шапці — кнопка «Додати операцію» (меню з тих операцій, яких у цьому прайсі ще немає), кнопка «Встановити для всіх» і кнопка-іконка «Видалити», яка прибирає виділену операцію зі списку. Праворуч від них — іконка «Довідка»: вона відкриває цю статтю.
1
Перелік операцій, яких ще немає в прайсі2
Чистка гомогліфів (lat ↔ cyr)- У переліку — лише ті операції, яких у цьому прайсі ще немає.
- Пункт «Чистка гомогліфів» — операція, яку найчастіше додають вручну.
У цьому вікні «увімкнено» означає «є в списку». Перемикача «увімк./вимк.» тут немає й не передбачено: щоб операція виконувалася — додайте її, щоб не виконувалася — видаліть. Видалення зі списку не чіпає ваші правила: список ігнорування, формули, види націнок лишаються на місці, просто ніхто їх не застосує під час завантаження.
Чому правило мовчки не спрацювало: порядок операцій
Операції — це конвеєр. Товари прайсу проходять його від початку до кінця один раз за завантаження, і кожен крок бачить результат попередніх кроків, але не наступних. Операції виконуються строго одна за одною, у тому порядку, який ви бачите у вікні «Порядок застосування операцій».
Правило ігнорування «не брати розділ Автохімія» не спрацює, якщо видалення за списком ігнорування стоїть раніше за визначення категорій: категорій ще немає, відбирати нема за чим.
Тому неправильний порядок виглядає не як помилка, а як «нічого не сталося». Скажімо, правило націнки прив’язане до виробника. Виробника проставляє операція «Пошук виробника товару». Якщо переоцінка стоїть вище за неї, у товарів на цей момент поле «Виробник» іще порожнє, умова правила не виконується, націнка не застосовується.
Програма не скаржиться: правило коректне, операція виконана, просто під неї не підпав жоден товар.
Шукати причину в самому правилі, коли справа в порядку. Якщо правило націнки, ігнорування чи заміни налаштоване правильно, але не спрацювало на жодному товарі — подивіться, чи стоїть у списку операцій вище та операція, яка заповнює поле, за яким правило відбирає товари.
Перелік того, що відпрацювало, пишеться в журнал прогону імпорту, але на рівні «debug» — за замовчуванням такі записи в журналі приховані, і щоб побачити операції, треба ввімкнути показ цього рівня у фільтрі журналу.
Чому ручна правка зникає після завантаження
Під час завантаження товари з файлу лягають не одразу в каталог, а в тимчасову копію — чернетку цього прайсу. Увесь ланцюжок операцій працює саме над нею.
Тільки після того, як конвеєр відпрацював, стоп-правила прайсу вирішують, переносити результат далі чи ні: якщо стоп-правило заблокувало прогін, чернетка відкидається разом з усім, що встигли зробити операції, а каталог лишається таким, яким був.
Через це перестановку операцій можна пробувати: невдалий порядок псує результат конкретного завантаження, а не ваш каталог назавжди. Перевіряти зміну треба саме прогоном — просто запустіть завантаження цього прайсу ще раз і подивіться на товари.
Ручні правки в товарах прайсу наступного завантаження не переживають. Якщо ви виправили назву, ціну чи іншу клітинку прямо в сітці товарів прайсу, правка записується в поточний список товарів цього прайсу.
Наступне завантаження видаляє всі товари прайсу, складає список заново з файлу й проганяє його через операції. Виправлене руками значення буде замінене тим, що прийшло у файлі й вийшло після операцій.
Попередній список разом із вашими правками лишається тільки тоді, коли нове завантаження його не замінило:
- якщо стоп-правило прайсу заблокувало прогін;
- якщо з файлу не вдалося отримати жодного товару: у журналі тоді з’являється «Дані не отримані, буде відображено попередній список товарів»;
- якщо в картці прайсу ввімкнено «Обробляти прайс, лише якщо змінилася інформація у файлі», а файл не змінився: під час завантаження всіх прайсів або за розкладом прайс пропускається з повідомленням «Дані в прайс-листі не змінилися, пропускаємо завантаження».
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Щоб значення трималося постійно, задайте його правилом, а не правкою клітинки: у вікнах «Правила заміни тексту», «Регулярні вирази» або «Формули для полів». Правила застосовуються операціями під час кожного завантаження, тож результат відтворюється щоразу.
Окремо від списку товарів зберігається тільки ручне зіставлення — зв’язок товару прайсу з карткою каталогу, який ви поставили руками. Під час завантаження його відновлює вид зіставлення «Пошук вручну зіставлених товарів» усередині операції «Зіставлення товарів з прайс-листа з товарами базового каталогу», якщо цей вид увімкнений у прайсі.
Якщо зняти в сітці товарів прайсу прапорець знайденого товару, ручне зіставлення видаляється, і наступне завантаження його вже не відновить.
Типовий порядок
Усього в програмі чотирнадцять операцій. Новий прайс отримує дванадцять із них — саме в такому порядку:
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
| № | Операція | Що після неї з’являється в даних |
|---|---|---|
| 1 | Визначення категорій товарів | категорія постачальника й повний шлях до неї |
| 2 | Видалення товарів, що знаходяться в списку ігнорування | зайві позиції зникають із прайсу |
| 3 | Розподіл товарів за категоріями базового каталогу | категорія вашого каталогу |
| 4 | Застосування правил автозаміни тексту | вичищені найменування та інші текстові поля |
| 5 | Пошук виробника товару | заповнене поле «Виробник» |
| 6 | Автозаміна значень у товарів на підставі регулярних виразів | значення, витягнуті або перероблені за шаблоном |
| 7 | Створення основних товарів для товарів-опцій | нові батьківські товари та зв’язок «товар — опція» |
| 8 | Визначення наявності товару | статус наявності замість «залишків» із файлу |
| 9 | Зіставлення товарів з прайс-листа з товарами базового каталогу | зв’язок рядка прайсу з карткою каталогу |
| 10 | Переоцінка товару | ціна продажу й збережена закупівельна ціна |
| 11 | Застосування формул для полів | обчислені значення полів |
| 12 | Збереження значень із полів в атрибути | характеристики товару з колонок файлу |
Дві операції в цей набір не входять. «Чистка гомогліфів» додається вручну тим, кому вона потрібна. «Зіставлення товарів із пов’язаного прайсу з товарами основного прайсу» додається автоматично прайсу залишків, коли ви його створюєте, і в звичайному прайсі не потрібна.
Що робить кожна операція
Порядок опису — порядок довідника операцій: дванадцять типових і дві, що додаються окремо, на своїх місцях. Для кожної операції: що вона робить, де налаштовуються її правила, що станеться, якщо прибрати її зі списку, і від чого залежить її місце.
Визначення категорій товарів
Розбирає категорії постачальника: збирає їх зі стовпця файлу або з розділів вивантаження, вибудовує в дерево й кожному товару проставляє його категорію разом із повним шляхом до неї.
Для файлів XML та джерел за програмним інтерфейсом працює окрема гілка, яка вміє будувати ієрархію автоматично; для решти форматів категорії визначаються за обраним видом структури прайсу, а для книги Excel — окремо по кожному аркушу, якщо прайс так налаштований.
Один із видів структури розрахований на випадок, коли постачальник категорій не передав узагалі: тоді категорія визначається за ключовими словами в назві товару.
Де налаштовується: вікно «Визначення категорій», там же обирається вид структури категорій у файлі.
Місце в списку: перше. Категорія постачальника — вхідні дані для правил ігнорування, правил розподілу, частини правил націнки та видів зіставлення з умовою «за категорією». Опустіть цю операцію нижче — усі вони працюватимуть по порожній категорії.
Якщо її немає в списку: категорії з файлу не розгортаються, товари приходять без категорії. Ламається все, що категорію читає: правила ігнорування, правила розподілу, націнка за категорією, зіставлення з умовою «за категорією».
А якщо в картці прайсу знято прапорець «Відображати товари в Кошику, які не розподілені за категоріями БК», такі товари наприкінці завантаження ще й видаляються — і від прайсу не лишиться нічого.
Видалення товарів, що знаходяться в списку ігнорування
Викидає з прайсу те, чим ви не торгуєте: окремі товари, цілі категорії постачальника, позиції за текстом у полі. Виконується в три проходи — спочатку правила, спільні для всіх прайсів, потім правила окремих аркушів Excel, потім правила цього прайсу.
Кількість видалених пишеться в журнал завантаження та в історію прогонів. Якщо в прайсі ввімкнено ведення журналу ігнорування, кожне видалення записується окремо, а попередній запис перед прогоном чиститься.
Де налаштовується: вікно «Правила ігнорування».
Місце в списку: після визначення категорій, бо правила вміють відбирати товари за категорією постачальника. Підніміть операцію вище — такі правила перестануть спрацьовувати. Опустите нижче — сміття встигне пройти через заміни тексту, пошук виробника й переоцінку, тобто програма зробить зайву роботу, хоча видалиться воно однаково.
Якщо її немає в списку: усі позиції постачальника доїдуть до каталогу, включно з розділами, якими ви не торгуєте. Список ігнорування при цьому лишається налаштованим — просто ніхто його не застосує.
Чистка гомогліфів (схожих літер lat ↔ cyr) у найменуванні, артикулі та виробнику
У прайсах постачальників літери А, В, С, Е, О, Р часто набрані то латиницею, то кирилицею. На око різниці немає, для програми це різні символи: артикул «EBS-501Р» з кириличною «Р» не збіжиться з таким самим артикулом латиницею, і товар задвоїться в каталозі. Операція виправляє такі підміни в найменуванні, артикулі та виробнику.
Де налаштовується: ніде. Правил і параметрів у неї немає — вона або є в списку, або її там немає.
Її свідомо немає в наборі за замовчуванням. Причини такі.
Вона потрібна не всім постачальникам — у багатьох прайсах підміни просто немає. Вона міняє найменування товарів, а через це можуть злетіти вже зроблені зіставлення. І вона з’явилася пізніше, коли в багатьох користувачів прайси вже були налаштовані, тож нав’язувати її діючим імпортам не стали. Момент, коли її застосувати, обирає користувач — це вибір із наслідками, а не забутий перемикач.
Місце в списку: вище за пошук виробника й вище за зіставлення з каталогом. Виправлені літери потрібні саме в момент зіставлення; після нього чистка вже нічого не рятує — пари не знайдені, дублікати створені.
Переставити операції вручну, а потім додати чистку гомогліфів і не перевірити її позицію.
«Додати операцію» ставить чистку не в кінець, а на її типове місце — одразу за тими операціями, що в типовому порядку йдуть раніше, тобто вище за пошук виробника й зіставлення.
Але якщо ви підняли зіставлення нагору, чистка може опинитися нижче за нього. Тоді перетягніть її вище за «Зіставлення товарів з прайс-листа з товарами базового каталогу» — стоячи нижче, вона виправить літери вже після того, як зіставлення не знайшло пари.
Якщо її немає в списку: товари з підміненими літерами не зіставляться з каталогом і створять дублікати, а фільтри й пошук за брендом працюватимуть частково.
Розподіл товарів за категоріями базового каталогу
Перекладає категорії постачальника у ваші: розділ «Дрібна побутова техніка / Чайники» стає категорією «Чайники» вашого каталогу. Виконується двічі — правила цього прайсу й правила, спільні для всіх прайсів. Саме ця операція проставляє товару категорію каталогу.
Де налаштовується: вікно «Правила розподілу».
Місце в списку: після визначення категорій, бо правила читають категорію постачальника, і до тих кроків, які відбирають товари за категорією каталогу, — насамперед до переоцінки та зіставлення з умовою «за категорією».
Якщо її немає в списку: товари лишаться з категорією постачальника, але без категорії каталогу, і правила націнки та зіставлення «за категорією» не знайдуть, до чого прив’язатися. А якщо в картці прайсу знято прапорець «Відображати товари в Кошику, які не розподілені за категоріями БК», нерозподілені товари наприкінці завантаження видаляються.
Застосування правил автозаміни тексту
Проганяє текстові поля товарів через ваші правила заміни: прибрати з назв «АКЦІЯ!!!», замінити «б/в» на «уцінка», викинути з опису телефон постачальника, звести різні написання бренду до одного. Спочатку застосовуються правила, спільні для всіх прайсів, потім правила цього прайсу.
Де налаштовується: вікно «Правила заміни тексту».
Місце в списку: перед пошуком виробника. Якщо правило міняє «Самсунг» на «Samsung», пошук виробника після нього знайде бренд у назві; переставите заміну нижче — бренд не визначиться, а виправлена назва в цьому прогоні вже нікому не допоможе. Так само заміна впливає на зіставлення з каталогом: порівнюється те значення, яке лежить у полі на момент зіставлення.
Якщо її немає в списку: у каталог поїдуть найменування як є. Постраждає не тільки вигляд картки — пошук виробника й зіставлення з каталогом працюють по цих самих полях.
Пошук виробника товару
Заповнює поле «Виробник». Спершу заповнює порожнє поле з атрибутів товару з назвами «Бренд», «Виробник», «Производитель», «Марка», «Торгова марка», «Торговая марка», «Brand», «Manufacturer» або «Vendor» (великі й малі літери не розрізняються), якщо такі атрибути вже завантажені.
Далі проставляє виробника за точним збігом назви з вашим довідником виробників, а потім шукає бренди по словах найменування й за синонімами та підтягує знайдений бренд до батьківських товарів.
Участь у пошуку беруть лише активні виробники: якщо бренд у довіднику вимкнено, товари прайсу з цією назвою лишаються без виробника.
Якщо ввімкнена загальна настройка додавання нових виробників, невідомі бренди з поточного завантаження потрапляють у довідник самі, і товари прайсу одразу до них прив’язуються.
Свої параметри. Це єдина операція, у якої в цьому вікні є власне налаштування — поле «Мін. кількість символів» на панелі праворуч. Воно задає, слова якої довжини взагалі перевіряти на схожість із брендом. За замовчуванням — 3; якщо ввести нуль, програма все одно рахуватиме 3.
1
Поле «Мін. кількість символів»2
Заголовок панелі «Довідка з операції»- Слова назви коротші за це значення не беруть участі в пошуку бренда; за замовчуванням — 3.
- Опис у заголовку панелі змінюється при виборі іншої операції в списку.
Місце в списку: вище за переоцінку, якщо у вас є правила націнки для конкретних брендів, і вище за зіставлення з каталогом, якщо у виді зіставлення стоїть умова «за виробником»: з порожнім полем така умова не знайде нічого. Зворотний бік теж варто знати — зіставлення з каталогом саме заповнює виробника зі знайденого товару, але тільки тим товарам, у яких поле порожнє.
Якщо її немає в списку: бренд перестане виділятися з найменування, а для більшості прайсів це головний спосіб його отримати.
Заповненими лишаться ті товари, у яких виробник прийшов окремою колонкою файлу: наприкінці завантаження програма ще раз пройде по товарах без визначеного виробника й зіставить ціле значення поля з довідником виробників та їхніми синонімами.
Ще частині товарів бренд підтягне зіставлення з каталогом. Для решти поле лишиться порожнім, а разом із ним не спрацюють правила націнки за брендом, правила регулярних виразів із фільтром за виробником, види зіставлення «за виробником», фільтри магазину за брендом і вивантаження на майданчики, де бренд обов’язковий.
Автозаміна значень у товарів на підставі регулярних виразів
Те саме, що заміна тексту, але за шаблоном — для випадків, які простим «знайти й замінити» не описати: прибрати з назв усі розміри в дужках, витягти об’єм в окреме поле, зібрати артикул із частини рядка.
Правила прайсу застосовуються по порядку, одне за одним. У правилі можна задати значення за замовчуванням, якщо результат вийшов порожнім, замінювати тільки порожні поля, а також обмежити правило виробником або категорією.
Де налаштовується: вікно «Регулярні вирази».
Місце в списку: після пошуку виробника, бо правило може бути обмежене виробником, і після визначення категорій, якщо воно обмежене категорією. Піднімете вище — фільтри в правилах перестануть відбирати товари, і правило або не спрацює, або спрацює не там.
Якщо її немає в списку: поля лишаться такими, як у файлі. Правила з вікна «Правила заміни тексту» цього не замінюють — у них інший механізм і своя окрема операція.
Створення основних товарів для товарів-опцій
Потрібна, коли постачальник надсилає кожен варіант окремим рядком: футболка S, M, L — три позиції. Операція розбиває рядки за роздільником значень, позначає варіанти як опції, створює для них спільний батьківський товар і зв’язує їх із ним. Покупець побачить одну картку з вибором розміру, а не три однакові товари.
Де налаштовується: роздільник значень задається в адресах колонок прайсу; там же, у налаштуваннях прайсу, вмикається додавання назви й значення опції до найменування та копіювання атрибутів між головним товаром і опціями.
Місце в списку: ця операція створює нові рядки товарів. Усе, що йде після неї, бачить і батьків, і опції; усе, що до неї, — тільки вихідні рядки файлу. Тому вона стоїть вище за визначення наявності, зіставлення й переоцінку: інакше створені батьківські товари лишилися б без статусу наявності, без зв’язку з каталогом і без ціни продажу.
Якщо її немає в списку: кожен варіант лишиться окремим товаром, батьківські картки не створяться.
Визначення наявності товару
Перетворює «залишки» з файлу постачальника на ваші статуси наявності: «>10» або «багато» — «В наявності», «0» — «Немає в наявності», «очікується» — «Під замовлення».
Де налаштовується: розділ «Наявність» у картці прайсу.
Місце в списку: після створення товарів-опцій, щоб статус отримали й батьківські товари. Якщо кількість у вас рахується формулою, наявність має стояти нижче за формули — а за замовчуванням формули йдуть після неї, і це той випадок, коли порядок доводиться міняти руками.
Якщо її немає в списку: залишки з файлу не перетворяться на статуси. Товар при цьому не лишиться без статусу зовсім: наприкінці завантаження всім товарам без визначеного статусу проставляється «В наявності». Тобто прибрана операція обертається не порожнім полем, а магазином, який приймає замовлення на те, чого немає.
Зіставлення товарів з прайс-листа з товарами базового каталогу
Шукає кожен товар прайсу у вашому каталозі й зв’язує знайдені пари. Завдяки зв’язку наступне завантаження оновлює ціну й наявність наявної картки, а не створює нову.
Усередині операція виконує види зіставлення, налаштовані для цього прайсу, — один за одним, у своєму власному порядку. Порядок видів зіставлення — окрема черга всередині однієї операції, і налаштовується вона у вікні «Налаштування зіставлення товарів» — самі види зіставлення це окрема тема. Конвеєр операцій вирішує тільки те, коли ця черга запуститься.
Що вона записує в товар прайсу: зв’язок із товаром каталогу й позначку, яким саме видом зіставлення знайдено пару. Ще дві речі — умовно: категорію каталогу, якщо в товару її не було й увімкнене автоматичне визначення категорії за знайденим товаром, і виробника, якщо поле було порожнім.
Місце в списку: після всіх операцій, які приводять поля до ладу. Умови виду зіставлення читають поля, які заповнюють попередні операції: «за виробником» — поле «Виробник», «за категорією» — категорію каталогу, «за контрагентом» і «за складом» — відповідні поля товару.
Порожнє поле означає, що така умова не знайде нічого. Тому за замовчуванням до зіставлення встигають відпрацювати категорії, видалення сміття, заміни тексту, пошук виробника, регулярні вирази, товари-опції та наявність.
Прибирати цю операцію зі списку — найдорожче рішення в цьому вікні. Без неї товари прайсу не зв’яжуться з каталогом, і кожне оновлення створюватиме нові картки замість оновлення наявних. Дублікати потім розгрібають руками.
Переоцінка товару
Рахує ціни продажу із закупівельних за вашими правилами націнки: «закупівля до 1 000 грн — націнка 30%, від 1 000 до 5 000 — 20%». Правила відбираються за категорією товару — з підкатегоріями, якщо це задано в самому правилі, — і за виробником. Чи брати до уваги правила, спільні для всіх прайсів, вирішує окрема настройка прайсу.
Перед розрахунком операція зберігає вихідні ціни постачальника й записує закупівельну ціну товару. Для парсерів, які не видаляють товари, націнка застосовується лише до нових позицій — раніше переоцінені лишаються як є.
Де налаштовується: вікно «Види націнок».
Місце в списку: після категорій, пошуку виробника й зіставлення — інакше правила «націнка для категорії X» або «для бренду Y» не знайдуть, до чого прив’язатися. Щодо формул порядок значущий в обидва боки, і правильної відповіді тут немає: формули до націнки міняють вхідну ціну, з якої вона рахується, формули після націнки перекривають розраховану ціну. За замовчуванням націнка йде першою.
Якщо її немає в списку: товари лишаться з цінами постачальника. Менш очевидний наслідок: не заповниться й закупівельна ціна — вона проставляється саме всередині цієї операції, а потім переноситься в товар каталогу.
Застосування формул для полів
Обчислює значення полів за вашими формулами: рекомендована ціна = закупівля × 1,4, найменування, зібране з бренда, моделі й об’єму, перерахунок одиниць виміру. Виконується в кілька проходів — формули цього прайсу, формули з урахуванням аркушів Excel, якщо прайс налаштований по аркушах, і формули, спільні для всіх прайсів.
Де налаштовується: вікно «Формули для полів».
Місце в списку: формула може писати в будь-яке поле, тому її позиція визначає, хто побачить результат. Формула, що складає назву з бренда й моделі, після пошуку виробника працює, а до нього — ні: бренд ще порожній. Формула, що рахує ціну, до переоцінки буде переоцінена націнкою, після переоцінки — перекриє її.
Якщо її немає в списку: обчислювані поля лишаться порожніми або з вихідними значеннями з файлу. Найпомітніше це там, де потрібного значення у файлі немає взагалі.
Зіставлення товарів із пов’язаного прайсу з товарами основного прайсу
Операція для пари «основний прайс + окремий файл залишків або цін» того самого постачальника. Вона знаходить однакові товари в обох файлах, зв’язує їх і переносить значення з пов’язаного файлу в товари основного прайсу.
Перед перенесенням вона знімає попередні зв’язки, а за потреби після перенесення проставляє «Немає в наявності» тим товарам основного прайсу, яких не виявилося у файлі залишків.
Робить вона це, лише якщо хоча б один товар знайшов пару: коли файл залишків порожній або битий, наявність основного прайсу лишається як була. Якщо в картці прайсу залишків стоїть прапорець «У додатковому прайс-листі зберігати ті товари, які знайшлися в основному прайс-листі», рядки без пари з нього видаляються.
Де налаштовується: які саме значення переносити в основний прайс, задається прапорцем «Копіювати значення в основний прайс-лист» в адресах колонок прайсу залишків; решта поведінки — прапорцями в картці цього ж прайсу.
Місце в списку: у прайсі залишків вона є джерелом даних для основного прайсу, тому має відпрацювати до того, як основний прайс порахує наявність і ціни.
Якщо її немає в списку у прайсі залишків: файл завантажиться, але його дані нікуди не поїдуть, і основний прайс лишиться зі старими цінами й наявністю. У звичайному прайсі, у якого немає пов’язаного файлу, операція не робить нічого — вона одразу завершується.
Збереження значень із полів в атрибути
Переносить значення з колонок файлу в характеристики товару: колонки «Колір», «Об’єм», «Матеріал» стають атрибутами картки й потрапляють у фільтри магазину. Операція створює атрибути, а потім у чотири проходи підбирає їм відповідники з вашого довідника — за назвою з урахуванням головного синоніма, за назвою, за кодом із урахуванням синоніма, за кодом.
Де налаштовується: які колонки переносити, задається прапорцями «Атрибут товару» та «Опція товару» в адресах колонок прайсу. Своїх параметрів у самої операції немає.
Місце в списку: остання за замовчуванням. Якщо бренд приходить у колонці, позначеній ознакою «Атрибут товару», і колонка називається, наприклад, «Бренд» чи «Виробник», підніміть операцію вище за «Пошук виробника товару»: атрибут з’явиться раніше, і пошук виробника перенесе бренд у поле «Виробник» тих товарів, у яких воно порожнє.
Якщо бренд лежить у прайсі окремою колонкою — призначте цю колонку полю «Виробник» у майстрі стовпців, тоді він потрапить у товар одразу, без операцій.
Якщо її немає в списку: характеристики з колонок файлу не стануть атрибутами товару й не потраплять у фільтри магазину. Разом із ними вимкнуться ще три речі, які живуть у цій самій операції, хоча до атрибутів стосунку не мають: зв’язування опцій із батьківським товаром, копіювання атрибутів між головним товаром і його опціями та додавання значення опції до найменування.
Коли і як міняти порядок
Порядок міняють тоді, коли ваша логіка обробки відрізняється від типової. Ось випадки, у яких перестановка справді потрібна.
- Бренд лежить окремою колонкою, а не в назві. Підніміть «Збереження значень із полів в атрибути» вище за «Пошук виробника товару» — тоді виробник візьме бренд із атрибута.
- Кількість товару рахується формулою. Підніміть «Застосування формул для полів» вище за «Визначення наявності товару», інакше наявність порахується по вихідному значенню з файлу.
- Ціну задає формула, а не націнка. Тоді формули мають іти після «Переоцінка товару», щоб перекрити її результат. Якщо ж навпаки, націнка повинна рахуватися з обчисленої ціни, — формули ставлять вище. Правильної відповіді тут немає: залежить від того, що у вас вважається вхідною ціною.
- Ви додали чистку гомогліфів після ручної перестановки. Сама вона стає на типове місце відносно операцій, що вже є в списку, але якщо зіставлення з каталогом ви підняли вище, перевірте, що чистка стоїть над ним, і за потреби перетягніть її.
Щоб змінити порядок, перетягніть рядок мишкою вгору або вниз — нова послідовність зберігається одразу. Кнопки «застосувати» тут немає, як немає й кнопки скидання до типового порядку, тому перед перестановкою запам’ятайте, як список виглядав.
Порядок на осмисленість не перевіряється: програма дозволить поставити переоцінку першою, а визначення категорій — останнім, і мовчки виконає саме так.
Перевіряти зміну треба завантаженням прайсу: порядок береться зі списку в момент запуску імпорту.
Перед тим як міняти порядок
Як перенести порядок на всі прайси
Ця кнопка переносить порядок операцій із поточного прайсу в усі інші прайси. Її підказка так і каже: «Встановити такий порядок застосування операцій для всіх прайс-листів».
Що варто знати до натискання:
- кнопка зачіпає всі прайси всіх постачальників у вашій базі, а не тільки прайси поточного контрагента;
- перед зміною вона показує, скільки прайс-листів це зачепить, і просить підтвердження; після згоди порядок міняється одразу, а на екрані з’являється повідомлення «Успішно оновлено»;
- скасувати одним рухом неможливо: попередній порядок ніде не зберігається.
Склад списків кнопка не чіпає. Вона переносить тільки порядок: операції, яких в іншому прайсі немає, там не з’являться, а зайві не зникнуть. Тому має сенс натискати її тоді, коли ви змінили порядок під загальне для всіх постачальників правило — і не має, коли ви налаштовували конкретний прайс під конкретного постачальника.
Особливі випадки
Прайс залишків. Коли ви створюєте прайс залишків до наявного джерела, він отримує інший набір операцій: до нього додається зіставлення з пов’язаним прайсом, а зіставлення з каталогом, переоцінка й визначення категорій — навпаки, прибираються. Так і задумано: файл залишків не має власного асортименту й не переоцінюється, він тільки віддає свої дані основному прайсу.
Парсер статей. Для джерел, які збирають не товари, а статті, програма виконує лише п’ять операцій: видалення за списком ігнорування, заміну тексту, регулярні вирази, формули та визначення категорій. Решта ігнорується, і порядок для них не має значення.
Порожній прайс. Якщо у файлі не виявилося жодного товару, конвеєр не запускається взагалі — виконувати нема над чим.
Зупинка імпорту. Якщо ви зупиняєте завантаження вручну, конвеєр переривається на найближчій межі між операціями: програма перевіряє ознаку зупинки перед кожною операцією, тож те, що встигло відпрацювати, лишається в чернетці, а решта операцій не виконується.
Кроки поза списком. Після конвеєра завантаження виконує кроки, яких у списку немає й переставити які не можна:
- прив’язка магазинів і складів, оновлення одиниць виміру;
- повторне проставлення виробника за його назвою;
- видалення товарів поза заданим діапазоном цін;
- видалення товарів, не розподілених за категоріями каталогу, якщо в картці прайсу знято прапорець «Відображати товари в Кошику, які не розподілені за категоріями БК»;
- перенесення значень із прайсу залишків, статус «В наявності» товарам без статусу;
- підрахунок кількості товарів у категоріях і перевірка порогових відхилень, після якої стоп-правила вирішують долю всього прогону.
Копія прайсу. Коли ви копіюєте джерело, список операцій копіюється разом із ним — разом із вашим порядком.
Атрибути й виробники в довідниках. Операція «Збереження значень із полів в атрибути» нових атрибутів у довідник не додає: вона лише зв’язує характеристики товарів прайсу з атрибутами, які в довіднику вже є, за назвою або кодом.
Нові атрибути в довіднику з’являються під час оновлення базового каталогу, коли характеристики переносяться в картки товарів. Виробника програма додає в довідник одразу, якщо ви вписали в сітці товарів прайсу назву, якої в довіднику немає.
Видаляти такі записи з довідників можна, але наслідки виходять за межі довідника. Видалення виробника очищає поле «Виробник» у всіх картках каталогу з цим виробником, знімає зв’язок із ним у товарах прайсів, видаляє його синоніми, правила націнки, прив’язані до цього виробника, і його адресу сторінки на сайті.
Видалення атрибута стирає його значення в усіх товарах каталогу, а в адресах колонок прайсів прибирає рядки, прив’язані до цього атрибута.
Великі прайси. Обмеження на кількість рядків у конвеєрі немає: операції обробляють увесь прайс. Скільки тривало завантаження, видно в журналі: завантаження закінчується рядком «Завантаження даних завершено!» з кількістю товарів і часом «Витрачено часу».
Коли всі прайси завантажуються по черзі, програма чекає на кожне джерело-файл не довше 2 годин. Не дочекалася — пише в журнал «Джерело не відповіло за 2 год — завантаження джерела перервано, прогін продовжується з наступного» і переходить до наступного джерела.
На парсери це обмеження не поширюється. Запустити завантаження того самого прайсу вдруге, поки перше ще триває, не вийде: програма відповість «Завантаження цього джерела вже виконується (запущено о …)».
Сценарії
Окрема націнка для одного бренду
Задача: товари одного бренду продавати з іншою націнкою, ніж решту прайсу.
Що налаштувати: у вікні «Види націнок» — правило з обраним виробником у виді націнки, який враховує виробників. У списку операцій «Пошук виробника товару» має стояти вище за «Переоцінка товару»; у типовому порядку так і є.
Що вийде: правило відбирає товари за виробником, тож націнка ляже на ті товари, яким пошук виробника проставив бренд із вашого довідника.
Товари, у яких бренд не знайдено або його назви немає в довіднику виробників, під це правило не потраплять. Якщо переоцінку підняти вище за пошук виробника, під правило не потраплять товари, яким на той момент бренд ще не проставлено, і програма про це не повідомить.
Постачальник змішує латиницю й кирилицю
Задача: у прайсі артикули й назви набрані то латинськими, то кириличними літерами, і товари не знаходять пари в каталозі.
Що налаштувати: кнопка «Додати операцію» → «Чистка гомогліфів (схожих літер lat ↔ cyr) у найменуванні, артикулі та виробнику», вона сама стане на своє місце вище за «Зіставлення товарів з прайс-листа з товарами базового каталогу». Перетягувати її доводиться, лише якщо ви раніше переставили зіставлення вище.
Що вийде: до зіставлення з каталогом підмінені літери виправляються в трьох полях — найменуванні, артикулі та виробнику. Інші поля товару операція не чіпає, одиниці виміру на кшталт «2400Вт» чи «12В» лишаються як є. Правил і параметрів у операції немає: вона працює, поки стоїть у списку.
Наявність виводиться формулою
Задача: окремої колонки наявності постачальник не дає, і статус треба отримати з інших колонок файлу.
Що налаштувати: у вікні «Формули для полів» — формула, яка заповнює поле наявності. У списку операцій перетягнути «Застосування формул для полів» вище за «Визначення наявності товару», а правила перетворення задати в розділі «Наявність» картки прайсу.
Що вийде: визначення наявності бачить значення, яке записала формула, і перетворює його на ваш статус. Якщо формули лишити нижче, а колонки наявності в адресах колонок немає і правила наявності не беруть значення з іншого поля, визначення наявності поставить усім товарам статус з ознакою «в наявності» ще до того, як формула щось порахує. Для XML-прайсів цей запасний варіант не діє.
Виправлення, які не злітають після оновлення
Задача: постачальник щоразу присилає назву чи інше поле не в тому вигляді, який вам потрібен.
Що налаштувати: правило у вікні «Правила заміни тексту», «Регулярні вирази» або «Формули для полів» — і відповідна операція в списку операцій прайсу.
Що вийде: правило застосовується під час кожного завантаження, тож виправлене значення з’являється знову після кожного оновлення. Правка клітинки в сітці товарів прайсу так не працює: наступне завантаження складає список товарів заново з файлу, і правка зникне — крім трьох випадків зі схеми в розділі «Операції працюють на чернетці».
Часті запитання
Як вимкнути операцію?
Перемикача немає: у цьому вікні «увімкнено» означає «є в списку». Щоб операція не виконувалася, виділіть її та натисніть «Видалити». Щоб повернути — «Додати операцію».
Коли подіє змінений порядок?
З наступного завантаження цього прайсу: порядок береться зі списку в момент запуску імпорту. Кнопки «виконати операції зараз» у вікні немає.
Формули ставити до націнки чи після?
Правильної відповіді немає, залежить від задачі. Формула до націнки міняє вхідну ціну, з якої націнка рахується; формула після націнки перекриває розраховану ціну. За замовчуванням переоцінка йде перед формулами.
Чи змінить «Встановити для всіх» склад операцій в інших прайсах?
Ні, вона переносить тільки порядок: операції, яких в іншому прайсі немає, не додаються, зайві не видаляються. Але кнопка зачіпає всі прайси всіх постачальників бази — перед застосуванням вона називає їхню кількість і просить підтвердження.
Я додав операцію, а нічого не змінилося. Чому?
Подивіться, де вона стоїть у списку. Операція, яка стоїть раніше за ту, що готує потрібні їй дані, виконується вхолосту й не повідомляє про це: помилки не буде, у журналі вона відзвітує, що відпрацювала.
Чи можна поставити ту саму операцію двічі?
Ні. Кожна операція буває у прайсі щонайбільше один раз, тому в меню «Додати операцію» вже додані не показуються.
У кожного прайсу свій порядок чи один на всіх?
У кожного свій: вікно налаштовує той прайс, з якого ви його відкрили. Спільного шаблону немає — є тільки кнопка «Встановити для всіх», яка розносить поточний порядок по інших прайсах.
Суміжні теми
- Якщо назви постачальника треба почистити або звести бренд до одного написання — Правила заміни тексту.
- Якщо значення треба витягти з назви в окреме поле — Регулярні вирази для прайс-листа.
- Якщо завантаження зупинилося і чернетку відкинуто — Як не пустити на сайт помилку з прайсу постачальника.
- Якщо прайс ще не завантажується — Як завантажити прайс постачальника в Elbuz.

