Дисклеймер
Расширение не меняет правила маркировки и не подменяет типовые механизмы 1С:Розницы. Оно лишь предоставляет дополнительный способ вызова уже существующего сценария «Добавить товар без марки» и делает работу кассира удобнее в ситуациях, когда такой сценарий предусмотрен регламентом работы магазина.
На практике периодически возникают ситуации, когда маркируемый товар нужно провести без считывания КМ: поврежден код, маркировка недоступна, идет обучение персонала или требуется временный технологический обход.
Представляю расширение для 1С:Розницы 3.0, которое добавляет в РМК отдельный настраиваемый служебный штрихкод, чтобы временно разрешить проведение отдельного товара без ввода кода маркировки.

Рис. 1. Дополнительное подменю, для пользователя, который входит в группу "Администраторы"
Сразу скажу важный момент: в типовой Рознице похожий механизм уже есть. Но, как это часто бывает, он решает не совсем ту задачу, которая возникает в магазине.
Что делает это расширение
Расширение добавляет в РМК отдельный служебный штрихкод, который хранится в настройке. Кассир может использовать его в двух сценариях.
Вариант 1. Сканирование заранее
- Кассир сканирует служебный ШК.
- РМК запоминает, что следующий маркируемый товар нужно провести без КМ.
- Затем кассир сканирует обычный штрихкод товара.
- Когда РМК доходит до шага ожидания марки, товар автоматически добавляется без ввода КМ.

Рис. 2. Служебный ШК отсканирован заранее: установлен флаг на следующий товар
Вариант 2. Сканирование в момент запроса КМ
- Кассир сначала сканирует штрихкод товара.
- РМК, как и положено, показывает, что нужно отсканировать код маркировки.
- Вместо КМ кассир сканирует наш служебный ШК.
- РМК сразу завершает этот сценарий штатной командой добавления товара без марки.

Рис. 3. РМК ожидает ввод кода маркировки после сканирования ШК товара

Рис. 4. Служебный ШК отсканирован в момент ожидания КМ: товар добавлен без марки
Именно второй вариант особенно важен в жизни. Потому что кассиру не всегда удобно заранее помнить, что следующий товар надо пробить без КМ. Гораздо естественнее принять решение уже в момент, когда РМК реально попросил марку.
Что именно происходит внутри
Я не стал переписывать типовую логику проверки маркировки. Это всегда плохая идея, если в конфигурации уже есть штатный сценарий.
Внутри решение построено аккуратно: расширение не ломает типовую обработку, а использует существующий механизм РМК ДобавитьТоварБезМарки(). То есть фактически мы не изобретаем свою “альтернативную кассу”, а даем кассиру дополнительный способ вызвать штатное поведение в нужный момент.
За счет этого решение получилось коротким, понятным и достаточно устойчивым к обновлениям.
Чем это отличается от типового механизма 1С
Вот здесь начинается самое интересное.
В 1С:Рознице уже есть штатные служебные штрихкоды:
- &No_Mark
- 7no-mark
На первый взгляд может показаться, что задача уже решена типовой конфигурацией и ничего дорабатывать не надо. Но это не совсем так.
Типовой механизм работает только в уже открытом сценарии ожидания КМ. То есть товар уже отсканирован, РМК уже просит ввести код маркировки, и только в этот момент можно вместо КМ подать &No_Mark или 7no-mark.
Но и это еще не все.
Типовой механизм не универсален. Он срабатывает не для любого товара, а только если текущий товар попадает в разрешенные типовой конфигурацией списки “без марки”. Внутри Розницы для этого используются отдельные наборы особенностей учета:
- для продажи без марки;
- для возврата без марки.
Именно поэтому в реальной базе можно получить ситуацию, когда:
- в блокнот 7no-mark сканируется нормально;
- РМК ждет КМ;
- но после сканирования 7no-mark ничего не происходит.
Проблема в этом случае не в сканере и не в GS1-128, а в том, что типовая логика не разрешает обработать текущий товар “без марки”.
Почему типового механизма мне не хватило
Мне нужен был другой сценарий.
Не “заменить КМ прямо сейчас, если типовая конфигурация разрешит”, а именно:
- иметь свой отдельный служебный ШК;
- настраивать его в расширении;
- дать кассиру возможность сканировать его заранее, до товара;
- и при необходимости использовать тот же код уже в момент запроса КМ.
То есть задача была не заменить типовой &No_Mark, а сделать поверх штатного механизма более удобный рабочий инструмент для кассы.
Именно поэтому в расширении появился отдельный “волшебный” штрихкод.
Какие служебные ШК вообще есть в типовой Рознице
В типовой 1С:Рознице есть не только &No_Mark.
Например:
- &No_Mark / 7no-mark — товар без марки;
- &Cash_Payment / 7cash-payment — оплата наличными;
- &Card_Payment / 7card-payment — оплата картой;
- &AutoSale / 7autosale — автоматические скидки;
- &BagAtReciept / 7bagatreciept — пакет.
То есть сама идея “служебных штрихкодов” для РМК в Рознице штатная. Я лишь добавил еще один прикладной сценарий, которого мне не хватало в живой работе магазина.
Как ограничен доступ к настройке
Чтобы кассиры не меняли служебный ШК сами, подменю настройки в РМК показывается только пользователю, который авторизован в РМК и входит в предопределенную группу доступа Администраторы.
Это важный момент: проверяется не просто пользователь, под которым открыт сеанс 1С, а именно пользователь, под которым выполнен вход в РМК.
При этом сам служебный ШК может использовать любой кассир. То есть:
- администратор настраивает код;
- обычный кассир потом просто работает по нему на кассе.

Рис.5. Настройка отдельного служебного штрихкода в расширении
Что в итоге получилось
В итоге доработка решает сразу две практические задачи:
- позволяет заранее разрешить следующий маркируемый товар без КМ;
- позволяет в момент запроса КМ быстро завершить сценарий одним служебным штрихкодом.
При этом решение:
- не переписывает типовой контур маркировки;
- использует штатную команду РМК;
- не требует от кассира лишних действий;
- и не заставляет лезть в интерфейс, если удобнее работать сканером.
Для меня это как раз тот случай, когда маленькое расширение дает кассе реальную практическую пользу, а не просто добавляет еще одну красивую кнопку “на всякий случай”.
Заключение
Если вам нужно управляемо и быстро проводить отдельные маркируемые товары без КМ в 1С:Рознице, типового &No_Mark часто оказывается недостаточно. Он существует, но работает только в ограниченном сценарии и только для тех товаров, которые сама типовая конфигурация разрешает обрабатывать без марки.
Мое расширение решает другую задачу: дает отдельный настраиваемый служебный ШК и позволяет работать в двух режимах:
- заранее отключить КМ на следующий товар;
- отключить КМ прямо в момент, когда РМК уже ждет код маркировки.
На практике это оказалось заметно удобнее для кассы и ближе к реальной работе магазина.
Другие мои готовые решения для 1С (маркировка, токены, ТСД и т.д.):
Проверено на следующих конфигурациях и релизах:
- Розница, редакция 3.0, релизы 3.0.9.105
Вступайте в нашу телеграмм-группу Инфостарт