food-market/src
nns ff1580d162 feat(pos): отдельная программа «ALL MARKET — Проверка оборудования» (без входа/сервера/БД)
Приоритет владельца: sysadmin проверяет весы/принтер/сканер на ноутбуке магазина
без входа в кассу. Отдельный exe (food-market.pos.hwcheck), ссылается ТОЛЬКО на
pos.core ради Hardware/* — не умеет быть кассой (нет логина, сервера, БД, токенов,
сетевых запросов).

- pos.core/Hardware/HardwareProbe.cs: детект COM-портов (занят/свободен, VID/PID,
  описание) и принтеров Windows (имя/порт/в сети/число заданий) — только чтение,
  очередь не трогаем. WMI под OperatingSystem.IsWindows(); на Linux — базовый COM.
- pos.core/Hardware/BarcodeScan.cs: контрольная цифра EAN-13/EAN-8 и оценка
  «сканер vs ручной набор» по среднему интервалу между символами (чистая логика).
- food-market.pos.hwcheck: окно на Avalonia (код, без XAML), светлая тема, русский.
  Весы (Найти/Прочитать/Запустить-Остановить, live-вес ~350 мс, сырой hex, ручной
  выбор порта/скорости/протокола), COM-порты с пометкой «занят», принтеры (только
  чтение), сканер (EAN + тип ввода), «Сохранить/Копировать отчёт». Тестовая печать
  ВЫКЛ по умолчанию, включается только --allow-test-print.
- tests: EAN контрольная цифра (13/8, валид/битый) + классификация ввода. 50/50.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 08:37:55 +05:00
..
food-market.api perf(movements): считать total по базовой таблице без join (287k движений: count 1.1с→65мс) 2026-10-09 21:27:37 +05:00
food-market.application fix(sales): дата чека в UTC + защита от «будущих» времён 2026-10-09 09:58:34 +05:00
food-market.domain feat(migration): документный мигратор МойСклад (приёмки) + externalId на документах 2026-10-09 13:53:52 +05:00
food-market.infrastructure perf(stock-report): покрывающий индекс движений (Phase45) — отчёт остатков 2.4с→1.1с на реальном объёме 2026-10-09 21:29:27 +05:00
food-market.pos feat(pos): реальный протокол весов Масса-К (57600, ENQ/ACK, DC1, кадр) вместо угаданного 2026-10-11 08:29:06 +05:00
food-market.pos.core feat(pos): отдельная программа «ALL MARKET — Проверка оборудования» (без входа/сервера/БД) 2026-10-11 08:37:55 +05:00
food-market.pos.hwcheck feat(pos): отдельная программа «ALL MARKET — Проверка оборудования» (без входа/сервера/БД) 2026-10-11 08:37:55 +05:00
food-market.public fix(site): хвосты круга 2 — kb/quickstart, дубль H1 в блоге, 100k, перенос строки 2026-10-11 01:33:34 +05:00
food-market.shared fix: внутренний ШК 2x (не 02/ведущий-0) + разовый прогон «Проверки данных» при старте 2026-10-09 12:45:17 +05:00
food-market.web feat(migration-review): долги топ-20, UI «начальный остаток при переносе», дельта-таймер, прогресс 2026-10-09 20:43:44 +05:00