# Весовой товар и поиск по штрихкоду — прогресс Реальный сценарий владельца (09.10.2026): **весов с печатью этикеток НЕТ**. Штрихкоды весовых товаров (631 шт, вид «27xxxxx», 7 цифр) — коды, которые владелец сам генерирует и задаёт в карточке товара. Кассир сканирует код товара, вес — с весов на кассе (или вручную). Задача ЗАМЕНЯЕТ прежнюю про весовые этикетки. Легенда: [x] готово · [~] частично · [ ] не начато. ## Найденные баги (корень) - (а) Весовая «этикетка» сопоставлялась с товаром **по артикулу**: `ByBarcode` имел `|| (parsed.IsWeighted && p.Article == lookup)` → вода с артикулом 12345 находилась по PLU 12345 из «этикетки» 2112345015007 и возвращала 1,5 кг. Поиск по ШК НЕ должен матчить по артикулу нигде. - (б) Разбор весовых этикеток был **включён по умолчанию** (`WeightedBarcodeSettings. Enabled=true`, `Organization.WeightBarcodeEnabled` DEFAULT true, префикс 27 в ценовых) → внутренние/обычные коды принимались за весовые. ## План / статус 1. [ ] Разбор весовых этикеток ВЫКЛ по умолчанию (server/POS/web/mobile). Поиск по ШК — только точное совпадение (включая короткие 7-значные «27xxxxx»); убрать матч по артикулу. 2. [ ] Настройка орг «Весы с печатью этикеток» (как префикс МойСклада): выкл по умолчанию; при вкл — префикс(ы) + формат ПП ККККК ВВВВВ К; **сначала точный ШК, потом разбор**. 3. [ ] Касса: весовой товар → вес с весов (COM/USB, Масса-К/CAS) или ручной ввод; сумма = цена/кг × вес; «1,235 кг × 690 ₸/кг». 4. [ ] Генератор ШК: штучный — EAN-13 (как сейчас); весовой — EAN-13 или короткий «27 + 5» (настройка «формат кода весовых», по умолчанию 27 + следующий свободный 5-значный); проверка уникальности. 5. [ ] `/api/pos/v1/sync`: unitCode «796» → отдавать unitCode (ОКЕИ) + unitShort («шт»/«кг»/«л»); обновить docs/mobile-api.md. 6. [ ] Тесты (unit/integration) + full-chain без регрессий + деплой. ### Автопоиск весов (данные sysadmin: МойСклад-касса спамит «Порт не выбран»/«Таймаут») - [ ] Касса сама находит весы: автоскан всех COM (вкл. USB-COM CH340/Prolific) с Масса-К/CAS, кнопка «Найти весы» в настройках; найденный порт запоминается. - [ ] Весы не отвечают → значок «Весы не подключены» + мгновенный ручной ввод, без спама, опрос только при весовом товаре и не чаще нужного. - [ ] В логе — одна запись о потере связи, не сотни. ## Что НЕ трогаем Прод, shared-postgres, global.json, gateway nginx, sklad.