Правила заміни тексту: назви постачальника у вашому вигляді

24 хв

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

Постачальник надсилає назву «Мультипіч ARDESTO 1450Вт (АКЦІЯ!!!)», а у вашому каталозі має стояти «Мультипіч ARDESTO 1450Вт». Правила заміни тексту в прайс-листі — це рядки, кожен з яких каже: у якому полі знайти певний текст і що з ним зробити. Замінити на інший. Прибрати зовсім. Вирізати цілий шматок між двома мітками. Прибрати кирилицю або спецсимволи.

Правило задають один раз. Далі воно спрацьовує під час кожного завантаження цього прайсу — якщо ввімкнена «Активність» і операція заміни лишилася в переліку операцій прайсу (про це нижче). Найчастіше такі правила ставлять на поле «Найменування»: саме в назву постачальники пишуть усе підряд.

Вікно
«Правила заміни тексту»
Право доступу
доступ до вікна; кнопки додавання та видалення правил закриваються окремо
Підготувати
завантажений прайс і розуміння, у якому саме полі лежить зайвий текст: правило створюється від поля

Маршрут задачі

  1. Додати правило: обрати поле, вписати текстПравила заміни тексту
  2. За потреби звузити правило категоріями або додатковим фільтромПравила заміни тексту
  3. Переконатися, що операція заміни є в переліку операцій прайсуПорядок застосування операцій
  4. Перезавантажити прайс і звірити результат у сітці товарівСписок прайс-листів

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

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

Меню
Довідники → Обробка прайс-листів → Правила заміни тексту
З переліку прайс-листів
бургер у шапці вікна → «Заміна тексту» (спільні правила); бургер рядка джерела → група «Правила обробки» → «Правила заміни тексту» (правила цього прайсу)
З картки джерела
секція «Додатково» → кнопка «Правила заміни тексту»
З картки виду зіставлення
«Налаштування зіставлення товарів» → відкрити вид зіставлення → «Відкрити глобальні правила очищення слів»: те саме вікно в окремому режимі, про нього наприкінці статті
Пункт «Правила заміни тексту» в меню «Довідники» → «Обробка прайс-листів»
1Правила заміни тексту
  1. «Правила заміни тексту» — пункт меню в групі «Обробка прайс-листів» розділу «Довідники».

Ярлика на робочому столі у вікна немає: тільки меню й перелічені кнопки. Пункт меню стоїть третім у групі «Обробка прайс-листів» — між «Правилами ігнорування» і «Зіставленням товарів».

Перше правило: поле, текст, прапорці

Правило створюється від поля. Спочатку ви кажете програмі, що чистите — найменування, опис, артикул, — і лише потім вписуєте текст. Тому кнопка «Додати» відкриває не форму, а список полів.

Крок перший: обрати поле

Список ділиться на дві секції: «Поля каталогу» і «Атрибути товару»; біля атрибутів стоїть мітка «атрибут». Угорі — «Останні вибрані», до п'яти полів, з якими ви працювали останніми.

Список полів для нового правила заміни: поле пошуку, секція «Поля каталогу» та секція «Атрибути товару»
1Поле пошуку «Пошук поля…»
2Секція «Поля каталогу»
3Секція «Атрибути товару»
  1. Поле пошуку «Пошук поля…» — звужує список за назвою поля або атрибута.
  2. Секція «Поля каталогу» — стандартні поля товару та прайс-листа.
  3. Секція «Атрибути товару» — рядки з міткою «атрибут», кожен атрибут каталогу можна обрати як поле правила.

Список великий. У демонстраційній базі полів прайсу 91, а активних атрибутів — 3104. На екран програма виводить не більше ста елементів і показує підказку «Показано не всі. Ще %s — уточніть пошуком». Поле пошуку «Пошук поля…» з'являється, щойно елементів більше п'ятнадцяти, — саме ним і треба користуватися, гортати весь список сенсу немає.

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

Крок другий: модалка «Нове правило заміни»

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

Форма «Нове правило заміни» для поля «Найменування» з текстом пошуку і галочкою «Видаляти текст»
1Поле: Найменування
2Поле «Знайти»
3Прапорець «Видаляти текст»
4Прапорець «Використовується регулярний вираз»
  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» під нього не підпадають — і це варто знати тим, хто пробував макрос раніше й обпікся: до серпня 2026 року умова відбору була написана так, що текстове поле MySQL приводив до числа, і будь-яка назва, яка не починається з цифри, дорівнювала нулю. Тобто правило з {ПУСТО} на полі «Найменування» затирало назви майже всіх товарів прайсу. Зараз умова перевіряє саме порожнечу й нуль, і сценарій безпечний.

Чим це відрізняється від «Регулярних виразів»

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

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

ОзнакаПравила заміни текстуРегулярні вирази
Куди можна покласти результаттільки в те саме полеу те саме або в інше — на вибір
Основна діязамінити або прибрати знайденедістати знайдене
Спільні правила для всіх прайс-листівєнемає, тільки один прайс
Обмеження за виробникомнемаєє
Видалення блоку за початком і кінцемєнемає
Чистка кирилиці та спецсимволівєнемає
Урахування регіструокремий прапорецьнемає
Значення за замовчуванням, коли нічого не знайшлосянемаєє

У переліку операцій завантаження це теж два різні кроки, і заміна тексту виконується раніше. Докладно про друге вікно — у статті Регулярні вирази: витягти значення з тексту прайсу.

Вікно зсередини: кнопки й колонки

Панель кнопок

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

Довідник угорі вікна

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

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

Колонки сітки

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

Дев'ять колонок — це прапорці й тексти, розібрані в попередньому розділі: «Знайти», «Замінити», «Видаляти текст», «Враховувати регістр», «Враховувати пробіли в тексті», «Використовується регулярний вираз», «Видаляти кирилицю», «Видаляти спец. символи», «Пошук за входженням». Ще дві — мітки блоку: «Текст початку блоку» і «Текст кінця блоку». Решта:

КолонкаЩо в ній
ПолеПоле товару, яке правило чистить. Задається при створенні й не редагується.
Порядок обробкиЧисло, яке визначає, котре правило спрацює раніше.
Категорія базового каталогуКатегорії, до яких звужене правило. Задаються кнопкою, не набираються руками.
Формула попередньої обробкиСлужбова колонка. У звичайній роботі не потрібна: на всьому флоті вона заповнена в дев'яти правил.
ПриміткаТекст для себе.
АктивністьЗнятий прапорець вимикає правило, не видаляючи його.
IDНомер правила.
Кількість товарівСкільки рядків прайсу правило змінило. Про особливості цієї колонки — окремий розділ нижче.

Під сіткою є рядок, який показує категорії виділеного правила.

Кому саме застосується правило

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

Категорії базового каталогу

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

Вікно «Вибір категорій товарів» з деревом «Список категорій» і кнопкою «Зберегти»
1Дерево категорій базового каталогу
2Кнопка збереження
  1. Дерево категорій базового каталогу — прапорцями позначають категорії, на які обмежується правило.
  2. Кнопка збереження — записує вибір категорій у правило (у цій зйомці не натискалася).

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

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

Додатковий фільтр

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

Блок «Додатковий фільтр» з конструктором умов і розгорнутим списком операторів для текстового поля
1Випадний список полів прайсу
2Список операторів
3Кнопка «Очистити все»
  1. Випадний список полів прайсу — визначає, до якого поля рядка застосовується умова.
  2. Список операторів — «містить», «не містить», «починається з», «порожній рядок» та інші варіанти порівняння.
  3. Кнопка «Очистити все» — прибирає всі умови додаткового фільтра.

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

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

У якому порядку правила виконуються

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

Порядок такий:

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

У нових правил «Порядок обробки» дорівнює нулю, тому за замовчуванням правила виконуються в порядку створення.

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

Класичний приклад того, що дає каскад. Правило A міняє «ТВ » на «Телевізор », правило B міняє «Телевізор» на «TV». Якщо A виконається першим, назва пройде обидва правила й стане «TV». Якщо першим виконається B, воно нічого не знайде, а після A в назві лишиться «Телевізор». Одні й ті самі два рядки дають різний результат — керує цим тільки колонка «Порядок обробки».

Спільні правила і правила одного прайсу

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

ОзнакаСпільні правилаПравила одного прайсу
Як відкритименю; бургер у шапці переліку прайс-листів → «Заміна тексту»бургер рядка джерела → «Правила обробки»; картка джерела → секція «Додатково»
Підказка у вікні«Використовуються налаштування для всіх прайс-листів.»немає
Коли виконуютьсяпершимипісля спільних
Разом із чим зникаютьнічим — лишаються, доки їх не видалять рукамиз видаленням прайсу або контрагента

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

Коли правило спрацьовує

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

Список «Порядок застосування операцій» із рядками розподілу за категоріями, автозаміни тексту, пошуку виробника й автозаміни за регулярними виразами
1Рядок «Застосування правил автозаміни тексту»
2Рядок «Розподіл товарів за категоріями базового каталогу»
3Рядок «Автозаміна значень у товарів на підставі регулярних виразів»
  1. Рядок «Застосування правил автозаміни тексту» — тут правила заміни тексту виконуються під час обробки прайсу.
  2. Рядок «Розподіл товарів за категоріями базового каталогу» — стоїть вище, бо заміна тексту спирається на визначену категорію.
  3. Рядок «Автозаміна значень у товарів на підставі регулярних виразів» — сусідня функція, стоїть нижче.

Місце в переліку обране не випадково, і переставляти його є сенс тільки свідомо:

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

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

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

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

Перевірка нового правила

Що показує «Кількість товарів»

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

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

Колонка показує, скільки рядків прайсу змінило правило. Це той обсяг, який інакше довелося б правити руками при кожному оновленні файла.

Окремий режим: очищення слів під час зіставлення

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

Не плутайте з пунктом меню «Види зіставлення товарів» — це інше вікно, довідник видів, і кнопки очищення слів там немає.

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

Чим цей режим відрізняється:

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

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

Чого заміна тексту не робить

  • Не чіпає товари базового каталогу. Правила міняють рядки прайсу; у картки каталогу виправлені значення потрапляють окремим кроком — оновленням базового каталогу.
  • Не переносить значення в інше поле. Поле, з якого правило читає, і поле, у яке пише, завжди одне й те саме. Витягти артикул із назви й покласти в поле артикула вміє сусіднє вікно «Регулярні вирази».
  • Не показує результат до завантаження. Передперегляду в цьому вікні немає: єдиний спосіб побачити, що вийде, — завантажити прайс і подивитися сітку товарів. У «Регулярних виразах» така перевірка є, тут аналога немає.
  • Не має скасування. Кнопки «повернути як було» у вікні немає. Щоб позбутися наслідків невдалого правила, його вимикають прапорцем «Активність» або видаляють і завантажують прайс заново.
  • Не веде історію. Хто створив правило й коли його востаннє правили, вікно не показує.
  • Не повідомляє про помилку в шаблоні. Помилковий регулярний вираз не дає ні повідомлення, ні позначки в сітці: правило просто мовчить.
  • Не рахує, скільки рядків не знайшло. Колонка «Кількість товарів» показує, скільки рядків правило змінило; скільки не підійшло — не показує ніде.
  • Не працює без своєї операції. Якщо «Застосування правил автозаміни тексту» прибрали з переліку операцій прайсу, правила не виконаються, і жодного попередження про це не буде.

Що робити, коли правило не спрацювало

Розбір частих проблем
Що ви бачитеЧому такЩо зробити
«Вкажіть текст для пошуку» У формі нового правила поле «Знайти» порожнє або складається з самих пробілів Вписати текст. Якщо потрібне правило без тексту пошуку — для чистки кирилиці, — створіть будь-яке правило й очистіть «Знайти» вже в сітці, лишивши «Пошук за входженням» увімкненим (чистки)
«Виберіть запис!» Натиснули «Видалити», не виділивши рядок у сітці Виділити правило кліком по рядку й повторити
Системне вікно браузера «Status: … Error: …» Збереження правила не дійшло до сервера; правка в клітинці при цьому відкочується Оновити вікно кнопкою «Оновити» в бургері й повторити. Якщо повторюється — звернутися в підтримку
Замість вікна — картинка-заглушка про заборонений доступ (англійською) У вашої групи немає доступу до вікна «Правила заміни тексту» Попросити власника відкрити доступ до вікна в правах групи (хто має доступ)
Кнопок «Додати» і «Копіювати» у вікні немає Група закрита блоком прав «Кнопка "Додати правило"» — він ховає обидві кнопки одразу Попросити відкрити цей блок у правах групи (хто має доступ)
Правило створено, а в колонці «Кількість товарів» нуль Нуль тут означає «цього разу не знайшло». Причин три: текст не збігся; знято , а поле не дорівнює тексту цілком; операції заміни немає в переліку операцій прайсу Перевірити прапорці правила й перелік операцій (що показує «Кількість товарів»)
Правило з регулярним виразом нічого не робить, повідомлень немає Помилка в самому виразі: програма її не показує, а завантаження прайсу йде далі Перевірити вираз; синтаксис — PCRE (шаблон замість точного тексту)
Правило з «Враховувати регістр» не знаходить потрібний рядок У цьому режимі текст шукається символ за символом, разом із регістром: «ТВ» не знайде «тв», а зайвий пробіл у полі «Знайти» зробить текст іншим Звірити текст із тим, що стоїть у прайсі, або зняти «Враховувати регістр» (враховувати регістр)
Правило раніше працювало, а тепер застосовується до всього прайсу У правила була обрана єдина категорія каталогу, і цю категорію видалили — прив'язка зникла разом із нею Заново обрати категорії кнопкою «Вибір категорій базового каталогу» (кому саме застосується правило)
«Кількість товарів» показує число, якого вже не може бути Колонка описує останнє завантаження прайсу, а не поточний стан сітки: після нього прайс могли завантажити ще раз без цієї операції або відредагувати рядки вручну Завантажити прайс заново й подивитися число після цього (що показує «Кількість товарів»)
Нові правила стоять у списку зверху, а виконуються останніми Сітка сортує за номером правила, а виконання йде за колонкою «Порядок обробки» Проставити «Порядок обробки» явно або відсортувати сітку за цією колонкою (порядок виконання)
У прайсі назви виправлені, а в каталозі старі Правила міняють рядки прайсу; у картки каталогу значення потрапляють окремим кроком Запустити оновлення базового каталогу (коли правило спрацьовує)
Два правила на одне поле дають не той результат, що очікували Правила накладаються каскадом: друге бачить результат першого, і від порядку залежить підсумок Проставити «Порядок обробки» обом правилам (порядок виконання)

Хто має доступ

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

Усередині вікна є два окремі блоки прав:

  • «Кнопка "Додати правило"» — ховає кнопку «Додати» і кнопку «Копіювати».
  • «Кнопка "Видалити правило"» — ховає кнопку видалення.

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

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

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

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

Створив правило, а назви ті самі. Чому?

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

Як прибрати слово, а не замінити його?

Поставте прапорець «Видаляти текст» і лишіть «Замінити» порожнім. Це найпоширеніший режим.

Чим «Правила заміни тексту» відрізняються від «Регулярних виразів»?

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

Правило має діяти на всі прайси — де його створити?

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

Два правила чіпають одне поле. Яке спрацює першим?

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

Чи можна побачити результат, не завантажуючи прайс?

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

Що означає нуль у колонці «Кількість товарів»?

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

Суміжні теми

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