Как настроить учет сигарет с разными МРЦ и одинаковыми штрихкодами в 1С:УТ 11.4

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Одной из самых острых проблем розничной торговли табачными изделиями в 1С:Управление торговлей 11.4 является учет пачек, имеющих одинаковый штрихкод EAN-13, но разную максимальную розничную цену (МРЦ). Согласно законодательству, продавец не имеет права продавать сигареты по цене выше МРЦ, указанной на пачке, а также ниже 75% от этой цены (в более поздних редакциях закона — ниже Единой минимальной цены). Поскольку закупочная цена напрямую привязана к МРЦ, торговля "по средней" или "по последней" цене ведет либо к штрафам, либо к убыткам. Для автоматической проверки и обновления цен можно использовать расширение для контроля МРЦ табачной и алкогольной продукции.

В этой статье мы рассмотрим, как решить проблему уникальности штрихкодов в 1С и настроить систему так, чтобы кассир мог выбирать верную цену при продаже.

Анализ проблемы МРЦ и ограничений 1С

В типовой конфигурации 1С:Управление торговлей 11.4 реализован строгий контроль уникальности штрихкодов. Это означает, что система не позволяет завести два разных товара или две разные характеристики с одним и тем же кодом EAN-13. Однако производители сигарет выпускают партии с новыми ценами, не меняя штрихкод на упаковке. На остатках в магазине одновременно могут находиться пачки одной марки по цене 100, 110 и 120 рублей.

Разберем основные риски неверного учета:

  1. Нарушение ст. 14.6 КоАП РФ: Завышение МРЦ влечет огромные штрафы для юридических лиц.
  2. Проблемы с себестоимостью: Закупка идет по ценам, производным от МРЦ. Если продавать всё по одной карточке, финансовый результат будет искажен.
  3. Требования маркировки: Современные системы требуют точного указания кода маркировки, который жестко связан с данными партии.

Решение 1: Использование характеристик и "хитрых" штрихкодов

Самый логичный путь в 1С — использование характеристик номенклатуры. Для каждой новой МРЦ мы создаем отдельную характеристику (например, "МРЦ 110", "МРЦ 120"). Однако мы упираемся в невозможность назначить один штрихкод разным характеристикам.

Проанализируем техническое решение, которое позволяет обойти это ограничение без глубокого переписывания конфигурации:

Мы можем использовать специальные суффиксы в штрихкоде. Например, первой характеристике присваиваем чистый ШК 4601234567890. Второй характеристике присваиваем тот же код, но с добавлением запятой в конце: 4601234567890,. Третьей — с двумя запятыми.

Как это работает на практике:

  1. В 1С уникальность соблюдена, так как строки "123" и "123," различаются.
  2. При выгрузке данных в кассовое ПО (например, Frontol), драйвер или модуль обмена часто игнорирует лишние символы или позволяет сопоставить несколько позиций одному ШК.
  3. При сканировании на кассе система видит несколько карточек с одинаковым базовым кодом и предлагает кассиру выбрать нужную позицию из списка. Кассир смотрит на пачку и выбирает ту МРЦ, которая на ней напечатана.

Решение 2: Программная модификация обработки событий сканера

Если вы работаете непосредственно в интерфейсе 1С (например, в рабочем месте кассира РМК), можно рассмотреть вариант программной доработки. Рассмотрим алгоритм:

При считывании штрихкода система должна проверять, является ли товар табачной продукцией. Если да, и если для него найдено несколько активных характеристик, система должна прервать автоматическое добавление в корзину и вывести диалоговое окно выбора.

Проанализируем пример кода для обработки поиска номенклатуры:


Функция НайтиТоварПоШтрихкоду(Штрихкод)
    // Стандартный поиск
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ШтрихкодыНоменклатуры.Номенклатура,
        |   ШтрихкодыНоменклатуры.Характеристика
        |ИЗ
        |   РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        |ГДЕ
        |   ШтрихкодыНоменклатуры.Штрихкод = &Штрихкод";
    
    Запрос.УстановитьПараметр("Штрихкод", Штрихкод);
    Результат = Запрос.Выполнить().Выгрузить();
    
    Если Результат.Количество() > 1 Тогда
        // Если найдено несколько характеристик (при отключенной уникальности ШК в коде)
        // вызываем форму выбора
        ОткрытьФормуВыбораХарактеристики(Результат);
    КонецЕсли;
КонецФункции

Важно помнить, что для реализации этого метода потребуется снять флаг уникальности в настройках регистра сведений ШтрихкодыНоменклатуры или в коде модуля менеджера регистра. Однако будьте осторожны: это может повлиять на поиск других товаров.

Решение 3: Интеграция с Frontol и использование разрезов

Если учет ведется в УТ 11.4, а продажи — во Frontol, задачу можно решить на стороне фронт-офиса. Рассмотрим шаги настройки:

  1. В 1С создаются характеристики под каждую МРЦ.
  2. В модуле обмена с ККМ Offline (обработка ВыгрузкаДанныхВККМ) вносится небольшое изменение: при выгрузке штрихкодов для табачной продукции система должна передавать базовый штрихкод для всех характеристик товара.
  3. Во Frontol настраивается работа с "разрезами" товаров. При сканировании ШК касса потребует уточнить разрез (в нашем случае — МРЦ).

Этот способ считается наиболее надежным для розничных сетей, так как исключает человеческий фактор при заведении данных в 1С, перенося выбор на момент фактической продажи.

Современный подход: Маркировка "Честный ЗНАК"

Рассмотрим, как изменилась ситуация с введением обязательной маркировки табака. Теперь на каждой пачке есть код DataMatrix. В этом коде зашифрован GTIN (аналог штрихкода) и уникальный серийный номер пачки.

Важные изменения в современных версиях УТ 11:

Практические советы по ведению учета

Выясним, как упростить жизнь персоналу магазина при работе с МРЦ:

Подводя итог, можно сказать, что хотя в 1С:УТ 11.4 нет "волшебной кнопки" для дублирующихся штрихкодов, использование характеристик в сочетании с маркировкой или небольшими доработками обмена с кассой позволяет построить надежную систему учета табачной продукции. Если требуется корректировать стоимость позиции непосредственно при оформлении продажи, подойдёт расширение для изменения цены товара в чеке ККМ в УТ 11.

← На главную