Как настроить префиксы штрихкодов в 1С:УНФ и почему они начинаются с цифры 2?

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

При работе в программе 1С:Управление нашей фирмой (УНФ) пользователи часто сталкиваются с тем, что при автоматической генерации штрихкода для нового товара система всегда подставляет в начало цифру «2». Это вызывает вопросы, особенно у тех, кто планирует выпускать продукцию на внешний рынок и хочет видеть «цивилизованный» штрихкод, начинающийся, например, с «46» (код России). В этой статье мы подробно разберем, почему выбрана именно такая логика, где найти настройки в разных версиях программы и как правильно изменить префикс, не нарушив работу базы данных.

Почему штрихкод всегда начинается с двойки?

Разберем ситуацию с точки зрения мировых стандартов штрихкодирования GS1 (EAN-13). Каждый штрихкод формата EAN-13 состоит из 13 цифр, где первые несколько знаков определяют принадлежность кода к стране или определенной категории. Согласно спецификациям:

Разработчики 1С выбрали префикс «2» по умолчанию именно для того, чтобы обезопасить пользователей. Если программа начнет генерировать коды на «46» (Россия) без регистрации в ассоциации ГС1 РУС, возникнет риск совпадения с реальными товарами крупных брендов. Рассмотрим подробнее, как управлять этими настройками.

Где настроить префиксы в интерфейсе 1С:УНФ

В современных релизах (начиная с версий 1.6.x и выше, включая 3.0) разработчики вынесли настройки префиксов в пользовательский интерфейс, чтобы избавить администраторов от необходимости лезть в Конфигуратор. Проанализируем путь к этим настройкам:

  1. Перейдем в раздел Настройки, далее выберем пункт Еще больше возможностей.
  2. В открывшемся окне найдем подраздел Общее или Номенклатура (зависит от точного релиза).
  3. Найдем поле Префикс внутреннего штрихкода. По умолчанию там стоит значение «2». Вы можете изменить его на любое число от 20 до 29.

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

Настройка штрихкодирования весового товара

Ситуация усложняется, если ваша небольшая фирма занимается торговлей весовой продукцией. Для весовых товаров используется особый формат EAN-13, где внутри самого кода зашифрован вес. Разберем, как это работает в 1С:УНФ:

В разделе Продажи — Розничные продажи — Настройка штрихкодирования весового товара устанавливается префикс именно для веса (обычно это 22 или 24). Это необходимо, чтобы при сканировании на кассе программа понимала: перед нами не штучный товар с порядковым номером, а код, из которого нужно «вырезать» вес (например, последние 5 знаков перед контрольным числом).

Техническая реализация: изменение логики через код

Если стандартных настроек недостаточно и вам требуется более сложная логика (например, привязка префикса к категории товара), придется обратиться к средствам разработки. Проанализируем ситуацию, описанную пользователями на форуме: попытка изменить префикс напрямую в модуле Конфигуратора часто приводит к ошибкам вроде Имя команды не уникально! или конфликтам при обновлении.

Выясним причину: в современных версиях 1С используется механизм расширений. Прямая правка типовой конфигурации — это плохая практика. Правильный путь — создание Расширения конфигурации.

Рассмотрим пример функции, которую нужно переопределить в расширении для изменения алгоритма формирования штрихкода (обычно это общий модуль ШтрихкодированиеСервер или аналогичный в зависимости от версии):


&Вместо("СформироватьШтрихкодEAN13")
Функция Мой_СформироватьШтрихкодEAN13(Префикс, ПорядковыйНомер)
    // Наша логика: используем префикс 460 для внутренних тестов
    // ВНИМАНИЕ: это только для примера, для реальных 460 нужна регистрация!
    НовыйШтрихкод = "460" + Формат(ПорядковыйНомер, "ЧГ=0; ЧВН=; ЧЦ=9");
    НовыйШтрихкод = НовыйШтрихкод + ШтрихкодированиеСервер.КонтрольныйСимволEAN(НовыйШтрихкод, 13);
    Возврат НовыйШтрихкод;
КонецФункции

Использование директивы &Вместо позволяет полностью заменить типовой механизм генерации на ваш собственный, не снимая базу с поддержки. Это решает проблему ошибок, возникающих при обновлении 1С:УНФ. При разработке собственного механизма вывода штрихкодов в печатные формы можно задействовать пример кода для печати ценников со штрихкодами EAN-13 и QR в УНФ 3.0.

Как получить «цивилизованный» штрихкод на 46?

Если ваша цель — выйти на полки сетевых магазинов, вам не нужно менять префикс в настройках 1С вручную. Вам нужно получить официальные коды GTIN. Рассмотрим, как это сделать современными средствами 1С:

  1. Вступите в ассоциацию ГС1 РУС (GS1 Russia) и получите уникальный префикс предприятия.
  2. Воспользуйтесь сервисом 1С:Номенклатура. В 1С:УНФ реализована бесшовная интеграция с этим сервисом.
  3. При создании карточки товара вы можете отправить запрос в ГС1 РУС прямо из интерфейса 1С, и программа автоматически загрузит выделенный вам штрихкод (начинающийся на 46).

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

Резюме и практические советы

Подводя итог нашему анализу, дадим несколько рекомендаций по работе со штрихкодами в 1С:УНФ:

Мы проанализировали основные моменты формирования штрихкодов в 1С:УНФ. Понимание стандартов EAN-13 и правильное использование инструментов 1С позволит вам настроить учет максимально эффективно и избежать технических проблем при обновлении программы.

← На главную