Elbuz сам чистить назви, описи й атрибути постачальника під час кожного завантаження прайсу: замінює слова, прибирає зайвий текст, вирізає шматок між двома мітками. Правило задають один раз.
Коли це знадобиться:
- Постачальник дописує в назву «(АКЦІЯ!!!)» чи службову обгортку — правило з «Видаляти текст» прибирає її з усіх назв.
- Один бренд постачальники пишуть по-різному — спільне правило зводить «Самсунг» до «Samsung» у всіх прайсах.
- Опис закінчується рекламним хвостом — правило відрізає все від першого слова хвоста до кінця.
- Значення атрибута не у вашому написанні — правило на точний збіг замінює його на ваше.
З чого почати: додайте правило у вікні «Правила заміни тексту» й завантажте прайс заново.
Розмова з підтримкою — замість читати: навіщо це потрібно, що налаштувати і що ви отримаєте.
Що вміють правила заміни тексту
- Замінити текст — «Самсунг» на «Samsung» в усіх назвах, де воно трапилося.
- Прибрати зайве — службову обгортку, «АКЦІЯ!!!», чужі телефони в описі.
- Вирізати шматок між двома мітками — рекламний хвіст опису чи вставку в дужках.
- Прибрати кирилицю або спецсимволи — з артикула чи моделі.
- Заповнити порожнє поле — своїм текстом або значенням іншої колонки прайсу.
- Діяти на всі прайси одразу — спільні правила задаються один раз.
- Прибрати слова, що заважають зіставленню — не змінюючи сам прайс.
Маршрут задачі
- Додати правило: обрати поле, вписати текстПравила заміни тексту
- За потреби звузити правило категоріями або додатковим фільтромПравила заміни тексту
- Переконатися, що операція заміни є в переліку операцій прайсуПорядок застосування операцій
- Перезавантажити прайс і звірити результат у сітці товарівСписок прайс-листів
Де це і хто має доступ
Від входу залежить, який набір правил ви бачите: спільний для всіх прайс-листів чи правила одного джерела. З меню відкривається спільний набір — угорі вікна написано «Використовуються налаштування для всіх прайс-листів.»
- Меню
- Довідники → Обробка прайс-листів → Правила заміни тексту
- Спільні правила з переліку
- Список прайс-листів → бургер у шапці → «Правила заміни тексту»
- Правила одного прайсу
- бургер рядка джерела → «Правила обробки»; або картка джерела → «Додатково»
- З картки виду зіставлення
- «Відкрити глобальні правила очищення слів» — окремий режим
- Право доступу
- вікно «Правила заміни тексту»; кнопки — блоки «Додати правило», «Видалити правило»
- Підготувати
- завантажений прайс і поле, у якому лежить зайвий текст
1
Правила заміни тексту- «Правила заміни тексту» — пункт меню в групі «Обробка прайс-листів» розділу «Довідники».
Ярлика на робочому столі у вікна немає. Пункт меню стоїть третім у групі «Обробка прайс-листів» — між «Правилами ігнорування» і «Зіставленням товарів».
Блок прав «Кнопка "Додати правило"» ховає і «Додати», і «Копіювати»; «Кнопка "Видалити правило"» — кнопку видалення. Решта елементів правами не закривається: менеджер, якому лишили тільки перегляд, усе одно зможе правити значення в сітці й задавати фільтри.
Доступ до пункту меню — окремий запис у правах. Пункт меню може мовчати, а вхід із картки прайсу при цьому працюватиме. Окремого вмикача модуля немає: функція доступна всюди, де є робота з прайс-листами.
Як створити правило
Правило створюється від поля. Спочатку ви кажете програмі, що чистите — найменування, опис, артикул, — і лише потім вписуєте текст. Тому кнопка «Додати» відкриває не форму, а список полів.
Крок перший: обрати поле
Список ділиться на дві секції: «Поля каталогу» і «Атрибути товару»; біля атрибутів стоїть мітка «атрибут». Угорі — «Останні вибрані», до п'яти полів, з якими ви працювали останніми.
1
Поле пошуку «Пошук поля…»2
Секція «Поля каталогу»3
Секція «Атрибути товару»- Поле пошуку «Пошук поля…» — звужує список за назвою поля або атрибута.
- Секція «Поля каталогу» — стандартні поля товару та прайс-листа.
- Секція «Атрибути товару» — рядки з міткою «атрибут», кожен атрибут каталогу можна обрати як поле правила.
Список великий. У демонстраційній базі полів прайсу 91, а активних атрибутів — 3104. На екран програма виводить не більше ста елементів і показує підказку «Показано не всі. Ще N — уточніть пошуком», де N — скільки лишилося.
Поле пошуку «Пошук поля…» з'являється, щойно елементів більше п'ятнадцяти, — саме ним і треба користуватися, гортати весь список сенсу немає.
Підпис поля береться з налаштувань сітки товарів прайс-листа, тому в списку він може відрізнятися від назви, яку ви пам'ятаєте з іншого вікна: одне поле програма підписує по-різному в різних сітках. Кожне поле стоїть у списку рівно один раз. Орієнтуйтеся на пошук за назвою, а не на позицію в списку.
Крок другий: модалка «Нове правило заміни»
Після вибору поля відкривається невелика форма. Угорі — рядок «Поле: назва обраного поля», щоб ви бачили, куди пишете правило.
1
Поле: Найменування2
Поле «Знайти»3
Прапорець «Видаляти текст»4
Прапорець «Використовується регулярний вираз»- Поле: Найменування — правило завжди створюється від конкретного поля товару чи прайс-листа.
- Поле «Знайти» — текст, який правило шукає у значенні поля.
- Прапорець «Видаляти текст» — усі знайдені входження тексту видаляються, поле «Замінити» не використовується.
- Прапорець «Використовується регулярний вираз» — текст у полі «Знайти» трактується як регулярний вираз.
| Поле форми | Що вписують |
|---|---|
| Знайти | Текст, який шукаємо в полі. Обов'язковий, курсор стоїть у ньому одразу. |
| Замінити | Чим замінити знайдене. Порожнє поле означає «нічим». |
| Видаляти текст | Прапорець: знайдене прибирається, а поле «Замінити» не використовується. |
| Враховувати регістр | Прапорець: «ТВ» і «тв» стануть різними текстами. |
| Використовується регулярний вираз | Прапорець: «Знайти» трактується як шаблон, а не як точний текст. |
| Примітка | Текст для себе. На роботу правила не впливає. |
Кнопки — «Створити» і «Скасувати». Порожнє «Знайти» форма не пропустить: під полем з'явиться «Вкажіть текст для пошуку». Правило з самих пробілів створити теж не вийде.
Пробіли по краях форма зберігає як є, але під час завантаження прайсу вони все одно будуть обрізані, доки в сітці не ввімкнено «Враховувати пробіли в тексті» — а в нового правила цей прапорець знятий. Тобто «ТВ » з пробілом наприкінці за замовчуванням шукатиметься як «ТВ»; як це змінити — нижче, у розділі про пробіли.
У формі три прапорці, а в сітці — сім, плюс «Активність». Решту задають уже в сітці, у самому рядку правила, — про це наступні два розділи.
Поле готового правила змінити не можна: колонка «Поле» в сітці не редагується. Помилилися з полем — створіть правило заново, а зайве видаліть.
Як замінити, прибрати або вирізати текст
Дій усього кілька, і задаються вони прапорцями в рядку правила. Від того, що саме вам потрібно зробити з текстом, залежить, які прапорці ставити.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Замінити знайдене всередині значення
Це поведінка за замовчуванням, і відповідає за неї прапорець «Пошук за входженням». Увімкнений, він означає: шукаємо текст усередині значення й замінюємо всі його входження, а не перше. Правило «Самсунг» → «Samsung» виправить назву «Телевізор Самсунг, пульт Самсунг» повністю.
Регістр за замовчуванням не враховується: «самсунг», «Самсунг» і «САМСУНГ» під таке правило потраплять однаково.
Спрацювати лише на точний збіг
Знімете «Пошук за входженням» — правило почне вимагати, щоб значення поля дорівнювало тексту «Знайти» цілком. Це потрібно рідко, і майже завжди — на значеннях атрибутів.
Типовий випадок: у клітинці атрибута лежить ціле значення — «Так», «Чорний», «XL», — і його треба привести до вашого написання, не зачепивши назв, у яких те саме слово просто трапилося.
Знятий «Пошук за входженням» разом із порожнім «Знайти» дає правило, яке нічого не робить. Умова перетворюється на «поле дорівнює порожньому тексту», тобто правило чіпатиме тільки ті товари, у яких поле і так порожнє. Якщо ви лишаєте «Знайти» порожнім навмисно — заради чисток, про які нижче, — прапорець має лишатися ввімкненим.
Прибрати знайдене
Прапорець «Видаляти текст». Знайдений текст вирізається з поля, а колонка «Замінити» при цьому не використовується взагалі — можете лишити її порожньою. Це найпоширеніший режим.
Приклад із демонстраційної бази: два правила з цим прапорцем — на текст «![CDATA[» і на «]]» — вичищають 95 найменувань із 95, тобто всі назви джерела. Постачальник віддає файл із службовою обгорткою навколо кожної назви, і два рядки налаштування прибирають її назавжди.
«Видаляти текст» завершує правило. Якщо в тому самому рядку заповнені ще й «Замінити» чи прапорці чисток, вони вже не виконаються. Потрібні дві дії — робіть два правила.
Вирізати блок між двома мітками
Дві колонки сітки, «Текст початку блоку» і «Текст кінця блоку», працюють у парі й окремо від «Знайти».
- Заповнений тільки початок. Відрізається все від знайденого тексту до кінця значення, разом із самим текстом. Так прибирають хвости на кшталт «Мультипіч ARDESTO — детальніше на сайті постачальника».
- Заповнені початок і кінець. Вирізається фрагмент між ними — разом з обома мітками. Так прибирають вставки в дужках або службові теги в описі.
Якщо «Знайти» і «Замінити» при цьому порожні, правило на вирізанні блоку й закінчується. Якщо заповнені — після вирізання виконається ще й звичайна заміна.
Довжина міток не має значення: вирізається рівно фрагмент між ними разом із самими мітками. Мітка «[note» відпрацює так само точно, як одна квадратна дужка, — текст перед нею лишається недоторканим.
Прибрати кирилицю або спецсимволи
Два прапорці для випадків, коли треба прибрати не конкретний текст, а цілий клас символів.
- «Видаляти кирилицю» — прибирає з поля кириличні літери, схлопує подвійні пробіли, які після цього утворилися, і обрізає пробіли по краях. Потрібно, коли в поле артикула чи моделі постачальник домішав пояснення українською.
- «Видаляти спец. символи» — прибирає керуючі символи й розділові знаки: дефіс, лапки, крапку, кому, слеш, дужки, знаки оклику й питання та решту службових символів.
Обидві чистки обмежені текстом «Знайти»: вони працюють тільки на тих рядках, де цей текст трапився. Щоб почистити поле в усіх товарів, лишіть «Знайти» порожнім і не знімайте «Пошук за входженням» — інакше правило шукатиме товари з порожнім полем.
На відміну від «Видаляти текст», прапорець «Видаляти спец. символи» правило не завершує: після нього виконається ще й заміна «Знайти» → «Замінити» тим самим рядком.
Як точніше задати, що шукати
Чотири налаштування уточнюють, як правило шукає текст: з урахуванням регістру, за шаблоном, разом із пробілами на краях або через службові слова-макроси.
Враховувати регістр
За замовчуванням регістр не важливий. Прапорець «Враховувати регістр» робить пошук точним: «ТВ» перестане знаходити «тв». У парі з «Видаляти текст» цей прапорець не діє — видалення завжди йде без урахування регістру.
У цьому режимі текст «Знайти» шукається як звичайний рядок, символ за символом. Тобто крапка, дефіс, дужки, зірочка, слеш і решта службових символів шукаються буквально — «Bosch (2.5-3.0)» знайде саме цей текст.
Шаблон замість точного тексту
Прапорець «Використовується регулярний вираз» перемикає поле «Знайти» з точного тексту на шаблон: у ньому можна описати не саме слово, а його форму — «чотири цифри поспіль», «усе в круглих дужках наприкінці рядка». Синтаксис — PCRE, той самий, що у вікні «Регулярні вирази», де є й перевірка виразу на зразку тексту, і готові приклади.
Два зауваження. Прапорець «Враховувати регістр» у цьому режимі не працює взагалі — він просто не бере участі. І помилка в самому шаблоні не дає жодного повідомлення: правило мовчки нічого не робить, а завантаження прайсу йде далі. Якщо шаблонне правило не спрацювало, першою підозрою має бути помилка у виразі.
Пробіли на краях
Прапорець «Враховувати пробіли в тексті». Вимкнений — пробіли по краях текстів «Знайти», «Замінити» та обох міток блоку обрізаються. Увімкнений — зберігаються.
Потрібен він тоді, коли ви прибираєте слово разом із пробілом після нього: правило «ТВ » → порожньо з увімкненим прапорцем дасть «Samsung QLED», а без нього — «Samsung QLED» з подвійним пробілом.
Макроси
Кілька службових слів, які можна написати замість тексту. Вони пишуться у фігурних дужках і працюють у своїх полях.
| Макрос | Де пишуть | Що робить |
|---|---|---|
{ПРОБЕЛ} або {SPACE} | «Знайти», «Замінити», обидві мітки блоку | Означає пробіл. Працює навіть тоді, коли «Враховувати пробіли в тексті» вимкнено, — тому це надійний спосіб задати пробіл явно. |
{ПУСТО} або {EMPTY} | «Знайти» | Правило спрацює тільки там, де поле порожнє або містить один нуль. Так заповнюють порожні поля текстом із «Замінити». |
{Прайс: Назва поля} | «Замінити» | Підставляє значення іншої колонки прайсу. Наприклад, правило на поле «Найменування» із {Прайс: Артикул постачальника} у графі «Замінити» підставить у назву артикул із того самого рядка. |
Сценарій «заповнити порожнє поле» складається з двох полів: у «Знайти» пишете {ПУСТО}, у «Замінити» — те значення, яким треба закрити пробіли в прайсі. Решта прапорців правила при цьому не потрібна: макрос сам задає умову відбору, і правило на ньому й завершується.
Довідник вікна пропонує цей самий сценарій. Сценарій рідкісний: порожні поля частіше закривають на боці постачальника.
Що саме макрос вважає порожнім: справді порожню комірку й комірку, у якій стоїть один нуль. Ані «0 балів», ані «Samsung TV» під нього не підпадають.
Заміна тексту чи регулярні вирази
Поруч у програмі живе вікно «Регулярні вирази», і його з цим плутають постійно. Різниця не в тому, що «там шаблони, а тут звичайний текст»: шаблон є і тут, під прапорцем «Використовується регулярний вираз».
Різниця в тому, куди дозволено покласти результат. Заміна тексту пише його тільки назад у те саме поле, з якого прочитала. Регулярні вирази за замовчуванням теж пишуть у власне поле, але поле-приймач у них можна змінити: витягти артикул із назви й записати його в поле артикула.
Тому чистка одного поля — спільна територія обох вікон: тут вона робиться за точним текстом або за шаблоном, там — за шаблоном і з передпереглядом. Перенести значення в інше поле вміють тільки регулярні вирази. А спільні правила для всіх прайс-листів, видалення блоку за початком і кінцем, чистка кирилиці та спецсимволів — тільки тут.
| Ознака | Правила заміни тексту | Регулярні вирази |
|---|---|---|
| Куди можна покласти результат | тільки в те саме поле | у те саме або в інше — на вибір |
| Основна дія | замінити або прибрати знайдене | дістати знайдене |
| Спільні правила для всіх прайс-листів | є | немає, тільки один прайс |
| Простий режим без виразів | є: пошук підрядка, точний збіг, видалення символів | немає |
| Обмеження за виробником | немає | є |
| Видалення блоку за початком і кінцем | є | немає |
| Чистка кирилиці та спецсимволів | є | немає |
| Урахування регістру | окремий прапорець | немає |
| Значення за замовчуванням, коли нічого не знайшлося | немає | є |
| Перевірка до завантаження | немає | є, на рядку й на товарах прайсу |
У переліку операцій завантаження це теж два різні кроки, і заміна тексту виконується раніше. Докладно про друге вікно — у статті Регулярні вирази: витягти значення з тексту прайсу.
Кнопки й колонки вікна
Панель кнопок
- «Додати» — відкриває список полів, з якого починається нове правило.
- «Видалити» — прибирає виділені рядки. Спитає підтвердження й покаже, що саме видаляє.
- «Копіювати» — дублює виділене правило разом із обраними для нього категоріями. Зручно, коли треба те саме правило на сусіднє поле або з іншим текстом: скопіювали й поправили в сітці.
- «Вибір категорій базового каталогу» — звужує виділене правило до певних категорій.
- «Додаткові операції» — бургер із двома пунктами: «Оновити» і «Скасувати фільтр».
- «Довідка» — відкриває довідкову статтю на сайті.
Довідник угорі вікна
Під панеллю кнопок згорнутий довідник: одна строчка-шлях, а кнопка «Показати ще» розгортає вісім розділів — від «Як обробляються правила» до «Типових сценаріїв» із шістьма готовими рецептами. Це стисла довідка по тих самих налаштуваннях, під рукою у вікні.
1
Кнопка «Додати»2
Кнопка «Копіювати»3
Кнопка «Вибір категорій базового каталогу»4
Колонка «Пошук за входженням»5
Колонка «Кількість товарів»6
Кнопка «Показати ще»- «Додати» — створити нове правило заміни тексту.
- «Копіювати» — дублювати виділене правило.
- «Вибір категорій базового каталогу» — обмежити дію правила певними категоріями.
- «Пошук за входженням» — увімкнено, тож текст «Знайти» шукається всередині значення поля.
- «Кількість товарів» — скільки рядків прайсу змінило правило під час останньої обробки.
- «Показати ще» — розгортає додаткові пояснення про роботу правил заміни тексту.
Колонки сітки
Значення правляться прямо в клітинці: клік відкриває клітинку на редагування, вихід із неї зберігає зміну. Окремої кнопки «Зберегти» у сітці немає.
Кнопки «повернути як було» немає. Щоб позбутися наслідків невдалого правила, вимкніть його прапорцем «Активність» або видаліть і завантажте прайс заново.
Дев'ять колонок — це прапорці й тексти, розібрані в попередньому розділі: «Знайти», «Замінити», «Видаляти текст», «Враховувати регістр», «Враховувати пробіли в тексті», «Використовується регулярний вираз», «Видаляти кирилицю», «Видаляти спец. символи», «Пошук за входженням». Ще дві — мітки блоку: «Текст початку блоку» і «Текст кінця блоку». Решта:
| Колонка | Що в ній |
|---|---|
| Поле | Поле товару, яке правило чистить. Задається при створенні й не редагується. |
| Порядок обробки | Число, яке визначає, котре правило спрацює раніше. |
| Категорія базового каталогу | Категорії, до яких звужене правило. Задаються кнопкою, не набираються руками. |
| Формула попередньої обробки | Службова колонка. У звичайній роботі не потрібна. |
| Примітка | Текст для себе. |
| Активність | Знятий прапорець вимикає правило, не видаляючи його. |
| ID | Номер правила. |
| Кількість товарів | Скільки рядків прайсу правило змінило. Про особливості цієї колонки — окремий розділ нижче. |
Під сіткою є рядок, який показує категорії виділеного правила.
Як обмежити правило категоріями чи фільтром
За замовчуванням правило чіпає всі рядки прайсу. Звузити його можна двома способами, і вони не заважають один одному.
Категорії базового каталогу
Виділіть рядок правила й натисніть «Вибір категорій базового каталогу». Обрані категорії показуються під сіткою, а саме правило починає діяти тільки на ті товари прайсу, які в ці категорії потрапили.
1
Дерево категорій базового каталогу2
Кнопка збереження- Дерево категорій базового каталогу — прапорцями позначають категорії, на які обмежується правило.
- Кнопка збереження — записує вибір категорій у правило (у цій зйомці не натискалася).
Слово «потрапили» тут ключове: ідеться про категорії вашого каталогу, а не про ті, що написані у файлі постачальника. Товари прайсу розкладаються по ваших категоріях окремим кроком завантаження, і цей крок стоїть у переліку операцій вище за заміну тексту. Тому на момент заміни категорія вже відома.
Видалення категорії каталогу знімає обмеження з правила. Якщо у правила була обрана єдина категорія і ви цю категорію видалили, прив'язка зникає — і правило починає застосовуватися до всього прайсу. Виглядає це так, ніби правило «раптом почало псувати чужі товари». Після будь-якої чистки дерева категорій варто пройтися по правилах, у яких категорії були задані, і перевибрати їх.
Додатковий фільтр
Під сіткою є згортний блок «Додатковий фільтр» — конструктор умов по полях прайсу. Порядок такий: спочатку виділіть рядок правила, потім задайте умову, потім натисніть «Зберегти». Умова записується саме у виділене правило, тост «Успішно оновлено» підтверджує збереження.
1
Випадний список полів прайсу2
Список операторів3
Кнопка «Очистити все»- Випадний список полів прайсу — визначає, до якого поля рядка застосовується умова.
- Список операторів — «містить», «не містить», «починається з», «порожній рядок» та інші варіанти порівняння.
- Кнопка «Очистити все» — прибирає всі умови додаткового фільтра.
Для чисел і цін доступні порівняння «дорівнює», «не дорівнює», «менше», «менше або дорівнює», «більше», «більше або дорівнює», «між». Для текстових полів — «містить», «не містить», «дорівнює», «не дорівнює», «починається з», «не починається з», «закінчується на», «не закінчується на», «порожнє», «не порожнє». Кнопка «Очистити все» прибирає умову цілком.
Блок прихований, доки в сітці немає рядків, і сам розкривається, коли ви стаєте на правило, у якого умова вже задана.
Інструмент рідкісний, але саме він рятує, коли правило треба обмежити чимось, чого немає серед колонок сітки: наприклад, чистити назву тільки в товарів дорожчих за тисячу.
У якому порядку правила виконуються
Порядок важливий, бо правила накладаються каскадом: друге правило бачить результат першого, третє — результат другого. Жодної позначки «цей рядок уже оброблено» не існує, кожне правило проходить по всіх товарах прайсу заново.
Порядок такий:
- спершу всі спільні правила — ті, що задані для всіх прайс-листів;
- потім усі правила цього прайсу;
- усередині кожної групи — за колонкою «Порядок обробки», а при однакових значеннях — за номером правила, старіші першими.
У нових правил «Порядок обробки» дорівнює нулю, тому за замовчуванням правила виконуються в порядку створення.
Сітка показує правила у зворотному порядку до виконання. За замовчуванням вона сортує за номером, новіші зверху, — а виконуються саме вони останніми. Якщо порядок для вас має значення, проставте числа в колонці «Порядок обробки» явно або відсортуйте сітку за нею кліком по заголовку.
Класичний приклад того, що дає каскад. Правило A міняє «ТВ » на «Телевізор », правило B міняє «Телевізор» на «TV».
Якщо A виконається першим, назва пройде обидва правила й стане «TV». Якщо першим виконається B, воно нічого не знайде, а після A в назві лишиться «Телевізор». Одні й ті самі два рядки дають різний результат — керує цим тільки колонка «Порядок обробки».
Спільні правила і правила одного прайсу
Наборів правил два, вікно одне й на вигляд однакове. Розрізняти їх треба свідомо, інакше правило створюється не там, де ви думали.
| Ознака | Спільні правила | Правила одного прайсу |
|---|---|---|
| Як відкрити | меню; бургер у шапці переліку прайс-листів → «Правила заміни тексту» | бургер рядка джерела → «Правила обробки»; картка джерела → секція «Додатково» |
| Підказка у вікні | «Використовуються налаштування для всіх прайс-листів.» | немає |
| Коли виконуються | першими | після спільних |
| Разом із чим зникають | нічим — лишаються, доки їх не видалять руками | з видаленням прайсу або контрагента |
Спільні правила — це те, що ви робите з усіма постачальниками однаково: прибрати «АКЦІЯ!!!», звести написання бренду до одного, викинути з опису чужі телефони. Правила прайсу — те, що стосується конкретного файлу: службова обгортка навколо назви, приписка постачальника наприкінці опису.
Коли правило спрацьовує
Заміна тексту — один із кроків завантаження прайсу. У переліку операцій він називається «Застосування правил автозаміни тексту» і стоїть після розподілу товарів за категоріями каталогу й перед пошуком виробника. Порядок кроків налаштовується у вікні «Порядок застосування операцій».
1
Рядок «Застосування правил автозаміни тексту»2
Рядок «Розподіл товарів за категоріями базового каталогу»3
Рядок «Автозаміна значень у товарів на підставі регулярних виразів»- Рядок «Застосування правил автозаміни тексту» — тут правила заміни тексту виконуються під час обробки прайсу.
- Рядок «Розподіл товарів за категоріями базового каталогу» — стоїть вище, бо заміна тексту спирається на визначену категорію.
- Рядок «Автозаміна значень у товарів на підставі регулярних виразів» — сусідня функція, стоїть нижче.
Місце в переліку обране не випадково: категорія товару вже відома, а пошук виробника й зіставлення з каталогом бачать почищені назви. Прибрана зі списку операція означає, що правила не виконаються взагалі, і попередження про це не буде. Детальніше: Порядок операцій під час завантаження прайсу.
Правила застосовуються до всіх рядків прайсу при кожній його обробці, а не тільки до нових. Окремий випадок — прайси, які приходять з парсера типу «стаття»: з переліку операцій у них виконується лише кілька кроків, і заміна тексту серед них є.
Правила міняють рядки прайс-листа, а не товари вашого каталогу. Виправлену назву картка товару отримає лише тоді, коли ви запустите .
Виправити цим вікном ті картки, що вже лежать у каталозі, не можна.
У журналі робіт заміна лишає технічний запис, який за замовчуванням прихований, і жодного повідомлення на кшталт «замінено стільки-то рядків» не пише. Єдиний звіт про результат — колонка «Кількість товарів» у вікні правил.
Перевірка нового правила
Що показує «Кількість товарів»
Це кількість рядків прайсу, які правило змінило під час останнього завантаження. Перед тим як застосовувати правила, програма обнуляє лічильники всіх правил, які збирається застосувати, — тому нуль у колонці означає саме «цього разу не знайшло», а не «колись не знаходило». Довідник вікна каже те саме: «Колонка "Кількість товарів" показує, скільки рядків змінило правило під час останньої обробки».
Число пишуть усі гілки правила: і звичайна заміна, і заміна з урахуванням регістру, і видалення тексту, і вирізання блоку, і чистка кирилиці, і чистка спецсимволів. Якщо в одного правила спрацювало кілька гілок поспіль — наприклад, спочатку вирізався блок, а потім пройшла заміна, — у колонці лишиться результат останньої з них, а не сума.
Колонка показує, скільки рядків прайсу змінило правило. Скільки рядків не підійшло, не показується ніде.
Як прибрати слова, що заважають зіставленню
Те саме вікно відкривається ще з одного місця. Відкрийте «Налаштування зіставлення товарів» — з бургера рядка джерела, група «Правила обробки», або з картки джерела, секція «Додатково». Далі відкрийте потрібний вид зіставлення: кнопка «Відкрити глобальні правила очищення слів» лежить у картці виду, а не в списку. Заголовок вікна буде інший: «Правила очищення слів під час зіставлення товарів (для всіх прайс-листів)».
Не плутайте з пунктом меню «Види зіставлення товарів» — це інше вікно, довідник видів, і кнопки очищення слів там немає.
Це не той самий набір правил, а окремий.
Він потрібен для зіставлення товарів: перед тим як порівнювати назву з прайсу з назвою у вашому каталозі, програма викидає з обох слова, які заважають збігтися, — «шт», «оригінал», «нова модель».
Чим цей режим відрізняється:
- колонки «Поле» немає: правило застосовується до тієї колонки, яка порівнюється в цей момент;
- прапорець «Видаляти текст» у формі створення ввімкнений одразу — у цьому режимі майже завжди потрібне саме видалення;
- беруться лише спільні правила й тільки з непорожнім «Знайти»;
- довідника й блоку «Додатковий фільтр» у вікні немає;
- ці правила не міняють прайс: вони працюють на тимчасових даних порівняння, а самі значення полів лишаються як були.
Режим задається в момент створення правила й потім не перемикається: перенести готове правило зі звичайного набору в набір очищення слів не можна, треба створити нове.
Кнопок «Копіювати» і «Вибір категорій базового каталогу» на панелі цього режиму немає — обидві тут ні до чого: категорій у тимчасових даних порівняння не існує.
Сценарії
Чотири типові задачі магазину і те, які налаштування правила для кожної потрібні.
Постачальник обгортає кожну назву службовим текстом
Що ввімкнути. Відкрийте вікно з бургера рядка джерела: група «Правила обробки» → «Правила заміни тексту». Натисніть «Додати», оберіть поле «Найменування», у «Знайти» впишіть службовий текст і поставте «Видаляти текст». «Замінити» лишіть порожнім. Кожен окремий шматок обгортки — окреме правило.
Що вийде. На кожному завантаженні цього прайсу всі входження тексту прибираються з назв його рядків. Правила прайсу виконуються після спільних, тому працюють уже з назвою, яку підготували спільні правила.
Чого не буде. Прайси інших джерел правило не зачепить. Картки товарів у каталозі не зміняться, доки не пройде оновлення базового каталогу.
Один бренд різні постачальники пишуть по-різному
Що ввімкнути. Відкрийте вікно з меню: Довідники → Обробка прайс-листів → Правила заміни тексту. Угорі має стояти «Використовуються налаштування для всіх прайс-листів.» Додайте правило на поле «Найменування»: «Знайти» — «Самсунг», «Замінити» — «Samsung». «Пошук за входженням» лишіть увімкненим, «Враховувати регістр» не ставте.
Що вийде. У прайсі кожного джерела, де в переліку операцій є «Застосування правил автозаміни тексту», усі входження слова в будь-якому регістрі замінюються на ваше написання.
Чого не буде. Межі слова правило не шукає: якщо «Самсунг» стоїть усередині довшого слова, заміниться і там. Прайс, у якого операцію заміни прибрали з переліку, спільне правило не оброблятиме.
Опис постачальника закінчується рекламним хвостом
Що ввімкнути. Створіть правило на поле опису, а потім у сітці впишіть у колонку «Текст початку блоку» перші слова хвоста, «Текст кінця блоку» лишіть порожнім і очистіть «Знайти» — форма створення без тексту пошуку правило не пропускає.
Що вийде. У рядках, де мітка трапилася, відрізається все від неї до кінця значення разом із самою міткою, а пробіли по краю обрізаються. Рядки без мітки лишаються як були.
Чого не буде. Якщо «Знайти» чи «Замінити» лишити заповненими, правило на вирізанні не зупиниться: після нього пройде ще й звичайна заміна.
Значення атрибута треба привести до вашого написання
Що ввімкнути. «Додати» → у списку полів секція «Атрибути товару» → потрібний атрибут. «Знайти» — написання постачальника, наприклад «Так», «Замінити» — ваше. У сітці зніміть «Пошук за входженням».
Що вийде. Правило змінить тільки ті значення цього атрибута в рядках прайсу, які дорівнюють тексту «Знайти» цілком.
Чого не буде. Значення, у якому те саме слово лише трапляється серед іншого тексту, не зміниться. Назв товарів і значень інших атрибутів правило на атрибуті не чіпає.
Що робити, коли правило не спрацювало
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| «Вкажіть текст для пошуку» | У формі нового правила поле «Знайти» порожнє або складається з самих пробілів | Вписати текст. Якщо потрібне правило без тексту пошуку — для чистки кирилиці, — створіть будь-яке правило й очистіть «Знайти» вже в сітці, лишивши «Пошук за входженням» увімкненим (чистки) |
| «Виберіть запис!» | Натиснули «Видалити», не виділивши рядок у сітці | Виділити правило кліком по рядку й повторити |
| Системне вікно браузера «Status: … Error: …» | Збереження правила не дійшло до сервера; правка в клітинці при цьому відкочується | Оновити вікно кнопкою «Оновити» в бургері й повторити. Якщо повторюється — звернутися в підтримку |
| Замість вікна — картинка-заглушка про заборонений доступ (англійською) | У вашої групи немає доступу до вікна «Правила заміни тексту» | Попросити власника відкрити доступ до вікна в правах групи (хто має доступ) |
| Кнопок «Додати» і «Копіювати» у вікні немає | Група закрита блоком прав «Кнопка "Додати правило"» — він ховає обидві кнопки одразу | Попросити відкрити цей блок у правах групи (хто має доступ) |
| Правило створено, а в колонці «Кількість товарів» нуль | Нуль тут означає «цього разу не знайшло». Причин три: текст не збігся; знято , а поле не дорівнює тексту цілком; операції заміни немає в переліку операцій прайсу | Перевірити прапорці правила й перелік операцій (що показує «Кількість товарів») |
| Правило з регулярним виразом нічого не робить, повідомлень немає | Помилка в самому виразі: програма її не показує, а завантаження прайсу йде далі | Перевірити вираз; синтаксис — PCRE (шаблон замість точного тексту) |
| Правило з «Враховувати регістр» не знаходить потрібний рядок | У цьому режимі текст шукається символ за символом, разом із регістром: «ТВ» не знайде «тв», а зайвий пробіл у полі «Знайти» зробить текст іншим | Звірити текст із тим, що стоїть у прайсі, або зняти «Враховувати регістр» (враховувати регістр) |
| Правило раніше працювало, а тепер застосовується до всього прайсу | У правила була обрана єдина категорія каталогу, і цю категорію видалили — прив'язка зникла разом із нею | Заново обрати категорії кнопкою «Вибір категорій базового каталогу» (кому саме застосується правило) |
| «Кількість товарів» показує число, якого вже не може бути | Колонка описує останнє завантаження прайсу, а не поточний стан сітки: після нього прайс могли завантажити ще раз без цієї операції або відредагувати рядки вручну | Завантажити прайс заново й подивитися число після цього (що показує «Кількість товарів») |
| Нові правила стоять у списку зверху, а виконуються останніми | Сітка сортує за номером правила, а виконання йде за колонкою «Порядок обробки» | Проставити «Порядок обробки» явно або відсортувати сітку за цією колонкою (порядок виконання) |
| У прайсі назви виправлені, а в каталозі старі | Правила міняють рядки прайсу; у картки каталогу значення потрапляють окремим кроком | Запустити оновлення базового каталогу (коли правило спрацьовує) |
| Два правила на одне поле дають не той результат, що очікували | Правила накладаються каскадом: друге бачить результат першого, і від порядку залежить підсумок | Проставити «Порядок обробки» обом правилам (порядок виконання) |
Часті запитання
Створив правило, а назви ті самі. Чому?
Правило діє з наступного завантаження прайсу. Якщо прайс уже перезавантажено, перевірте: чи є «Застосування правил автозаміни тексту» в переліку операцій прайсу, чи не звужене правило категоріями і чи збігається текст пошуку з тим, що лежить у полі.
Як прибрати слово, а не замінити його?
Поставте прапорець «Видаляти текст» і лишіть «Замінити» порожнім. Це найпоширеніший режим.
Правило має діяти на всі прайси — де його створити?
Відкрийте вікно з меню: Довідники → Обробка прайс-листів → Правила заміни тексту. Угорі має бути напис «Використовуються налаштування для всіх прайс-листів.» — це і є спільний набір. Спільні правила виконуються раніше за правила окремого прайсу.
Чи можна перенести знайдений текст в інше поле?
Ні, заміна тексту пише тільки в те саме поле, з якого прочитала. Перенести значення — наприклад, артикул із назви в поле артикула — уміють регулярні вирази (порівняння).
Чи можна побачити результат, не завантажуючи прайс?
Ні, передперегляду в цьому вікні немає. Перевіряють так: запам'ятовують кілька товарів у сітці прайсу, створюють правило, завантажують прайс заново й дивляться на ті самі товари.
Чи видно, хто й коли змінив правило?
Ні, історії змін вікно не веде. Для нотаток про те, навіщо правило і хто його завів, є колонка «Примітка».
Суміжні теми
- Якщо значення треба перенести в інше поле, наприклад артикул із назви, — Регулярні вирази для прайс-листа.
- Якщо правило налаштоване, а не спрацювало на жодному товарі — Порядок операцій під час завантаження прайсу.
- Якщо позицію треба не почистити, а прибрати з прайсу цілком — Правила ігнорування товарів прайсу.
- Якщо в прайсі назви виправлені, а в картках товарів старі — Оновлення базового каталогу.

