Порядок операцій під час завантаження прайсу

25 хв

Розмова з підтримкою — замість читати: навіщо це потрібно, що налаштувати і що ви отримаєте.

Кожного разу, коли програма завантажує прайс, товари з файлу проходять через ланцюжок операцій. Одна розкладає їх по категоріях, друга викидає те, чим ви не торгуєте, третя знаходить бренд у назві, четверта рахує ціну продажу. Операції виконуються строго одна за одною, у тому порядку, який ви бачите у вікні «Порядок застосування операцій».

Порядок важливий тому, що кожна операція перетворює дані. Наступна працює вже з тим, що зробила попередня. Якщо операцію поставити раніше за ту, яка готує їй дані, вона спрацює вхолосту — і зробить це мовчки. Правило націнки «для бренду Samsung — 25%» не спрацює, якщо переоцінка стоїть раніше за пошук виробника: на той момент бренд ще не визначено. Правило ігнорування «не брати розділ Автохімія» не спрацює, якщо видалення за списком ігнорування стоїть раніше за визначення категорій: категорій ще немає, відбирати нема за чим.

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

Чому порядок вирішує

Операції — це конвеєр. Товари прайсу проходять його від початку до кінця один раз за завантаження, і кожен крок бачить результат попередніх кроків, але не наступних.

Тому неправильний порядок виглядає не як помилка, а як «нічого не сталося». Скажімо, правило націнки прив’язане до виробника. Виробника проставляє операція «Пошук виробника товару». Якщо переоцінка стоїть вище за неї, у товарів на цей момент поле «Виробник» іще порожнє, умова правила не виконується, націнка не застосовується. Програма не скаржиться: правило коректне, операція виконана, просто під неї не підпав жоден товар.

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

Перелік того, що відпрацювало, пишеться в журнал прогону імпорту, але на рівні «debug» — за замовчуванням такі записи в журналі приховані, і щоб побачити операції, треба ввімкнути показ цього рівня у фільтрі журналу.

Операції працюють на чернетці

Під час завантаження товари з файлу лягають не одразу в каталог, а в тимчасову копію — чернетку цього прайсу. Увесь ланцюжок операцій працює саме над нею. І тільки після того, як конвеєр відпрацював, стоп-правила прайсу вирішують, переносити результат далі чи ні: якщо стоп-правило заблокувало прогін, чернетка відкидається разом з усім, що встигли зробити операції, а каталог лишається таким, яким був.

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

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

Перший шлях — з картки прайсу. Відкрийте джерело постачальника, секція «Додатково», кнопка «Порядок застосування операцій».

Секція «Додатково» картки джерела прайсу з кнопкою «Порядок застосування операцій»
1Кнопка «Порядок застосування операцій»
  1. Кнопка «Порядок застосування операцій» відкриває список операцій саме цього джерела.

Другий шлях — з вікна «Список прайс-листів»: кнопка-бургер у шапці, група «Правила обробки», той самий пункт. Обидва шляхи відкривають налаштування того прайсу, який зараз обрано: спільного списку операцій на всі прайси не існує, у кожного джерела він свій.

Розгорнуте меню шапки вікна «Список прайс-листів» із групою «Правила обробки»
1Група «Правила обробки»
2Пункт «Порядок застосування операцій»
  1. Група «Правила обробки» містить вікна правил обробки прайсу.
  2. Пункт «Порядок застосування операцій» — другий спосіб потрапити в те саме вікно.

Під кнопками йде рядок-підказка: «Список застосовуваних операцій: Для зміни порядку застосування операції перетягніть її мишкою вгору або вниз.» Нижче вікно поділене надвоє. Ліворуч — самі операції, які виконуються для цього прайсу, зверху вниз у порядку виконання. Праворуч — «Довідка з операції»: виберіть рядок ліворуч, і тут з’явиться опис обраної операції. Поки нічого не обрано, панель показує «Виберіть операцію в списку ліворуч — тут з’явиться її опис і параметри.»

Вікно «Порядок застосування операцій» для прайсу «Матриця»
1Список операцій
2Довідка з операції
3Додати операцію
4Встановити для всіх
5Видалити
6Підказка про перетягування
  1. Список операцій відображається зверху вниз у порядку виконання — рядки перетягуються мишкою.
  2. Панель справа показує опис вибраної операції.
  3. Кнопка «Додати операцію» відкриває перелік операцій, яких ще немає в списку.
  4. Кнопка «Встановити для всіх» — єдина дія цього вікна, що виходить за межі поточного прайсу.
  5. Кнопка-іконка «Видалити» прибирає операцію зі списку — це і є «вимкнути».
  6. Підказка нагадує: для зміни порядку перетягніть операцію мишкою вгору або вниз.

У шапці — кнопка «Додати операцію» (меню з тих операцій, яких у цьому прайсі ще немає), кнопка «Встановити для всіх» і кнопка-іконка «Видалити», яка прибирає виділену операцію зі списку. Праворуч від них — іконка «Довідка»: вона відкриває цю статтю.

Розкрите меню «Додати операцію»
1Перелік операцій, яких ще немає в прайсі
2Чистка гомогліфів (lat ↔ cyr)
  1. У переліку — лише ті операції, яких у цьому прайсі ще немає.
  2. Пункт «Чистка гомогліфів» — операція, яку найчастіше додають вручну.

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

Типовий порядок

Усього в програмі чотирнадцять операцій. Новий прайс отримує дванадцять із них — саме в такому порядку:

ТакНіФайл прайсу розібранотовари лягли в чернетку1. Визначення категорійтоварів2. Видалення товарів зісписку ігнорування3. Розподіл за категоріямибазового каталогу4. Застосування правилавтозаміни тексту5. Пошук виробникатовару6. Автозаміна зарегулярними виразами7. Створення основнихтоварів для товарів-опцій8. Визначення наявностітовару9. Зіставлення з товарамибазового каталогу10. Переоцінка товару11. Застосування формулдля полів12. Збереження значень ізполів в атрибутиКроки поза списком:магазини, склади,одиниці виміру, фільтр заціною, лічильникиСтоп-правилапропускають прогін?Дані переносяться вкаталогЧернетка відкидається,каталог лишається беззмін
Конвеєр операцій під час завантаження прайсу
№ОпераціяЩо після неї з’являється в даних
1Визначення категорій товарівкатегорія постачальника й повний шлях до неї
2Видалення товарів, що знаходяться в списку ігноруваннязайві позиції зникають із прайсу
3Розподіл товарів за категоріями базового каталогукатегорія вашого каталогу
4Застосування правил автозаміни текстувичищені найменування та інші текстові поля
5Пошук виробника товарузаповнене поле «Виробник»
6Автозаміна значень у товарів на підставі регулярних виразівзначення, витягнуті або перероблені за шаблоном
7Створення основних товарів для товарів-опційнові батьківські товари та зв’язок «товар — опція»
8Визначення наявності товарустатус наявності замість «залишків» із файлу
9Зіставлення товарів з прайс-листів з товарами базового каталогузв’язок рядка прайсу з карткою каталогу
10Переоцінка товаруціна продажу й збережена закупівельна ціна
11Застосування формул для полівобчислені значення полів
12Збереження значень із полів в атрибутихарактеристики товару з колонок файлу

Дві операції в цей набір не входять. «Чистка гомогліфів» додається вручну тим, кому вона потрібна. «Зіставлення товарів із пов’язаного прайсу з товарами основного прайсу» додається автоматично прайсу залишків, коли ви його створюєте, і в звичайному прайсі не потрібна.

Що робить кожна операція

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

Визначення категорій товарів

Розбирає категорії постачальника: збирає їх зі стовпця файлу або з розділів вивантаження, вибудовує в дерево й кожному товару проставляє його категорію разом із повним шляхом до неї. Для файлів XML та джерел за програмним інтерфейсом працює окрема гілка, яка вміє будувати ієрархію автоматично; для решти форматів категорії визначаються за обраним видом структури прайсу, а для книги Excel — окремо по кожному аркушу, якщо прайс так налаштований. Один із видів структури розрахований на випадок, коли постачальник категорій не передав узагалі: тоді категорія визначається за ключовими словами в назві товару.

Де налаштовується: вікно «Визначення категорій», там же обирається вид структури категорій у файлі.

Місце в списку: перше. Категорія постачальника — вхідні дані для правил ігнорування, правил розподілу, частини правил націнки та видів зіставлення з умовою «за категорією». Опустіть цю операцію нижче — усі вони працюватимуть по порожній категорії.

Якщо її немає в списку: категорії з файлу не розгортаються, товари приходять без категорії. Ламається все, що категорію читає: правила ігнорування, правила розподілу, націнка за категорією, зіставлення з умовою «за категорією». А якщо в картці прайсу знято прапорець «Відображати товари в Кошику, які не розподілені за категоріями БК», такі товари наприкінці завантаження ще й видаляються — і від прайсу не лишиться нічого.

Видалення товарів, що знаходяться в списку ігнорування

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

Де налаштовується: вікно «Правила ігнорування».

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

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

Чистка гомогліфів (схожих літер lat ↔ cyr) у найменуванні, артикулі та виробнику

У прайсах постачальників літери А, В, С, Е, О, Р часто набрані то латиницею, то кирилицею. На око різниці немає, для програми це різні символи: артикул «EBS-501Р» з кириличною «Р» не збіжиться з таким самим артикулом латиницею, і товар задвоїться в каталозі. Операція виправляє такі підміни в найменуванні, артикулі та виробнику.

Де налаштовується: ніде. Правил і параметрів у неї немає — вона або є в списку, або її там немає.

Її свідомо немає в наборі за замовчуванням. Причини такі. Вона потрібна не всім постачальникам — у багатьох прайсах підміни просто немає. Вона міняє найменування товарів, а через це можуть злетіти вже зроблені зіставлення. І вона з’явилася пізніше, коли в багатьох користувачів прайси вже були налаштовані, тож нав’язувати її діючим імпортам не стали. Момент, коли її застосувати, обирає користувач — це вибір із наслідками, а не забутий перемикач.

Місце в списку: вище за пошук виробника й вище за зіставлення з каталогом. Виправлені літери потрібні саме в момент зіставлення; після нього чистка вже нічого не рятує — пари не знайдені, дублікати створені.

Додати чистку гомогліфів і не перевірити, куди вона потрапила в списку. Після додавання подивіться на її позицію й перетягніть операцію вище за «Зіставлення товарів з прайс-листів з товарами базового каталогу» — стоячи нижче, вона виправить літери вже після того, як зіставлення не знайшло пари.

Якщо її немає в списку: товари з підміненими літерами не зіставляться з каталогом і створять дублікати, а фільтри й пошук за брендом працюватимуть частково.

Розподіл товарів за категоріями базового каталогу

Перекладає категорії постачальника у ваші: розділ «Дрібна побутова техніка / Чайники» стає категорією «Чайники» вашого каталогу. Виконується двічі — правила цього прайсу й правила, спільні для всіх прайсів. Саме ця операція проставляє товару категорію каталогу.

Де налаштовується: вікно «Правила розподілу».

Місце в списку: після визначення категорій, бо правила читають категорію постачальника, і до тих кроків, які відбирають товари за категорією каталогу, — насамперед до переоцінки та зіставлення з умовою «за категорією».

Якщо її немає в списку: товари лишаться з категорією постачальника, але без категорії каталогу, і правила націнки та зіставлення «за категорією» не знайдуть, до чого прив’язатися. А якщо в картці прайсу знято прапорець «Відображати товари в Кошику, які не розподілені за категоріями БК», нерозподілені товари наприкінці завантаження видаляються.

Застосування правил автозаміни тексту

Проганяє текстові поля товарів через ваші правила заміни: прибрати з назв «АКЦІЯ!!!», замінити «б/в» на «уцінка», викинути з опису телефон постачальника, звести різні написання бренду до одного. Спочатку застосовуються правила, спільні для всіх прайсів, потім правила цього прайсу.

Де налаштовується: вікно «Правила заміни тексту».

Місце в списку: перед пошуком виробника. Якщо правило міняє «Самсунг» на «Samsung», пошук виробника після нього знайде бренд у назві; переставите заміну нижче — бренд не визначиться, а виправлена назва в цьому прогоні вже нікому не допоможе. Так само заміна впливає на зіставлення з каталогом: порівнюється те значення, яке лежить у полі на момент зіставлення.

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

Пошук виробника товару

Заповнює поле «Виробник». Спершу бере значення з атрибутів товару з назвами «Бренд» і «Производитель», якщо такі атрибути вже завантажені. Далі проставляє виробника за точним збігом назви з вашим довідником виробників, а потім шукає бренди по словах найменування й за синонімами та підтягує знайдений бренд до батьківських товарів. Якщо ввімкнена загальна настройка додавання нових виробників, невідомі бренди потрапляють у довідник самі.

Свої параметри. Це єдина операція, у якої в цьому вікні є власне налаштування — поле «Мін. кількість символів» на панелі праворуч. Воно задає, слова якої довжини взагалі перевіряти на схожість із брендом. За замовчуванням — 3; якщо ввести нуль, програма все одно рахуватиме 3.

Панель «Довідка з операції» з параметром операції «Пошук виробника товару»
1Поле «Мін. кількість символів»
2Заголовок панелі «Довідка з операції»
  1. Слова назви коротші за це значення не беруть участі в пошуку бренда; за замовчуванням — 3.
  2. Опис у заголовку панелі змінюється при виборі іншої операції в списку.

Місце в списку: вище за переоцінку, якщо у вас є правила націнки для конкретних брендів, і вище за зіставлення з каталогом, якщо у виді зіставлення стоїть умова «за виробником»: з порожнім полем така умова не знайде нічого. Зворотний бік теж варто знати — зіставлення з каталогом саме заповнює виробника зі знайденого товару, але тільки тим товарам, у яких поле порожнє.

Якщо її немає в списку: бренд перестане виділятися з найменування, а для більшості прайсів це головний спосіб його отримати. Заповненими лишаться ті товари, у яких виробник прийшов окремою колонкою файлу: наприкінці завантаження програма ще раз пройде по товарах без визначеного виробника й зіставить ціле значення поля з довідником виробників та їхніми синонімами. Ще частині товарів бренд підтягне зіставлення з каталогом. Для решти поле лишиться порожнім, а разом із ним не спрацюють правила націнки за брендом, правила регулярних виразів із фільтром за виробником, види зіставлення «за виробником», фільтри магазину за брендом і вивантаження на майданчики, де бренд обов’язковий.

Автозаміна значень у товарів на підставі регулярних виразів

Те саме, що заміна тексту, але за шаблоном — для випадків, які простим «знайти й замінити» не описати: прибрати з назв усі розміри в дужках, витягти об’єм в окреме поле, зібрати артикул із частини рядка. Правила прайсу застосовуються по порядку, одне за одним. У правилі можна задати значення за замовчуванням, якщо результат вийшов порожнім, замінювати тільки порожні поля, а також обмежити правило виробником або категорією.

Де налаштовується: вікно «Регулярні вирази».

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

Якщо її немає в списку: поля лишаться такими, як у файлі. Правила з вікна «Правила заміни тексту» цього не замінюють — у них інший механізм і своя окрема операція.

Створення основних товарів для товарів-опцій

Потрібна, коли постачальник надсилає кожен варіант окремим рядком: футболка S, M, L — три позиції. Операція розбиває рядки за роздільником значень, позначає варіанти як опції, створює для них спільний батьківський товар і зв’язує їх із ним. Покупець побачить одну картку з вибором розміру, а не три однакові товари.

Де налаштовується: роздільник значень задається в адресах колонок прайсу; там же, у налаштуваннях прайсу, вмикається додавання назви й значення опції до найменування та копіювання атрибутів між головним товаром і опціями.

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

Якщо її немає в списку: кожен варіант лишиться окремим товаром, батьківські картки не створяться.

Визначення наявності товару

Перетворює «залишки» з файлу постачальника на ваші статуси наявності: «>10» або «багато» — «В наявності», «0» — «Немає в наявності», «очікується» — «Під замовлення».

Де налаштовується: розділ «Наявність» у картці прайсу.

Місце в списку: після створення товарів-опцій, щоб статус отримали й батьківські товари. Якщо кількість у вас рахується формулою, наявність має стояти нижче за формули — а за замовчуванням формули йдуть після неї, і це той випадок, коли порядок доводиться міняти руками.

Якщо її немає в списку: залишки з файлу не перетворяться на статуси. Товар при цьому не лишиться без статусу зовсім: наприкінці завантаження всім товарам без визначеного статусу проставляється «В наявності». Тобто прибрана операція обертається не порожнім полем, а магазином, який приймає замовлення на те, чого немає.

Зіставлення товарів з прайс-листів з товарами базового каталогу

Шукає кожен товар прайсу у вашому каталозі й зв’язує знайдені пари. Завдяки зв’язку наступне завантаження оновлює ціну й наявність наявної картки, а не створює нову.

Усередині операція виконує види зіставлення, налаштовані для цього прайсу, — один за одним, у своєму власному порядку. Порядок видів зіставлення — окрема черга всередині однієї операції, і налаштовується вона у вікні «Налаштування зіставлення товарів» — самі види зіставлення це окрема тема. Конвеєр операцій вирішує тільки те, коли ця черга запуститься.

Що вона записує в товар прайсу: зв’язок із товаром каталогу й позначку, яким саме видом зіставлення знайдено пару. Ще дві речі — умовно: категорію каталогу, якщо в товару її не було й увімкнене автоматичне визначення категорії за знайденим товаром, і виробника, якщо поле було порожнім.

Місце в списку: після всіх операцій, які приводять поля до ладу. Умови виду зіставлення читають поля, які заповнюють попередні операції: «за виробником» — поле «Виробник», «за категорією» — категорію каталогу, «за контрагентом» і «за складом» — відповідні поля товару. Порожнє поле означає, що така умова не знайде нічого. Тому за замовчуванням до зіставлення встигають відпрацювати категорії, видалення сміття, заміни тексту, пошук виробника, регулярні вирази, товари-опції та наявність.

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

Переоцінка товару

Рахує ціни продажу із закупівельних за вашими правилами націнки: «закупівля до 1 000 грн — націнка 30%, від 1 000 до 5 000 — 20%». Правила відбираються за категорією товару — з підкатегоріями, якщо це задано в самому правилі, — і за виробником. Чи брати до уваги правила, спільні для всіх прайсів, вирішує окрема настройка прайсу.

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

Де налаштовується: вікно «Види націнок».

Місце в списку: після категорій, пошуку виробника й зіставлення — інакше правила «націнка для категорії X» або «для бренду Y» не знайдуть, до чого прив’язатися. Щодо формул порядок значущий в обидва боки, і правильної відповіді тут немає: формули до націнки міняють вхідну ціну, з якої вона рахується, формули після націнки перекривають розраховану ціну. За замовчуванням націнка йде першою.

Якщо її немає в списку: товари лишаться з цінами постачальника. Менш очевидний наслідок: не заповниться й закупівельна ціна — вона проставляється саме всередині цієї операції, а потім переноситься в товар каталогу.

Застосування формул для полів

Обчислює значення полів за вашими формулами: рекомендована ціна = закупівля × 1,4, найменування, зібране з бренда, моделі й об’єму, перерахунок одиниць виміру. Виконується в кілька проходів — формули цього прайсу, формули з урахуванням аркушів Excel, якщо прайс налаштований по аркушах, і формули, спільні для всіх прайсів.

Де налаштовується: вікно «Формули для полів».

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

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

Зіставлення товарів із пов’язаного прайсу з товарами основного прайсу

Операція для пари «основний прайс + окремий файл залишків або цін» того самого постачальника. Вона знаходить однакові товари в обох файлах, зв’язує їх і переносить значення з пов’язаного файлу в товари основного прайсу. Перед перенесенням вона знімає попередні зв’язки, а за потреби спершу проставляє всім товарам основного прайсу «Немає в наявності» — тоді наявність отримають тільки ті, що є у файлі залишків. Якщо в картці прайсу залишків стоїть прапорець «У додатковому прайс-листі зберігати ті товари, які знайшлися в основному прайс-листі», рядки без пари з нього видаляються.

Де налаштовується: які саме значення переносити в основний прайс, задається прапорцем «Копіювати значення в основний прайс-лист» в адресах колонок прайсу залишків; решта поведінки — прапорцями в картці цього ж прайсу.

Місце в списку: у прайсі залишків вона є джерелом даних для основного прайсу, тому має відпрацювати до того, як основний прайс порахує наявність і ціни.

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

Збереження значень із полів в атрибути

Переносить значення з колонок файлу в характеристики товару: колонки «Колір», «Об’єм», «Матеріал» стають атрибутами картки й потрапляють у фільтри магазину. Операція створює атрибути, а потім у чотири проходи підбирає їм відповідники з вашого довідника — за назвою з урахуванням головного синоніма, за назвою, за кодом із урахуванням синоніма, за кодом.

Де налаштовується: які колонки переносити, задається прапорцями «Атрибут товару» та «Опція товару» в адресах колонок прайсу. Своїх параметрів у самої операції немає.

Місце в списку: остання за замовчуванням. Пересування вище за пошук виробника нічого не змінює: пошук виробника бере бренд з атрибута тільки для тих товарів, у яких поле «Виробник» порожнє, а колонка, позначена ознакою «Атрибут товару», заповнює атрибути вже після читання файлу. Якщо бренд лежить у прайсі окремою колонкою — призначте цю колонку полю «Виробник» у майстрі стовпців, тоді він потрапить у товар одразу, без операцій.

Якщо її немає в списку: характеристики з колонок файлу не стануть атрибутами товару й не потраплять у фільтри магазину. Разом із ними вимкнуться ще три речі, які живуть у цій самій операції, хоча до атрибутів стосунку не мають: зв’язування опцій із батьківським товаром, копіювання атрибутів між головним товаром і його опціями та додавання значення опції до найменування.

Коли порядок міняють руками

Порядок міняють тоді, коли ваша логіка обробки відрізняється від типової. Ось випадки, у яких перестановка справді потрібна.

  • Бренд лежить окремою колонкою, а не в назві. Підніміть «Збереження значень із полів в атрибути» вище за «Пошук виробника товару» — тоді виробник візьме бренд із атрибута.
  • Кількість товару рахується формулою. Підніміть «Застосування формул для полів» вище за «Визначення наявності товару», інакше наявність порахується по вихідному значенню з файлу.
  • Ціну задає формула, а не націнка. Тоді формули мають іти після «Переоцінка товару», щоб перекрити її результат. Якщо ж навпаки, націнка повинна рахуватися з обчисленої ціни, — формули ставлять вище. Правильної відповіді тут немає: залежить від того, що у вас вважається вхідною ціною.
  • Ви додали чистку гомогліфів. Перевірте, де вона опинилася, і перетягніть її вище за зіставлення з каталогом.

Щоб змінити порядок, перетягніть рядок мишкою вгору або вниз — нова послідовність зберігається одразу. Кнопки «застосувати» тут немає, як немає й кнопки скидання до типового порядку, тому перед перестановкою запам’ятайте, як список виглядав.

Перевіряти зміну треба завантаженням прайсу: порядок береться зі списку в момент запуску імпорту.

Кнопка «Встановити для всіх»

Ця кнопка переносить порядок операцій із поточного прайсу в усі інші прайси. Її підказка так і каже: «Встановити такий порядок застосування операцій для всіх прайс-листів».

Що варто знати до натискання:

  • кнопка зачіпає всі прайси всіх постачальників у вашій базі, а не тільки прайси поточного контрагента;
  • підтвердження вона не питає — порядок міняється одразу, а на екрані з’являється повідомлення «Успішно»;
  • скасувати одним рухом неможливо: попередній порядок ніде не зберігається.

Склад списків кнопка не чіпає. Вона переносить тільки порядок: операції, яких в іншому прайсі немає, там не з’являться, а зайві не зникнуть. Тому має сенс натискати її тоді, коли ви змінили порядок під загальне для всіх постачальників правило — і не має, коли ви налаштовували конкретний прайс під конкретного постачальника.

Чого в цьому вікні немає

Крім перемикача «увімк./вимк.», у вікні немає кнопки «виконати операції зараз», скидання до типового порядку, історії змін і підказок про залежності між операціями. Порядок не перевіряється на осмисленість: програма дозволить поставити переоцінку першою, а визначення категорій — останнім, і мовчки виконає саме так.

Одну й ту саму операцію не можна поставити двічі в різних місцях конвеєра — кожна є у прайсі щонайбільше в одному екземплярі, і в меню «Додати операцію» вже додані не показуються.

Самі правила теж налаштовуються не тут. У цьому вікні ви керуєте тільки складом і порядком, а що конкретно робить кожна операція — задається у своєму вікні: «Правила ігнорування», «Правила заміни тексту», «Регулярні вирази», «Формули для полів», «Види націнок», «Правила розподілу», «Визначення категорій», розділ «Наявність» у картці прайсу.

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

Особливі випадки

Прайс залишків. Коли ви створюєте прайс залишків до наявного джерела, він отримує інший набір операцій: до нього додається зіставлення з пов’язаним прайсом, а зіставлення з каталогом, переоцінка й визначення категорій — навпаки, прибираються. Так і задумано: файл залишків не має власного асортименту й не переоцінюється, він тільки віддає свої дані основному прайсу.

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

Порожній прайс. Якщо у файлі не виявилося жодного товару, конвеєр не запускається взагалі — виконувати нема над чим.

Зупинка імпорту. Якщо ви зупиняєте завантаження вручну, конвеєр переривається на найближчій межі між операціями: програма перевіряє ознаку зупинки перед кожною операцією, тож те, що встигло відпрацювати, лишається в чернетці, а решта операцій не виконується.

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

Що перевірити

Перед тим як міняти порядок

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

Як вимкнути операцію?

Перемикача немає: у цьому вікні «увімкнено» означає «є в списку». Щоб операція не виконувалася, виділіть її та натисніть «Видалити». Щоб повернути — «Додати операцію».

Коли подіє змінений порядок?

З наступного завантаження цього прайсу: порядок береться зі списку в момент запуску імпорту. Кнопки «виконати операції зараз» у вікні немає.

Формули ставити до націнки чи після?

Правильної відповіді немає, залежить від задачі. Формула до націнки міняє вхідну ціну, з якої націнка рахується; формула після націнки перекриває розраховану ціну. За замовчуванням переоцінка йде перед формулами.

Чи змінить «Встановити для всіх» склад операцій в інших прайсах?

Ні, вона переносить тільки порядок: операції, яких в іншому прайсі немає, не додаються, зайві не видаляються. Але кнопка зачіпає всі прайси всіх постачальників бази й не питає підтвердження.

Я додав операцію, а нічого не змінилося. Чому?

Подивіться, де вона стоїть у списку. Операція, яка стоїть раніше за ту, що готує потрібні їй дані, виконується вхолосту й не повідомляє про це: помилки не буде, у журналі вона відзвітує, що відпрацювала.

Чи можна поставити ту саму операцію двічі?

Ні. Кожна операція буває у прайсі щонайбільше один раз, тому в меню «Додати операцію» вже додані не показуються.

У кожного прайсу свій порядок чи один на всіх?

У кожного свій: вікно налаштовує той прайс, з якого ви його відкрили. Спільного шаблону немає — є тільки кнопка «Встановити для всіх», яка розносить поточний порядок по інших прайсах.

Суміжні теми

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