Короткий ответ: касса отказывает чаще всего не потому, что «система не отвечает», а потому что позиция заведена в справочнике так, что запрос уходит не про тот товар или не уходит вовсе. Дубль карточки, не проставленный признак маркировки, пустой код товарной группы, две единицы измерения на один товар — на кассовом экране это выглядит одинаково: позиция в чек не попала. Разбирать такое при живой очереди дороже всего, поэтому справочник проверяют заранее.
Модельный пример один по всей статье: розничная сеть из десяти точек, общий справочник в 5 000 активных позиций, учёт в 1С, кассовое ПО уже обновлено до релиза с поддержкой режима.
Это отказ, причина которого лежит не в коде маркировки и не в связи, а в карточке товара. Код настоящий, интернет есть, касса исправна — но система не сопоставляет отсканированный код с позицией, которую пробивает кассир. Перезагрузкой и повторным сканированием такое не лечится, а механика самой проверки разобрана в опорной статье почему касса перестала пробивать.
Как ошибка в карточке доезжает до кассы
Раньше касса проверяла код формально — структуру символов и то, что код есть. В разрешительном режиме решение принимает сервер: касса сканирует DataMatrix, отправляет запрос, получает ответ «разрешено» или «запрещено», и только тогда позиция попадает в чек. В запрос уходит не один код, а связка кода с позицией номенклатуры. Если связка в вашем справочнике собрана неверно, ответ будет отрицательным при полностью исправном коде.
- Дубль карточки. Один товар заведён дважды — «Вода питьевая 0,5» и «Вода пит. 0.5 л». Поставка с кодами пришла на первую, кассир пробивает вторую. Отказ выглядит как проблема площадки, а лежит в ящике с карточками.
- Не проставлен признак маркировки. Позиция в группе под режимом, но флаг пустой: касса не формирует запрос вовсе, товар уходит как обычный. Это тише отказа и хуже его — расхождение копится незаметно и всплывает на сверке остатков кодов.
- Пустой или чужой код товарной группы. Запрос уходит, но позиция не сопоставляется с группой, ответ приходит в духе «нет сведений»: кассир видит отказ, товаровед — нормальную карточку.
- Единица измерения и упаковка без коэффициента. Товар принят коробками, продаётся штуками, коэффициент не задан. Коды принадлежат одной сущности, списывается другая — на кассе это читается как «код есть, но не про этот товар».
Общая черта всех четырёх случаев: до продажи они не видны. Остатки сходятся, месяц закрывается, инвентаризация проходит, и первым о проблеме узнаёт кассир — отличить такой отказ от остальных прямо у кассы помогает разбор восьми причин отказа. Это тот же класс ошибок, из-за которого не сходятся цифры в 1С и CRM, только цена у него выше: там расходится отчёт, здесь останавливается продажа.
Горизонтальная схема из пяти блоков слева направо: «сканер DataMatrix», «карточка номенклатуры», «запрос на проверку», «ответ разрешено или запрещено», «позиция в чеке». От блока «карточка номенклатуры» вниз отходят четыре выноски с подписями: «дубль карточки», «нет признака маркировки», «пустой код группы», «единица измерения без коэффициента». Каждая выноска заканчивается крестиком на линии запроса. Внизу подпись: «код настоящий, связь есть, отказ по данным». Чертёжный стиль, приглушённая палитра, подписи по-русски.
Пять проверок, которые находят это до кассы
Проверки делаются на выгрузке справочника или запросом к копии базы, а не правками в рабочей базе на ходу. Порядок такой: сначала собираются все пять списков и снимаются пересечения, и только потом кто-то что-то меняет. Иначе чистка по первой проверке перемешивает выборку второй.
- 1Дубли по штрихкоду и по нормализованному наименованию. Первый запрос — группировка по штрихкоду: где на один штрихкод больше одной карточки. Второй — по наименованию в нижнем регистре без пробелов, кавычек и дефисов; он ловит то, чего не видит первый: товар, заведённый дважды без штрихкода.
- 2Позиции маркируемых групп без признака маркировки. Карточки, чей код товарной классификации относится к группе под режимом, а флаг «подлежит маркировке» не стоит. Самая опасная категория: даёт не отказ, а тихое расхождение.
- 3Пустые обязательные реквизиты. Единица измерения, вид номенклатуры, ставка НДС, код товарной группы, вид упаковки. Набор полей зависит от конфигурации, принцип общий: пустое поле здесь — кандидат на отказ.
- 4Расхождение единицы измерения и упаковки. Карточки, где единица хранения и единица продажи различаются, а коэффициент пересчёта пуст, равен единице при коробочной поставке или проставлен задним числом.
- 5Активные позиции без движения за 12 месяцев. Ни продаж, ни поступлений, но карточка активна и лезет во все выгрузки. Сама по себе безвредна, но именно в этом слое живёт большая часть дублей и пустых реквизитов.
Запросы пишутся один раз и дальше живут как регулярный отчёт. Если вы собирали чек-лист проверки качества данных перед переносом в новую систему — это тот же инструмент, нацеленный на пять полей. Где в учётной системе смотреть журналы при отказе, разобрано в материале разрешительный режим в 1С.
Что нашли на справочнике в 5 000 позиций
Ниже — модельный результат для сети из десяти точек. Это ориентир для планирования, а не норматив: в конкретной базе доли гуляют в обе стороны, но соотношение между проверками обычно сохраняется.
| Проверка | Найдено строк | Что с ними делать |
|---|---|---|
| Дубли по штрихкоду и наименованию | 240 | Склеить: одна карточка главная, остальные в архив |
| Маркируемая группа без признака маркировки | 95 | Проставить признак, сверить остатки кодов |
| Пустые обязательные реквизиты | 310 | Заполнить по документу поставщика |
| Единица и упаковка без коэффициента | 140 | Задать коэффициент или развести на две позиции |
| Активные позиции без движения за год | 420 | Перевести в архив пакетной операцией |
| Всего строк в отчётах | 1 205 | После снятия пересечений — 840 позиций, 17 % справочника |
Пересечения снимаются обязательно: одна и та же карточка регулярно попадает сразу в три списка — она и дубль, и без признака маркировки, и год без движения. Считать её трижды означает завысить смету почти в полтора раза и получить отказ от работ ещё на этапе обсуждения.
Двенадцать минут на дубль — это не «нажать кнопку объединения»: надо решить, какая карточка главная, перенести штрихкоды и коды, сверить остатки и историю по обеим, поправить документы открытого периода и только потом убрать вторую. Четыре минуты на реквизит — найти документ поставщика и вписать значение из него, а не из памяти.
Теперь цена бездействия. В модельной точке разбор отказов по данным — 25 случаев в неделю по 20 минут суммарного времени кассира, старшего смены и товароведа: 8,3 часа в неделю, около 36 часов в месяц и 32 400 ₽ по той же ставке. Чистка за 60 570 ₽ окупается меньше чем за два месяца — без учёта ушедших покупателей.
Диаграмма из двух частей. Слева пять горизонтальных столбцов с подписями и значениями: «дубли — 240», «без признака маркировки — 95», «пустые реквизиты — 310», «единицы без коэффициента — 140», «без движения за год — 420», под ними итог «1 205 строк». Справа один столбец «840 уникальных позиций» заметно короче суммы, между частями стрелка с подписью «минус пересечения». Внизу подпись: «17 % справочника из 5 000 позиций, чистка 67,3 часа». Чертёжный стиль, приглушённая палитра, подписи по-русски.
Порядок чистки, при котором магазин продолжает торговать
- 1Закрыть кран
До первой правки — правило ввода: новые позиции заводит один человек, по документу поставщика, с обязательными полями. Иначе мусор появляется быстрее, чем вы его убираете.
- 2Снять срез
Выгрузить справочник в файл с датой и работать против этого среза. Без него не доказать, что позиция изменилась в ходе чистки, а не была такой изначально.
- 3Начать с групп под режимом, а не с алфавита
Сначала группы, которые уже под режимом и реально продаются в ваших точках, остальное — вторым заходом. Эффект на кассе виден через неделю, а не через месяц.
- 4Архив — пакетом и первым делом
Позиции без движения за год уходят в архив одной операцией, с выборочной проверкой двадцати карточек до и после. Архивная карточка не мешает ни продаже, ни отчёту, зато справочник становится обозримым.
- 5Дубли — склеивать, а не удалять
Одна карточка назначается главной, на неё переносятся штрихкоды, коды и остатки, вторая помечается на удаление и физически убирается после закрытия периода. Порядок склейки и типовые грабли разобраны в материале синхронизация справочников: кто главный и как гасить дубли.
- 6Порциями, с проверкой на кассе
Порция — одна товарная группа, после неё на закрытой кассе пробивается тестовый чек по трём позициям. Нашли отказ — разбираете десять карточек, а не восемьсот.
- 7Приёмка теми же пятью запросами
Работа сдана, когда повторный прогон даёт не ноль, а объяснимый остаток: позиции с отложенным решением и комментарием по каждой. Ноль здесь обычно означает, что запрос переписали под результат.
Не удалять карточку с движениями в открытом периоде — это ломает отчётность и обнаруживается на закрытии месяца. Не менять штрихкод у карточки, на которой висят остатки маркированного товара: коды перестанут находиться. Не запускать чистку в день инвентаризации, в день поставки и в предпраздничную неделю — правки в эти дни дают расхождение, которое никто потом не распутает. Как считать остатки, не останавливая работу, разобрано в материале инвентаризация без остановки склада.
Кто отвечает за справочник после чистки
Справочник — не проект, а процесс: через год после разовой чистки те же 840 строк возвращаются, если не назначен человек и не закреплено правило ввода. Минимальный набор такой.
- Один владелец справочника. Товаровед или категорийный менеджер, поимённо, с этой обязанностью в должностной инструкции. «Отвечают все» означает, что не отвечает никто.
- Один вход для новых позиций. Только через владельца или через заявку с документом поставщика. Кассир и приёмщик не создают карточки — они создают заявку.
- Ежемесячный прогон тех же пяти запросов. Сорок минут в день закрытия месяца, и отчёт смотрит владелец справочника, а не подрядчик раз в год.
- Одна метрика. Число проблемных позиций на первое число месяца. Растёт два месяца подряд — сломано правило ввода, а не люди. Как это выводится на панель — дашборд начинается со справочников.
Когда чистить не надо
Честный ответ: не всегда. Три случая, когда работа не окупится, стоит проверить до того, как вы за неё заплатите.
- В ассортименте нет ни одной группы под режимом. Справочник всё равно неидеален, но кассу он не остановит: деньги лучше потратить на то, что мешает сейчас.
- Справочник меньше тысячи позиций и ведёт его один человек. Пять проверок вместе с исправлениями займут день, отдельный проект под это заводить незачем.
- Вы меняете учётную систему в ближайшие месяцы. Чистка делается один раз, в рамках переноса, по плану миграции данных. Чистить старую базу и следом переносить её в новую — двойная оплата одной работы.
Разрешительный режим не ужесточил требования к товару. Он сделал видимым то, что вы годами держали в справочнике.
