Як дізнатися, які товари прибрали правила ігнорування

6 хв

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

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

  • Товар зник із прайсу, а правила на нього ніби немає — колонки «Поле» і «Значення» показують, яке правило спрацювало.
  • Нове правило треба перевірити — після завантаження в журналі видно все, що воно зачепило.
  • Видаленого треба знайти конкретну позицію — журнал вивантажується в CSV і шукається в Excel.
  • Прогін обірвався — журнал і лічильники показують, які правила встигли спрацювати.

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

Що вміє журнал видалених товарів

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

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

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

Як побачити, що видалили правила

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

Спочатку ввімкнути

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

Підрозділ «Очищення та службове» з прапорцем ведення логу
1Вести лог видалених товарів (правила ігнорування)
  1. Вести лог видалених товарів — знято: журнал для цього джерела не наповнюється.

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

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

Що видно в журналі

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

Вікно «Журнал видалених товарів» — порожній стан
1Усього записів
2Тип правила
3Вивантажити файл (CSV)
  1. Усього записів — лічильник рядків журналу, зараз 0.
  2. Тип правила — джерело видалення: SQL-правило чи правило за ключовим словом.
  3. Вивантажити файл (CSV) — експортує вміст журналу.

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

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

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

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

Що лишається, якщо прогін обірвався

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

Обрив прогону по кнопці «Застосувати правила для товарів»

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

Обрив під час завантаження прайсу

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

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

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

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

Межі масштабу

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

Сценарії

Товар зник із прайсу — знайти правило й повернути товар

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

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

Тримати історію видалень за кілька прогонів

Що зробити. Після кожного завантаження вивантажуйте журнал кнопкою «Вивантажити файл (CSV)».

Що вийде. Кожен файл — список видаленого за один прогін: наступне завантаження чи «Застосувати правила для товарів» стирає попередні записи джерела.

Що робити, коли журнал порожній

Журнал видалених товарів не показує очікуваного
Що ви бачитеЧому такЩо зробити
У журналі порожньо, хоча товари видалялися Прапорець «Вести лог видалених товарів» вимкнений; або журнал уже перезаписався — його стирає і наступне завантаження прайсу, і наступне натискання «Застосувати правила для товарів» Увімкніть прапорець у картці прайсу й запустіть завантаження (журнал видалених товарів)

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

Чи можна з журналу одним кліком відновити товар?

Ні: на панелі журналу лише «Оновити», «Скасувати фільтр», «Вивантажити файл (CSV)» і «Очистити журнал для цього прайсу». Як повернути товар — сценарій.

Чи можна подивитися, що видалили вчора, якщо журнал був вимкнений?

Ні. Журнал наповнюється в момент видалення, а вже видалених рядків у прайсі немає. Увімкніть прапорець і завантажте прайс ще раз.

Чи сповільнює журнал завантаження?

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

Де видно, скільки товарів видалено, без журналу?

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

Чи повертаються записи журналу після зняття правила?

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

Суміжні теми

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