С введением обязательной маркировки для новых категорий товаров (например, ветеринарных препаратов с 1 октября 2024 года) розничные магазины сталкиваются с ситуацией, когда на полках одновременно присутствуют товары с кодами DataMatrix и остатки без них. По закону остатки, произведенные до даты обязательной маркировки, можно распродавать без марок до конца их срока годности. Проанализируем, как настроить 1С, чтобы кассир мог легально пробивать такие позиции в одном чеке.
В современных релизах 1С:Розница (начиная с 2.3.20), 1С:УНФ и 1С:ERP заложен штатный механизм работы с немаркированными остатками. Рассмотрим алгоритм его активации. Основная задача — указать системе, до какого момента разрешена продажа без проверки кода в ИС МП.
Разберем по шагам, где находится нужная настройка:
После этой настройки в Рабочем месте кассира (РМК) при добавлении товара (считыванием обычного штрихкода EAN-13 или через поиск) система выдаст предупреждение о необходимости сканирования марки — для этого подойдёт настройка кассового узла для маркировки товара. Однако рядом появится заветная кнопка «Добавить без марки». При ее нажатии товар будет добавлен в чек как обычный, и 1С не будет требовать DataMatrix при пробитии.
Часто программисты и системные администраторы сталкиваются с тем, что дата установлена, а кнопка в РМК не появляется. Проанализируем ситуацию: в крупных конфигурациях (ERP, КА) настройки интеграции часто кэшируются через Параметры сеанса или функции с повторным использованием значений.
Важно: После изменения даты запрета продажи в регистре настроек необходимо полностью перезапустить сеанс пользователя 1С. Простое закрытие и открытие смены может не помочь, так как данные в памяти приложения обновляются только при инициализации сеанса.
Рассмотрим ситуацию, когда покупатель берет две упаковки одного и того же препарата: одна с маркой, другая — без. Если кассир сначала отсканирует марку, а затем воспользуется кнопкой «Добавить без марки», система может попытаться «схлопнуть» эти строки в одну по значению Номенклатура.
В этом случае 1С увидит, что в строке количество «2», а марка привязана только одна, и выдаст ошибку при попытке пробить чек. Для решения этой проблемы рекомендуется:
Посмотрим на пример логики, которую можно внедрить через расширение в модуль обработки выбора товара:
&НаОсновании("ОбработкаВыбораТовара")
Процедура Расш_ОбработкаВыбораТовара(ВыбранноеЗначение, Параметры)
// Если товар является маркируемым, принудительно устанавливаем
// признак новой строки, чтобы избежать объединения с маркированной позицией
Если ВыбранноеЗначение.ЭтоМаркируемыйТовар Тогда
Параметры.ВставлятьНовойСтрокой = Истина;
КонецЕсли;
КонецПроцедуры
Если штатная кнопка по каким-то причинам недоступна (например, в сильно кастомизированных старых версиях), рассмотрим вариант с разделением карточек. Выясним причину, почему это считается «костылем»: создание дублей номенклатуры (одна с признаком «Маркируемая», другая — «Обычная») ведет к пересортице, путанице в остатках и проблемам с заказами поставщикам.
Более грамотный подход без дублирования карточек — временное управление признаком маркировки в категории:
Внимание: Этот метод рискован, так как при любой групповой обработке справочника признаки могут вернуться в исходное состояние, что заблокирует продажи на кассе в самый неподходящий момент.
В разделе Интеграция с ИС МП — Настройки сканирования кодов есть опция «Игнорировать результаты проверки». Посмотрим, поможет ли она в нашем случае. Эта настройка отключает онлайн-запрос к серверам «Честного ЗНАКа» (ГИС МТ), но она не отменяет требование наличия самого кода в документе. Если товар в базе помечен как маркируемый, 1С все равно потребует заполнить поле КодМаркировки перед печатью чека. Поэтому данный способ не является решением для продажи остатков без марок.
Для корректной работы следуйте правилу: Дата запрета в настройках ИС МП — ваш главный инструмент. Именно она управляет видимостью функционала «Продажа без марки». Если вы работаете в Рознице 2.3, убедитесь, что ваш релиз не ниже 2.3.20, так как в более ранних версиях этот механизм отсутствовал, и пользователям приходилось прибегать к написанию собственных расширений для обхода проверки DataMatrix — для выравнивания данных поможет сверка остатков маркировки с Честным знаком.