При работе в режиме рабочего места кассира (РМК) в конфигурации 1С:Управление торговлей 11 (а также в 1С:КА и 1С:ERP) пользователи часто сталкиваются с назойливым всплывающим окном: «Партионная алкогольная продукция не идентифицирована». Это происходит в момент сканирования штрихкода (EAN13) товара, который относится к немаркируемому алкоголю (чаще всего это пиво, медовуха, сидр или пуаре). Даже если в настройках установлена галочка «Продажа продукции без сопоставления классификаторов с ЕГАИС», система все равно требует ручного выбора конкретной позиции. Разберем детально, почему это происходит и как автоматизировать этот процесс.
Для начала проанализируем ситуацию с точки зрения архитектуры данных ЕГАИС и 1С. Основная причина кроется в специфике производства слабоалкогольных напитков. Одно и то же пиво (например, известного бренда) может производиться на пяти разных заводах. Каждый завод имеет свой уникальный алкокод (код алкогольной продукции в классификаторе ЕГАИС). Однако на банке или бутылке печатается один и тот же потребительский штрихкод EAN13.
Когда кассир сканирует штрихкод, система 1С находит в базе номенклатуру, а затем обращается к регистру сопоставления с ЕГАИС. Если одному штрихкоду соответствуют несколько активных алкокодов (разных производителей), программа не может самостоятельно определить, остаток какого именно завода сейчас находится в руках у кассира. Именно поэтому всплывает окно идентификации, требующее ручного вмешательства. Рассмотрим подробнее, как можно минимизировать эти действия.
Первым делом проанализируем состояние справочников. Система будет предлагать выбор только из тех позиций, которые сопоставлены с данной номенклатурой 1С. Рассмотрим шаги по проверке:
КлассификаторАлкогольнойПродукцииЕГАИС, то окно будет появляться всегда, пока по этим кодам есть остатки.Важный нюанс: Окно выбора часто предлагает даже те алкокоды, которых давно нет в наличии. Это происходит из-за «зависших» остатков в Регистре №2 (Торговый зал) или Регистре №1 (Склад) в системе ЕГАИС. Проанализируем ситуацию: если по данным ЕГАИС у вас числится товар по трем разным алкокодам, 1С обязана спросить, какой из них списать. Решением здесь станет проведение полной инвентаризации алкоголя и списание нулевых физических остатков, которые числятся в ЕГАИС.
Как показывает практика и обсуждения специалистов, наиболее стабильный «штатный» способ решения проблемы — это использование Характеристик. Если в виде номенклатуры включено использование характеристик, мы можем разделить продукцию разных заводов на уровне карточки товара.
Рассмотрим алгоритм действий:
EAN13 к разным характеристикам.Номенклатура + Характеристика <-> Алкокод.В этом случае при сканировании в РМК система предложит выбрать характеристику. Несмотря на то что окно все равно появится, выбор характеристики в 1С часто работает быстрее и корректнее сохраняется в документах ОтчетОРозничныхПродажах, чем прямой выбор алкокода в модальном окне РМК. Как было отмечено в ходе обсуждения, при использовании характеристик система «запоминает» выбор лучше, чем в случае с «голой» номенклатурой.
Иногда проблема вызвана банальной ошибкой в данных. Проанализируем справочник штрихкодов. Если один и тот же EAN13 по ошибке был привязан к разным номенклатурным позициям (например, случайно создали дубль карточки), система будет вызывать окно идентификации, пытаясь понять, какой именно товар продается.
Проверим записи в регистре сведений ШтрихкодыНоменклатуры. Если вы обнаружите, что один код ведет на разные объекты, удалите неактуальные записи. После исправления записи в справочнике Справочник штрихкодов и упаковок окно может перестать появляться, если конфликт был на уровне 1С, а не ЕГАИС.
Если бизнес-процессы требуют полного отсутствия окон (например, высокая проходимость на кассе), и при этом учет по конкретным заводам-производителям для пива не является критичным (для ИП на патенте), можно прибегнуть к использованию расширения конфигурации.
Разберем логику, которую можно внедрить в расширение для РМК. Нам необходимо вмешаться в процедуру обработки сканирования. Проанализируем типовой код в модуле ОбработкаШтрихкодовРМК. Нам нужно перехватить момент, когда система нашла несколько алкокодов, и заставить ее выбрать первый попавшийся, по которому есть положительный остаток.
Пример логики для расширения (схематично):
// В обработчике поиска продукции ЕГАИС
Если НайденныеАлкокоды.Количество() > 1 Тогда
// Проверяем остатки по регистру ОстаткиЕГАИС
Для Каждого СтрокаАлкокода Из НайденныеАлкокоды Цикл
Остаток = ПолучитьОстатокЕГАИС(СтрокаАлкокода.Алкокод);
Если Остаток > 0 Тогда
// Автоматически выбираем этот код, не вызывая диалог
ВыбранныйАлкокод = СтрокаАлкокода.Алкокод;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Такой подход позволяет полностью скрыть окно от кассира, если на остатках в магазине числится только один вид этого пива от конкретного поставщика, даже если в справочнике их сопоставлено десять.
В актуальных релизах 1С:УТ 11 (начиная с 11.4.13.х и выше) разработчики добавили механизмы, которые пытаются автоматически подобрать алкокод. Посмотрим на настройки интеграции. Если включена опция контроля остатков, система должна отсекать те алкокоды, по которым остаток в 1С равен нулю.
Если окно все равно появляется, проверьте следующее:
ОрганизацииЕГАИС (иногда один и тот же завод представлен несколькими записями с разными ID).Упаковка в штрихкоде. Если штрихкод привязан к упаковке, а в упаковке неверно указан объем (например, 0.45л вместо 0.5л), система идентификации может давать сбой.Подводя итог, отметим, что самым правильным и долгосрочным решением является поддержание актуальных остатков в ЕГАИС. Если в системе не будет «хвостов» по старым алкокодам, 1С при сканировании увидит только один доступный вариант с положительным остатком и выберет его автоматически, не беспокоя кассира лишними окнами.