Как назначить один штрихкод для всей номенклатуры с характеристиками в 1С:Управление торговлей 11?

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

В процессе автоматизации розничной торговли часто возникает задача печати ценников для номенклатуры, которая ведется с использованием характеристик (например, размеры обуви). Если вы используете маркировку «Честный ЗНАК» и характеристики в 1С служат лишь для аналитики, возникает логичный вопрос: можно ли создать один «общий» штрихкод для всей карточки товара, чтобы упростить процесс переоценки через ТСД? Рассмотрим, как решить эту задачу.

Понимание архитектуры хранения штрихкодов

В типовых конфигурациях, таких как 1С:Управление торговлей 11, данные о штрихкодах хранятся в регистре сведений Штрихкоды номенклатуры. Когда пользователь пытается добавить новый штрихкод через карточку товара, где включен учет по характеристикам, интерфейс принудительно требует выбора конкретной характеристики. Это ограничение заложено в логику работы бизнес-процессов системы для предотвращения ошибок при подборе товаров в документы продажи.

Однако на уровне структуры метаданных поле Характеристика в данном регистре не является обязательным для заполнения для всех типов номенклатуры. Это открывает нам возможность обхода стандартного интерфейса.

Решение проблемы: программная запись в регистр

Если система блокирует создание штрихкода без указания характеристики, нам необходимо выполнить эту операцию программно. Это позволит записать в регистр Штрихкоды номенклатуры запись, где заполнено только измерение Номенклатура.

Для реализации этого метода мы рекомендуем создать небольшую внешнюю обработку или воспользоваться консолью кода. Рассмотрим примерный алгоритм:

  1. Создайте запись в регистре сведений Штрихкоды номенклатуры.
  2. В качестве основного измерения укажите ссылку на номенклатурную позицию.
  3. Оставьте поле Характеристика пустым (незаполненным).
  4. Присвойте штрихкод в поле Штрихкод (тип строки или EAN13).

Пример программного кода для записи такого штрихкода:


// Пример программной записи штрихкода без характеристики
Запись = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
Запись.Номенклатура = СсылкаНаНоменклатуру;
Запись.Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
Запись.Штрихкод = \"2000000000000\"; // Ваш уникальный код
Запись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
Запись.Записать();

Альтернативный метод: использование упаковок

Еще один профессиональный подход — использование механизма Упаковки номенклатуры. Если для номенклатуры настроить упаковку «Базовая единица» или «Штука», система позволяет привязать штрихкод именно к этой упаковке, а не к характеристике. Это считается более «чистым» решением с точки зрения архитектуры БСП (Библиотеки стандартных подсистем).

Для этого выполните следующие действия:

Важные замечания по эксплуатации

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

Подводя итог: если ваша задача — просто вывести штрихкод на ценник для сверки цен сотрудниками магазина, программная запись «пустой» характеристики в регистр или использование Упаковок — наиболее эффективные методы. Они позволяют обойти интерфейсные ограничения, сохранив целостность данных вашей учетной системы.

← На главную