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