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

28 хв

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

Коли це знадобиться:

  • Постачальник дописує в назву «(АКЦІЯ!!!)» чи службову обгортку — правило з «Видаляти текст» прибирає її з усіх назв.
  • Один бренд постачальники пишуть по-різному — спільне правило зводить «Самсунг» до «Samsung» у всіх прайсах.
  • Опис закінчується рекламним хвостом — правило відрізає все від першого слова хвоста до кінця.
  • Значення атрибута не у вашому написанні — правило на точний збіг замінює його на ваше.

З чого почати: додайте правило у вікні «Правила заміни тексту» й завантажте прайс заново.

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

Що вміють правила заміни тексту

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

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

Де це і хто має доступ

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

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

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

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

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

Як створити правило

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

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

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

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

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

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

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

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

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

Форма «Нове правило заміни» для поля «Найменування» з текстом пошуку і галочкою «Видаляти текст»
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» під нього не підпадають.

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

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

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

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

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

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

Кнопки й колонки вікна

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

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

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

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

Вікно «Правила заміни тексту» прайс-листа «Криниця-Дистриб» із двома правилами
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 (шаблон замість точного тексту)
Правило з «Враховувати регістр» не знаходить потрібний рядок У цьому режимі текст шукається символ за символом, разом із регістром: «ТВ» не знайде «тв», а зайвий пробіл у полі «Знайти» зробить текст іншим Звірити текст із тим, що стоїть у прайсі, або зняти «Враховувати регістр» (враховувати регістр)
Правило раніше працювало, а тепер застосовується до всього прайсу У правила була обрана єдина категорія каталогу, і цю категорію видалили — прив'язка зникла разом із нею Заново обрати категорії кнопкою «Вибір категорій базового каталогу» (кому саме застосується правило)
«Кількість товарів» показує число, якого вже не може бути Колонка описує останнє завантаження прайсу, а не поточний стан сітки: після нього прайс могли завантажити ще раз без цієї операції або відредагувати рядки вручну Завантажити прайс заново й подивитися число після цього (що показує «Кількість товарів»)
Нові правила стоять у списку зверху, а виконуються останніми Сітка сортує за номером правила, а виконання йде за колонкою «Порядок обробки» Проставити «Порядок обробки» явно або відсортувати сітку за цією колонкою (порядок виконання)
У прайсі назви виправлені, а в каталозі старі Правила міняють рядки прайсу; у картки каталогу значення потрапляють окремим кроком Запустити оновлення базового каталогу (коли правило спрацьовує)
Два правила на одне поле дають не той результат, що очікували Правила накладаються каскадом: друге бачить результат першого, і від порядку залежить підсумок Проставити «Порядок обробки» обом правилам (порядок виконання)

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

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

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

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

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

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

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

Чи можна перенести знайдений текст в інше поле?

Ні, заміна тексту пише тільки в те саме поле, з якого прочитала. Перенести значення — наприклад, артикул із назви в поле артикула — уміють регулярні вирази (порівняння).

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

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

Чи видно, хто й коли змінив правило?

Ні, історії змін вікно не веде. Для нотаток про те, навіщо правило і хто його завів, є колонка «Примітка».

Суміжні теми

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