# Фоновая «Проверка данных» — прогресс Идея владельца (08.10): «система в фоне не спеша должна выявлять товары без группы и выводить это как предупреждение, что необходимо задать им группу». Расширяем на основные проблемы данных. Правило: минимум как у МойСклада, где можно — лучше. Легенда: [x] готово · [~] частично · [ ] не начато. ## Сверка с МойСкладом - У МойСклада **нет отдельного дашборда «проверка данных»**. Есть фильтры в списке ассортимента: по папке/группе (можно отобрать «без папки»), по архивности; отчёт «Остатки» с фильтром отрицательных. Поиск дублей штрихкодов/названий как встроенной фичи у них **нет** (ловится только при вводе дубля штрихкода — ошибка). - **Делаем лучше:** выделенная панель «Проверка данных» со счётчиками по каждой проблеме, фоновый расчёт (не грузит БД в часы продаж), массовое исправление из списка, детект дублей (штрихкод; имя+единица «возможно, дубль») с «это разные товары», отключение проверок, ненавязчивый бейдж, то же через API для iOS. ## Проверки (поправка: PLU убран; без-штрихкода — для старых/импорта) - `no-group` — товар в корневой группе / «Без группы» (нужно задать группу). - `no-sale-price` — нет цены продажи (продать нельзя). - `no-barcode` — нет штрихкода (кроме услуг; новые получают автоматически — это для старых/импорта). - `dup-barcode` — один штрихкод у разных товаров. - `dup-name-unit` — одинаковое название+единица у разных товаров («возможно, дубль»). - `negative-stock` — товары в минусе: НЕ дублируем уведомления, ссылаемся на центр (задача 01b34). - `unknown-cost` — ОТЛОЖЕНО до FIFO (себестоимость «неизвестна», а не «0»). ## План / статус 1. [ ] Hangfire-задача: лёгкая, низкий приоритет, по организациям; ночной полный проход + recompute по запросу. Считает счётчики по каждой проверке (с учётом «это разные товары»). 2. [ ] Админка: панель «Проверка данных» (счётчики + детальные списки), бейдж на главной/каталоге, время последней проверки; iOS — те же API. 3. [ ] Массовое исправление: «Задать группу», «Задать цену», «Сгенерировать штрихкоды»; дубли — «Это разные товары» / открыть оба. 4. [ ] Отключение отдельных проверок в настройках; предупреждение исчезает при исправлении. 5. [ ] Тесты (unit/integration/e2e), деплой, скриншоты; реальные числа на витрине/Демо. ## Что НЕ трогаем Прод, shared-postgres, global.json, gateway nginx, sklad. FIFO/себестоимость — отдельная тема.