Почему 1С:Розница не находит существующие накопительные карты со штрихкодом на цифру 2 и предлагает создать новые?

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

При работе в конфигурации 1С:Розница 2.2 / 2.3 кассиры и администраторы нередко сталкиваются со странным поведением системы: при считывании штрихкода выданной ранее накопительной или дисконтной карты программа не видит накоплений и скидок, а вместо открытия существующей карты упорно предлагает зарегистрировать новую. При этом в справочнике карта точно присутствует, штрихкод заведен корректно, лишних символов и пробелов нет, а флаг уникальности штрихкодов настроен правильно.

Разберем детально, почему возникает такая коллизия, как устроен типовой алгоритм обработки штрихкодов в 1С и как устранить проблему без необходимости перевыпускать тысячи клиентских карт.

В чем причина ошибки: логика обработки префиксов EAN-13

Проанализируем ситуацию с точки зрения встроенных механизмов конфигурации. В международных стандартах и в типовых решениях 1С диапазон штрихкодов формата EAN-13, начинающийся с цифры 2, зарезервирован для внутреннего использования предприятия. Однако внутри самой программы 1С первая и вторая цифры имеют строго определенное функциональное назначение:

  1. Префикс 21 — по умолчанию зарезервирован под весовой товар.
  2. Префикс 22 — стандартный штучный внутренний товар.
  3. Префикс 23 — штучный фасованный товар с указанием количества в штрихкоде.

Когда сканер считывает 13-значный код карты, обработчик торгового оборудования первым делом анализирует структуру штрихкода на соответствие шаблонам весового и весового/фасованного товара:

Штрихкод структуры 2 + [Префикс веса/фасовки (1 или 3)] + [Код SKU 5 знаков] + [Вес/Количество 5 знаков] + [Контрольный символ] принудительно парсится алгоритмом как весовой товар. В результате происходят следующие действия:

  1. Программа разбивает считанный штрихкод карты на предполагаемый код SKU и вес/количество.
  2. Система пытается найти номенклатуру по выделенному коду SKU, игнорируя исходный полный 13-значный штрихкод.
  3. Товар с таким SKU не находится, и программа переходит к проверке регистра Шаблоны регистрации новых дисконтных карт.
  4. Если исходный код попадает в диапазон шаблона регистрации, 1С делает ошибочный вывод, что считана новая карта, и немедленно открывает форму ее первичной регистрации, полностью пропуская поиск по справочнику уже сохраненных карт.

Именно поэтому карты с префиксом 22 находятся штатно, а карты, начинающиеся на 21 или 23, система считает весовыми товарами и пытается зарегистрировать заново.

Способ 1. Корректировка префиксов весового и фасованного товара

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

Разберем по шагам порядок настройки:

  1. Перейдем в раздел Администрирование -> Настройки номенклатуры -> Штрихкодирование.
  2. Найдем параметры:
    — Префикс штрихкода весового товара (по умолчанию установлен 1).
    — Префикс штучного фасованного товара (по умолчанию установлен 3).
  3. Изменим эти значения на свободные цифры, которые гарантированно не встречаются в начале номеров дисконтных карт (например, 7, 8 или 9).
  4. Сохраним настройки и перезапустим рабочий сеанс кассира (РМК).

После смены настроек программа перестанет интерпретировать штрихкоды с префиксами 21 и 23 как весовые и начнет искать их прямым поиском в регистре штрихкодов и справочнике карт лояльности.

Важное замечание: если в магазине реально используются весы с печатью этикеток, необходимо перейти в раздел Администрирование -> Подключаемое оборудование -> Правила обмена с оборудованием Offline и согласовать новые префиксы весового товара с шаблонами печати весов, чтобы весовые этикетки продолжали корректно считываться на кассе.

Способ 2. Настройка диапазонов в шаблонах регистрации карт

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

Частая ошибка администраторов — указание слишком широкого диапазона в регистре сведений Шаблоны регистрации новых дисконтных карт (например, от 2000000000000 до 2999999999999). В этом случае любой нераспознанный весовой код перехватывается данным правилом.

Для исправления ситуации выполним следующие действия:

  1. Откроем регистр сведений Шаблоны регистрации новых дисконтных карт (через раздел Маркетинг или Все функции / Функции для технического специалиста).
  2. Исключим широкие диапазоны, захватывающие префиксы 21 и 23.
  3. Создадим точечные интервалы строго под те диапазоны номеров, которые фактически планируется вводить в оборот на кассовом узле.

Рекомендации для выпуска будущих тиражей карт

Чтобы избежать подобных конфликтов алгоритмов в типовых решениях 1С при заказе новых партий карт, рекомендуется придерживаться следующих правил:

  1. При использовании формата EAN-13 для дисконтных карт выбирать префиксы, не пересекающиеся с внутренними кодами номенклатуры (например, диапазоны, начинающиеся с 77, 98 или 99).
  2. Для систем лояльности применять форматы штрихкодов Code 128 или Code 39 с буквенно-цифровым префиксом (например, CARD-000123). Буквенные символы исключают ложное срабатывание парсера весового товара в 1С.
← На главную