Розмова з підтримкою — замість читати: навіщо це потрібно, що налаштувати і що ви отримаєте.
Коли програма завантажує товари з прайсу, вона одразу намагається знайти кожному рядку пару у вашому каталозі: проганяє рядки за правилами зіставлення й піднімає раніше підтверджені пари з довідника. Те, з чим правила не впоралися, лишається на ручний розбір — про нього окрема стаття.
Правила зіставлення вже налаштовані, і на старті їх чіпати не треба: новий прайс отримує три робочі види зіставлення й починає підбирати пари сам. Читати цю статтю варто тоді, коли конкретний постачальник уперто не зіставляється — скажімо, він пише артикул усередині назви, а не окремою колонкою, — або коли програма підставляє не ті товари.
Одну річ варто знати ще до того, як ви відкриєте налаштування. Якщо правило описане нечітко і під нього підходить кілька товарів каталогу, програма не вибирає найкращий — вона бере довільний. Неоднозначне правило дає не «пару не знайшли», а «знайшли випадкову».
Коли зіставлення спрацьовує і що видно під час прогону
Зіставлення — це одна з операцій завантаження прайсу, у списку операцій вона стоїть на позиції 110 і називається «Зіставлення товарів з прайс-листів з товарами базового каталогу». Окремого перемикача «не зіставляти» немає: щоб воно не працювало, операцію прибирають зі списку операцій цього прайсу — про сам список є стаття про порядок операцій.
До неї встигають відпрацювати категорії, видалення товарів з ігнор-списку, автозаміни тексту, пошук виробника, регулярні вирази, товари-опції й наявність. Це важливо: зіставлення працює вже з виправленими значеннями, а не з тим, що лежало у файлі постачальника. Після нього йдуть переоцінка, формули полів і збереження атрибутів.
Хід прогону видно в «Журналі роботи» — прогін показується як операція «Завантаження прайсу». На кожен застосований вид пишеться рядок «Вид зіставлення: …», а після нього — «Всього знайдено товарів: N». Ті самі рядки біжать наживо в панелі ходу завантаження прайсу, а не зʼявляються тільки після кінця.
Чого в журналі немає: скільки рядків лишилося без пари і який саме товар підставлено кожному рядку. Це дивляться в сітці товарів прайсу — там є поля «Товар найден» і «ID товара базового каталога (число)»; якщо їх не видно, додайте ці колонки в налаштуваннях сітки. А от яким саме видом знайдено пару, в інтерфейсі не показується ніде — тільки сумарне «Всього знайдено товарів: N» по кожному виду в журналі.
Порядок видів — це пріоритет
Види застосовуються згори вниз, у тому порядку, у якому вони стоять у списку. Кожен наступний вид торкається тільки тих рядків, яким пари ще немає: перший вид, що спрацював, забирає рядок, і решта видів його вже не дивляться. Тому точні види ставлять вище за приблизні — артикул вище за найменування, а найменування останнім.
Порядок змінюється перетягуванням мишкою в лівому списку вікна налаштувань і зберігається одразу, без окремої кнопки.
Якщо під умову правила підходить кілька товарів каталогу, програма не вибирає найкращий і ні про що не попереджає — вона бере довільний. Рядок буде позначений як зіставлений, а товар за ним стоятиме чужий, і помітите ви це вже на цінах або на замовленні.
Звужуйте правило доти, доки під нього не підходитиме рівно один товар: додайте до правила другий рядок, увімкніть «Враховувати виробника» чи «Враховувати категорію», підніміть мінімальну довжину. «Мало пар» — це стан, який видно й можна виправити. «Багато випадкових пар» непомітне.
Виняток один — умови i~ і i~~, які працюють через пошуковий індекс: там програма бере найкращий за релевантністю збіг. Але «найкращий» не означає «правильний»: він береться завжди, навіть коли схожість слабка.
Де налаштування
Вікно «Налаштування зіставлення товарів» відкривається зі «Списку прайс-листів». Спочатку виберіть джерело в лівій панелі — потім у шапці самого джерела натисніть бургер «Ще», група «Правила обробки», пункт із такою самою назвою. Та сама кнопка є в картці джерела, у секції з переліком налаштувань. Усе, що ви робите в цьому вікні, стосується тільки одного прайсу — додавання виду, видалення, порядок, поля правил. Виняток один, і він названий далі.
У «Списку прайс-листів» два різні бургери, і плутати їх не варто. «Ще» — у шапці вибраного джерела, у ньому налаштування цього джерела. «Меню» — у шапці лівої панелі зі списком джерел, у ньому загальні довідники й дії по всіх прайсах одразу.
Ліворуч — «Список видів зіставлення товарів:», праворуч — «Налаштування виду зіставлення» для того виду, який ви вибрали в списку. Поки нічого не вибрано, права панель пропонує вибрати операцію ліворуч. Для частини видів налаштовувати нічого, і панель лишається порожньою.
У шапці вікна: «Додати вид зіставлення» (меню з видами, яких у цього прайсу ще немає), «Запустити зіставлення товарів» (про неї окремий розділ, вона небезпечна), кошик «Видалити» для вибраного виду і «?» — довідка.
1
Список видів зіставлення товарів2
Кнопка «Додати вид зіставлення»3
Кнопка «Запустити зіставлення товарів»4
Кошик5
Права панель — налаштування обраного виду- Порядок у списку є черговістю застосування видів; рядки перетягуються мишкою.
- Показує лише ті види зіставлення, яких у цього прайс-листа ще немає.
- Знімає всі зв'язки прайс-листа і збирає їх заново — кнопку не натискали.
- Прибирає обраний вид зіставлення в цього прайс-листа.
- Тут відображаються налаштування того виду, який виділено зліва.
Три види, які працюють з коробки
Новий прайс отримує три види зіставлення, і саме в такому порядку. Це системне умовчання, а не особливість вашої бази.
| Вид | Що з чим порівнює | Умова | Мін. довжина |
|---|---|---|---|
| Пошук вручну зіставлених товарів | піднімає раніше підтверджені пари з довідника | — | — |
| Пошук за артикулом виробника | артикул виробника в каталозі — артикул виробника в прайсі | повний збіг | 5 |
| Пошук за найменуванням товару | найменування в каталозі — найменування в прайсі | повний збіг | 6 |
Пошук за артикулом виробника працює, коли постачальник віддає саме артикул виробника, а в картках каталогу заповнене поле «Артикул виробника». Якщо постачальник дає власний внутрішній артикул, потрібен інший вид — «Пошук по артикулу контрагента». Якщо в каталозі артикул порожній, такі товари просто випадають з порівняння.
Хибні пари в нього теж бувають: артикули на кшталт 1000, A-100, PRO трапляються в різних брендів, а обмежувач тут один — мінімальна довжина 5. Галочка «Враховувати виробника» за замовчуванням знята, тобто бренд не перевіряється. Спецсимволи за замовчуванням не чистяться, тому AB-123 і AB123 для програми різні рядки. Галочка «Видаляти спецсимволи» це лікує, але тоді однаковими стануть AB-123 і A-B123.
Пошук за найменуванням товару бере найменування каталогу мовою вітрини, а не мовою адмінки. І в нього за замовчуванням увімкнені дві галочки очистки — про це варто прочитати уважно.
У виду «Пошук за найменуванням товару» з коробки ввімкнені галочки «Видаляти кирилицю» і «Видаляти спецсимволи» — саме так вони підписані в рядку правила (у довіднику видів ті самі настройки називаються «Очищати кирилицю» і «Очищати спец. символи»). Так задумано: від «Смартфон Samsung Galaxy A12 чорний» лишається samsunggalaxya12, і порівняння фактично йде за брендом і моделлю, а не за тим, як кожна сторона переклала слово «смартфон». Для каталогу з латинськими брендами це працює добре.
Два наслідки, які треба знати. Перший: «Чохол iPhone 13» і «Скло iPhone 13» після очистки однакові — iphone13, і програма легко зіставить одне з одним. Тип товару жив у кириличній частині, яку вид викинув, а мінімальна довжина 6 від цього не рятує. Другий: повністю кириличне найменування перетворюється на порожній рядок. «Килимок для миші чорний» після очистки — ніщо, такий рядок вилітає з порівняння, і вид мовчки нічого не знаходить.
Лікується трьома способами: списком «Очищати слова» (прибрати «чохол», «скло», «оригінал»), галочкою «Враховувати категорію» або «Враховувати виробника», або зняттям «Видаляти кирилицю» — тоді порівнюються повні назви, пар буде менше, але вони точніші.
Вид «Пошук вручну зіставлених товарів»
Цей вид влаштований інакше за решту: він не шукає нові пари, а повертає ті, які ви колись підтвердили вручну. Замість таблиці полів у нього пʼять галочок під заголовком «Відновлювати ручні зіставлення по полях:» — «Виробник», «Артикул виробника», «Артикул контрагента», «Найменування» і «Контрагент». Вони потрібні на випадок, коли постачальник змінив найменування товару: тоді пара шукається за рештою полів. Окремо стоїть галочка «Пошук раніше доданих товарів з прайс-листів до базового каталогу» — вона знаходить пару, якщо товар свого часу потрапив у каталог із прайсу.
1
Заголовок «Відновлювати ручні зіставлення по полях:»2
Група з пʼяти галочок полів3
Галочка «Пошук раніше доданих товарів...»4
Кнопка «Застосувати до всіх прайс-листів»- За цими полями шукається пара, якщо постачальник змінив найменування товару.
- Якщо поставити галочки — пара підбирається за співпадінням цих полів.
- Шукає раніше додані товари з прайс-листів у базовому каталозі.
- Єдина дія цього вікна, яка виходить за межі поточного прайс-листа — кнопку не натискали.
Дві речі про ці галочки, які з інтерфейсу не видно.
«Виробник» і «Контрагент» самі по собі нічого не вмикають — вони тільки звужують пошук. Щоб пошук за полями взагалі відбувся, має бути відмічена хоча б одна з трьох: «Артикул виробника», «Артикул контрагента» або «Найменування». Якщо стоять лише «Виробник» і «Контрагент», ця частина виду не відпрацює.
Довідник підтверджених пар спільний на всю базу, а не окремий на кожен прайс. Зі знятою галочкою «Контрагент» пара, яку ви підтвердили для одного постачальника, застосується й до рядка з прайсу іншого. Найризикованіший варіант — лишити саму «Найменування»: однакові назви в різних постачальників дадуть чужу пару.
Очистка слів, мінімальна довжина й галочки «Враховувати …» на цей вид не діють — у нього інша форма налаштування, рядків полів у ньому немає.
Форма зберігається сама, окремої кнопки «Зберегти» немає. Кнопка «Застосувати до всіх прайс-листів» переносить ці установки на решту прайсів — це єдина дія вікна, яка виходить за межі поточного прайсу. Програма перепитає «Застосувати поточні установки ручного зіставлення до всіх прайс-листів?» і потім повідомить, скільки прайс-листів оновлено.
Решта видів у меню додавання
Кнопка «Додати вид зіставлення» показує види, яких у цього прайсу ще немає. Крім трьох з коробки, там є ось що.
- Пошук по артикулу контрагента. Артикул контрагента в каталозі — артикул контрагента в прайсі, повний збіг, мінімальна довжина 5. Артикул потрапляє в каталог, коли товар додають із прайсу. Пастка: такий артикул унікальний лише всередині одного постачальника, тому
A-15постачальника X підбереться до товару зA-15постачальника Y. Вмикайте разом із галочкою «Враховувати контрагента». - Пошук артикула виробника з базового каталогу в найм. товару з прайс-листа. Для постачальників, які шлють лише довгий рядок назви: «Насос Grundfos UPS 25-40 180 96281375». Артикул шукається як окреме слово, а не будь-яким входженням, і виробник у рядка прайсу зобовʼязаний збігтися з виробником товару каталогу — це зашито в програму. Якщо виробника в рядку не визначено, вид почне шукати серед товарів каталогу теж без виробника, і короткий артикул легко знайдеться в чужій назві.
- Пошук артикула товару з прайс-листа в найм. товару базового каталогу. Дзеркальний випадок: у каталозі назви з артикулом усередині, а прайс дає чистий артикул. Мінімальної довжини тут немає взагалі, тому артикул
10збіжиться з будь-якою назвою, де є окреме слово «10», — але тільки серед товарів того самого виробника: збіг виробника тут теж зашитий у програму. - Пошук за зовнішнім посиланням на товар. Посилання з прайсу дорівнює зовнішньому посиланню в картці. Працює, тільки якщо товари каталогу заведені парсером із сайту цього ж постачальника. Хибних пар майже не дає, зате мовчки не спрацьовує від будь-якої дрібниці: інший протокол, слеш у кінці, доданий
?utm_…. - Пошук знайдених товарів за найменуванням з інших прайсів. Бере пару в рядка іншого прайсу з точно такою самою назвою: зіставили товар у прайсі одного постачальника — другий постачальник із тією самою назвою підтягнеться сам. Назва порівнюється сирою, без очисток і без урахування постачальника, виробника й категорії, тому вид ризикований.
- Індивідуальний тип зіставлення. Порожній шаблон, у якому ви самі збираєте правило. Йому присвячений наступний розділ.
Налаштування полів працюють лише в чотирьох видів: індивідуального, «Пошук за артикулом виробника», «Пошук по артикулу контрагента» і «Пошук за найменуванням товару». У решти умови зашиті в програму. Права панель у деяких із них усе одно показує таблицю полів, але прогін її не читає — правити там нічого.
Індивідуальне правило крок за кроком
Індивідуальний вид потрібен, коли жоден штатний вид не описує вашого постачальника або коли пару треба шукати одразу за двома полями. На відміну від решти видів, його можна додавати до прайсу скільки завгодно разів — кожен зі своєю назвою і своїм правилом.
Далі — наскрізний приклад. Постачальник «Кабель-Опт» присилає дві колонки: «Найменування» зі значенням Кабель USB-C Baseus CAKW-01 1м і «Виробник» зі значенням Baseus. Окремої колонки з артикулом у нього немає. У каталозі артикул виробника лежить у своєму полі — CAKW-01, бренд той самий.
Крок 1. Додати вид
«Додати вид зіставлення» → «Індивідуальний тип зіставлення». Програма спитає назву: діалог «Новий тип зіставлення», поле «Назва типу зіставлення», плейсхолдер «введіть назву». Порожню назву не приймає — скаже «Необхідно ввести назву типу зіставлення!». Назва довільна, у прикладі назвемо вид «Артикул у назві + виробник».
1
Пункт «Індивідуальний тип зіставлення»2
Інші пункти меню- Порожній шаблон, який можна додавати до прайс-листа скільки завгодно разів.
- Види зіставлення, яких у цього прайс-листа ще немає; вже додані сюди не потрапляють.
Після додавання зʼявиться тост «Успішно додано», а вид стане в лівий список. Місце в списку задайте перетягуванням: цей вид точніший за пошук по найменуванню, отже має стояти вище за нього.
Крок 2. Додати рядок правила
Праворуч відкриється таблиця з колонками «Поле базового каталогу», «Логічна умова для порівняння», «Поле з прайс-листу», далі галочки очистки й обліку, «Мінімальна довжина», «Порядок» і «Активність». У порожнього виду рядків немає — правило збирається з нуля.
Кнопка «+» над таблицею відкриває список полів базового каталогу; подвійний клік по потрібному рядку переносить поле в правило. Зайвий рядок прибирає кошик. Новий рядок створюється з умовою =, мінімальною довжиною 6 і ввімкненою «Активністю»; поле прайсу в нього поки порожнє.
1
Кнопка «+»2
Поле базового каталогу3
Логічна умова для порівняння4
Поле з прайс-листу5
Мінімальна довжина6
Активність- Кнопка «+» над таблицею відкриває список полів базового каталогу — поле переноситься в правило подвійним кліком.
- Колонка «Поле базового каталогу» — сторона каталогу, не редагується прямо в комірці.
- Колонка «Логічна умова для порівняння» — п'ять значень, від точного співпадіння до пошуку за входженням.
- Колонка «Поле з прайс-листу» — сторона постачальника, обирається кнопкою в комірці.
- Колонка «Мінімальна довжина» — значення коротші відкидаються з порівняння з обох сторін.
- Колонка «Активність» — вимкнений рядок у прогін не йде.
У списку полів каталогу — усі поля картки товару плюс усі активні атрибути ваших товарів, тому рядків там тисячі (у нашій базі понад три тисячі): користуйтеся фільтром. Колонки списку: назва поля, опис і код. Назви в списку повторюються — «Найменування» трапляється кілька разів, «Артикул виробника» двічі, — тому орієнтуйтеся не на назву, а на колонку «код»: саме вона однозначно називає поле.
Чотири поля зі списку вибирати не можна — product_selected, progressbar_product_scoring_filling_card, progressbar_total_attribute_empty і «Довжина» (код product_length): вони існують лише в сітці каталогу, даних за ними немає, і порівняння не відпрацює.
1
Колонка «Найменування»2
Колонка «ID поля»3
Рядок фільтра над сіткою4
Підказка про подвійний клік- Назви повторюються — самі по собі вони не називають поле однозначно.
- Єдина колонка, яка однозначно називає поле.
- Список полів тисячорядковий, без фільтра його не пройти.
- Саме подвійним кліком обране поле переноситься у правило.
Поле прайсу вибирається кнопкою-шевроном у колонці «Поле з прайс-листу». Відкриється невелике віконце з одним випадним списком: потрібне поле шукайте вводом з клавіатури, назви фільтруються на льоту. Полів у списку близько пʼятдесяти.
1
Випадаюче поле2
Список значень- Єдиний елемент діалогу — потрібне значення шукають введенням з клавіатури.
- Тільки назви полів прайсу, без кодів і без позначки, яка колонка файлу куди вантажиться.
Список однаковий для всіх прайс-листів: це перелік полів, які взагалі бувають у прайсі, а не тих, що заповнені у вашого джерела. Ні позначки «це поле у вас порожнє», ні того, яка колонка файлу в поле завантажується, у списку немає. Вибрали порожнє поле — правило нічого не знайде і не поскаржиться: рядки з порожнім значенням просто випадають із порівняння.
Перед вибором подивіться в сітку товарів цього прайсу і переконайтеся, що колонка справді заповнена.
У прикладі перший рядок правила виглядає так: поле каталогу «Артикул виробника», поле прайсу «Найменування».
Крок 3. Вибрати умову
У колонці «Логічна умова для порівняння» рівно пʼять значень. Ось що кожне з них дасть на наших даних: у каталозі CAKW-01, у прайсі Кабель USB-C Baseus CAKW-01 1м.
| Умова | Що робить | Збіг на прикладі | Коли брати |
|---|---|---|---|
= | повний збіг обох значень | ні — рядки різні | артикули, штрихкоди, посилання: там, де значення повне й однакове з обох боків |
~ | значення каталогу шукається всередині значення прайсу | так | у прайсі довгий рядок, у каталозі короткий: артикул усередині найменування |
~~ | значення прайсу шукається всередині значення каталогу | ні | дзеркальний випадок: довга назва в каталозі, короткий артикул у прайсі |
i~ | те саме, що ~, але через пошуковий індекс прайсів | залежить від індексу | лише при ввімкненому індексі, див. розділ нижче |
i~~ | те саме, що ~~, але через пошуковий індекс каталогу | залежить від індексу | лише при ввімкненому індексі, див. розділ нижче |
Перед порівнянням програма прибирає з обох значень усі пробіли — завжди, незалежно від галочок. Тому «Кабель USB-C 1 м» і «Кабель USB-C 1м» для неї однакові, а наш рядок прайсу до моменту порівняння виглядає як кабельusb-cbaseuscakw-011м. Артикул cakw-01 у ньому є, отже умова ~ спрацює.
Кнопки «Зберегти» в таблиці немає. Рядок редагується цілком і записується тоді, коли ви клацнете поза ним — по іншому рядку або по порожньому місцю. Доданий рядок і видалення записуються одразу.
Крок 4. Мінімальна довжина
Мінімальна довжина міряється після всієї очистки — після зняття кирилиці, спецсимволів, слів зі списку й пробілів. І вона не «пропускає» рядок повз перевірку, а видаляє коротке значення з порівняння з обох боків: із каталогу і з прайсу. Сенс перевірки — відсікати сміттєві короткі значення на кшталт «1», «шт» або «-», під які інакше підійшло б будь-що. Значення 0 вимикає перевірку.
У нашому прикладі cakw-01 — сім символів, при значенні 6 проходить. А тепер пастка на майбутнє: якщо другим рядком правила ви поставите «Виробник = Виробник» і лишите там ту саму мінімальну довжину 6, бренд Baseus (рівно шість) пройде, а LG (два) — ні, і всі товари цього бренду зникнуть із порівняння. Правило для них не спрацює взагалі. Для коротких значень ставте 0.
Мінімальна довжина, галочки очистки й галочки «Враховувати …» — властивості окремого рядка правила, а не виду цілком. У кожного рядка свої.
Крок 5. Другий рядок і як рядки складаються
Рядки правила складаються через «і»: пара зараховується, тільки якщо збіглися всі рядки. Це єдиний спосіб зробити складену умову — «артикул і виробник», «найменування і обʼєм».
Додамо в приклад другий рядок: поле каталогу «ID виробника», умова =, поле прайсу «Виробник», мінімальна довжина 0. Назви полів різні, і це не помилка: у списку полів каталогу бренд підписаний саме «ID виробника», а під час порівняння програма сама підставляє замість ідентифікатора назву бренду. Тепер артикул мусить знайтися в назві і бренд мусить збігтися — випадкових пар стане помітно менше.
Одна плата за це: товари каталогу, у яких бренд не заповнений, з такого правила випадають зовсім — підставляти нічого, значення виходить порожнім. Якщо після другого рядка правило «перестало знаходити половину», перевірте спочатку виробника в картках.
Обмеження й тихі місця, про які варто памʼятати:
- у прогін ідуть максимум десять рядків правила, у порядку колонки «Порядок». Одинадцятий і далі не застосуються;
- враховуються тільки рядки з увімкненою «Активністю», у яких заповнені обидва поля й умова. Рядок із порожнім полем прайсу випадає з правила мовчки, без попередження;
- якщо в правилі не лишилося жодного придатного рядка, вид просто пропускається під час прогону.
Чотири галочки «Враховувати виробника», «Враховувати категорію», «Враховувати контрагента» і «Враховувати магазин» додають до цього ж «і» ще одну умову — але вже не за вибраним полем, а за звʼязком рядка: виробник рядка прайсу має збігтися з виробником товару каталогу, категорія — з категорією, контрагент — з контрагентом, магазин — з магазином. За замовчуванням зняті всі чотири.
Одне застереження до перших двох. Виробник і категорія в рядку прайсу заповнюються ранішими операціями завантаження. Якщо виробника не визначено, умова «виробник = виробник» збігається для всіх товарів без виробника: галочка тоді не відсіче зайве, а склеїть між собою безіменні товари. Тобто перед тим, як спиратися на виробника, переконайтеся, що він у прайсі визначається.
Список слів очистки
Під таблицею полів є поле «Очищати слова» з плейсхолдером «список слів, кожне на новому рядку». Формат саме такий: одне слово на рядок.
Список належить тому рядку правила, який виділений у таблиці, а не виду цілком. У правилі з двох рядків списків слів теж два, і ви бачите список того рядка, що зараз підсвічений. Клацнули по іншому рядку — поле перезаповнилося його списком.
Тому спочатку виділіть потрібний рядок, а вже потім заповнюйте список. Інакше легко вписати слова одному рядку й бути впевненим, що вони працюють на все правило.
До обох сторін порівняння — і до значення каталогу, і до значення прайсу — список застосовується однаково.
Слова прибираються простою заміною підрядка і без урахування регістру — не за межами слова. Тобто «про» виріже й середину слова «профіль», а «нова» зіпсує «інновація». Пишіть слова довші й точніші, а сумнівні перевіряйте на кількох назвах.
Місце очистки в ланцюжку теж має значення: слова прибираються після зняття кирилиці й спецсимволів, але до вимірювання мінімальної довжини. Тобто довжина міряється вже по обчищеному значенню, і надто щедрий список слів може вкоротити значення так, що воно вилетить із порівняння.
Кнопка «Сформувати список слів» збирає словник із незіставлених товарів цього прайсу: зовсім короткі слова відкидаються, у список потрапляє максимум тисяча слів, найдовші зверху. Слова показуються під кнопкою — в поле «Очищати слова» вони самі не переносяться. Це не готовий список, а матеріал: пройдіться по ньому й скопіюйте в поле те, що заважає. Саме поле зберігається без окремої кнопки.
1
Поле «Очищати слова»2
Кнопка «Сформувати список слів»3
Кнопка «Відкрити глобальні правила очищення слів»4
Зібрані слова- Слово на рядок; слова вирізаються з обох сторін порівняння, і список свій для кожного рядка правила.
- Збирає кандидатів із незіставлених товарів цього прайс-листа; кнопка безпечна — сама нічого не записує.
- Веде до правил очищення слів, спільних для всіх прайс-листів.
- Зібрані слова виводяться під кнопкою; у поле «Очищати слова» їх переносять вручну.
Слова, які треба чистити в усіх прайсах одразу, живуть в окремому вікні «Правила очищення слів під час зіставлення товарів (для всіх прайс-листів)» — воно відкривається кнопкою «Відкрити глобальні правила очищення слів» одразу під полем «Очищати слова» (та сама дія продубльована іконкою в меню додаткових операцій форми).
Умови i~ та i~~: пошуковий індекс
Ці дві умови працюють не звичайним порівнянням рядків, а через пошуковий індекс, і кожній потрібен свій індекс: i~ вимагає ввімкненого «Пошуковий індекс прайсів», i~~ — «Пошуковий індекс каталогу».
Обидва перемикачі живуть у вікні «Налаштування системи», розділ «Пошук». Це небезпечні налаштування: програма перепитає «Налаштування впливає на роботу всієї системи. Застосувати зміну?». Вмикання створює індекс, вимикання його видаляє, тому повторне вмикання означає повну переіндексацію і час на неї. Рівнем нижче потрібен піднятий на площадці пошуковий сервер — це умова встановлення, з тенанта її не вмикають.
Коли індекс увімкнений, вид повністю переходить в індексну гілку: звичайне порівняння для нього не виконується. Замість збігу рядків іде повнотекстовий морфологічний пошук, і береться один найкращий результат, навіть якщо він слабкий. Очистка, мінімальна довжина й галочки «Враховувати …» у цій гілці не застосовуються взагалі.
Обидва пошукові індекси вмикаються окремо і за замовчуванням вимкнені: поки індекс не ввімкнено, умова i~~ не працює.
Якщо не ввімкнено жодного індексу, рядок правила з такою умовою мовчки пропускається — помилки не буде, просто правило працюватиме без нього. А от якщо один індекс увімкнено, а рядку потрібен другий, мовчки пропускається весь вид: решта рядків правила теж не спрацює. Тому не змішуйте в одному правилі індексні й звичайні умови.
Чого в цьому вікні немає
Щоб не витрачати час на пошуки, ось чого у вікні налаштувань зіставлення немає.
- Передперегляду правила і пробного прогону. Побачити, що дає правило, можна тільки запустивши зіставлення й подивившись сітку товарів прайсу.
- Лічильника «скільки знайшов цей вид». Кількість пише журнал роботи рядком «Всього знайдено товарів: N» після кожного виду.
- Перевірки, чи сумісні вибрані поля. Числове поле каталогу й текстове поле прайсу виберуться поруч без жодного попередження.
- Позначки, які поля прайсу в цього джерела реально заповнюються. У списку всі.
Тому робочий порядок такий: змінили правило — запустили зіставлення — подивилися журнал і сітку товарів прайсу. Іншого способу перевірити правило немає, і саме тому наступний розділ варто прочитати до того, як тиснути кнопку.
Перезапуск зіставлення: найнебезпечніша кнопка
Кнопка «Запустити зіставлення товарів» у шапці вікна перебирає прайс наново й розставляє звʼязки за правилами. Користуватися нею потрібно — інакше змінені правила ніяк не перевірити.
Кроків два. Спочатку з усіх рядків прайсу знімаються звʼязки — геть усі, і автоматичні, і підтверджені вручну. Потім програма збирає їх заново за видами зіставлення, які ввімкнені саме в цього прайсу, у тому порядку, у якому вони стоять у списку.
Обидва кроки програма називає сама: клік по кнопці відкриває червоне вікно підтвердження «Запустити зіставлення товарів» із текстом «Перед добором буде знято ВСІ звʼязки цього прайс-листа, потім звʼязки доберуться заново. Ручні звʼязки повернуться, лише якщо у прайсу увімкнено правило зіставлення «вручну пов'язані». Продовжити?». «Вручну повʼязані» в цьому тексті — це вид «Пошук вручну зіставлених товарів», про який ідеться нижче. Тобто прочитати попередження до натискання вже не забудеш; лишається тільки перевірити ту саму умову, на яку воно вказує.
Підтверджені вручну пари повертаються з довідника, але не самі собою. Відновлення живе всередині виду «Пошук вручну зіставлених товарів». Якщо цього виду в списку прайсу немає або він вимкнений, відновлення просто не спрацює, і розбирати прайс доведеться заново. Це умова, а не гарантія.
Перед натисканням «Запустити зіставлення товарів» подивіться на список видів цього прайсу. У ньому має бути «Пошук вручну зіставлених товарів». Немає — спочатку додайте його кнопкою «Додати вид зіставлення», і лише потім запускайте.
Хід прогону видно в журналі роботи так само, як під час звичайного завантаження: рядок на кожен застосований вид і кількість знайденого після нього. Прогін по одному прайсу зупинити не можна — кнопка працює до кінця, без прогресу й без «Стоп».
Та сама кнопка є ще в одному місці — у вікні «Види зіставлення товарів», у меню додаткових операцій. Звідти вона запускається по всіх прайс-листах усіх активних контрагентів одразу: спочатку знімає звʼязки, потім збирає заново — у кожному прайсі. Підтвердження там інше й прямо про це попереджає: «Вікно відкрито без вибраного прайс-листа: звʼязки буде перезібрано за ВСІМА активними прайс-листами всіх активних постачальників. Перед добором усі наявні звʼязки знімаються. Операція довга та незворотна. Продовжити?». Такий прогін хоча б можна перервати: пункт «Зупинити завантаження» в бургері «Меню» лівої панелі «Списку прайс-листів», підменю «Завантаження джерел», зупинить його на межі між прайсами, а той прайс, який уже почався, доробиться до кінця. Натискати «Зупинити завантаження» заздалегідь марно — воно діє тільки під час прогону.
Поруч із небезпечною кнопкою стоїть її протилежність — «Зберегти автоматично знайдені товари як вручну зіставлені». Вона нічого не перебирає: бере звʼязки, які прайс уже має, і дописує їх до довідника ручних пар. Сенс рівно один — закріпити вдалий добір до того, як наступний перезапуск його знесе. Підтвердження в неї теж своє, спокійніше: «Усі автоматично знайдені звʼязки цього прайс-листа буде записано до довідника як повʼязані вручну. Продовжити?». Із вікна «Види зіставлення товарів» вона так само працює по всіх прайс-листах одразу, і текст підтвердження про це попереджає. Пари, які вже є в довіднику, повторно не додаються.
Довідник «Види зіставлення товарів»
Це інше вікно, і поводиться воно інакше. Воно відкривається пунктом «Види зіставлення» з бургера «Меню» у шапці лівої панелі джерел — це інший бургер, не той, з якого відкривається попрайсове вікно. Виглядає як звичайний довідник. Але правка рядка в ньому міняє налаштування в усіх прайс-листах одразу — попередження про це висить у самому вікні: «Налаштування за замовчуванням нижче, додавши нові прайс-листи. Увага! Налаштування також змінюються для поточних прайс-листів.» Заради одного постачальника сюди заходити не треба: для цього є попрайсове вікно «Налаштування зіставлення товарів».
Сітка правиться подвійним кліком по клітинці. Колонки: «Активність», «Назва виду зіставлення», «Порядок», «Очищати кирилицю», «Очищати спец. символи», чотири «Враховувати …» і «Мін. кількість символів» — остання показується, але не редагується.
1
Попередження в шапці2
Колонка «Активність»3
Колонки «Очищати кирилицю» і «Очищати спец. символи»4
Колонка «Мін. кількість символів»5
Бургер- Правка тут одразу змінює налаштування в усіх прайс-листах.
- Позначає, які види зіставлення застосовуються за замовчуванням у нових прайс-листах.
- Це умовчання, з якими вид потрапляє в новий прайс-лист.
- Показується, але не редагується в цій таблиці.
- Звідси порівняння товарів запускається одразу по всіх прайс-листах.
Кнопок «додати» і «видалити» тут немає: список видів фіксований, свій вид у довідник не заводять. Власне правило робиться індивідуальним видом у конкретному прайсі — розділ вище.
Колонка «Порядок» у довіднику задає черговість для нових прайсів. Прайсам, які вже створені, вона черговість не змінює: там порядок міняють перетягуванням у попрайсовому вікні.
Прайс залишків
Якщо ви відкрили налаштування зіставлення для прайсу залишків, ви побачите інший набір видів і порожню праву панель — так і має бути. Прайс залишків не звіряється з базовим каталогом: він звіряється з основним прайсом того самого постачальника, щоб перенести звідти наявність, кількість і ціни. Тому й види в нього свої — пошук по штрихкоду EAN, по артикулу контрагента, по артикулу виробника з найменуванням, по найменуванню і по артикулу виробника (ці пʼять працюють з коробки), плюс чотири види «за входженням». Поля, умови й черговість у них зашиті в програму, очистка слів і мінімальна довжина не застосовуються, перетягування списку на порядок не впливає. Налаштовувати там нічого.
Чек-лист: постачальник зіставляється погано
Перевірте по порядку
Часті запитання
Чому програма підставила зовсім не той товар?
Тому що під правило підійшло кілька товарів каталогу, а програма в такому разі бере довільний і не попереджає. Неоднозначне правило дає не «пару не знайшли», а «знайшли випадкову». Звужуйте правило: додайте другий рядок, увімкніть «Враховувати виробника» або «Враховувати категорію», підніміть мінімальну довжину.
Які види зіставлення працюють одразу після створення прайсу?
Три, у такому порядку: «Пошук вручну зіставлених товарів», «Пошук за артикулом виробника» і «Пошук за найменуванням товару». Це системне умовчання, тому на старті в налаштування лізти не треба.
Чому вид «Пошук за найменуванням товару» нічого не знаходить?
Найімовірніше, через галочку «Видаляти кирилицю», яка в цього виду ввімкнена за замовчуванням. Повністю кириличне найменування після очистки перетворюється на порожній рядок, і такий рядок вилітає з порівняння. Зніміть галочку в рядку правила — тоді порівнюватимуться повні назви.
Скільки рядків правила враховується під час прогону?
Не більше десяти, у порядку колонки «Порядок». Одинадцятий і далі не застосуються. Усі рядки складаються через «і»: пара зараховується, тільки якщо збіглися всі.
Чи повернуться ручні зіставлення після кнопки «Запустити зіставлення товарів»?
Тільки за умови, що у списку видів цього прайсу є ввімкнений вид «Пошук вручну зіставлених товарів». Кнопка спочатку знімає всі звʼязки прайсу, а повертає підтверджені пари саме цей вид. Немає його в списку — ручна робота пропаде.
Чому умови i~ та i~~ нічого не дають?
Їм потрібен увімкнений пошуковий індекс, і кожній свій: i~ працює через індекс прайсів, i~~ — через індекс каталогу. Вмикаються вони у вікні «Налаштування системи», розділ «Пошук». Якщо не ввімкнено жодного індексу, рядок з такою умовою мовчки пропускається. Якщо ж увімкнено один індекс, а рядку потрібен другий, мовчки пропускається весь вид разом зі звичайними рядками правила.
Як перевірити правило, не запускаючи зіставлення?
Ніяк: передперегляду й пробного прогону в програмі немає. Результат видно тільки після запуску — у журналі роботи рядком «Всього знайдено товарів: N» по кожному виду і в сітці товарів прайсу.
Суміжні теми
- Ручне зіставлення товарів постачальника з каталогом — що робити з тим, що правила не звʼязали.
- Порядок операцій під час завантаження прайсу — де зіставлення стоїть у конвеєрі й що відпрацьовує до нього.
- Як завантажити прайс постачальника в Elbuz — крок, під час якого зіставлення і спрацьовує.
- Зіставлення товарів постачальників — розділ керівництва, до якого належить ця стаття.

