При работе в программе 1С:Управление нашей фирмой (УНФ) пользователи часто сталкиваются с тем, что при автоматической генерации штрихкода для нового товара система всегда подставляет в начало цифру «2». Это вызывает вопросы, особенно у тех, кто планирует выпускать продукцию на внешний рынок и хочет видеть «цивилизованный» штрихкод, начинающийся, например, с «46» (код России). В этой статье мы подробно разберем, почему выбрана именно такая логика, где найти настройки в разных версиях программы и как правильно изменить префикс, не нарушив работу базы данных.
Разберем ситуацию с точки зрения мировых стандартов штрихкодирования GS1 (EAN-13). Каждый штрихкод формата EAN-13 состоит из 13 цифр, где первые несколько знаков определяют принадлежность кода к стране или определенной категории. Согласно спецификациям:
2000000000015 и приклеите его на товар, а затем этот товар попадет в сторонний супермаркет, сканер на кассе может выдать совершенно другой товар, который этот магазин закодировал для себя аналогичным номером.Разработчики 1С выбрали префикс «2» по умолчанию именно для того, чтобы обезопасить пользователей. Если программа начнет генерировать коды на «46» (Россия) без регистрации в ассоциации ГС1 РУС, возникнет риск совпадения с реальными товарами крупных брендов. Рассмотрим подробнее, как управлять этими настройками.
В современных релизах (начиная с версий 1.6.x и выше, включая 3.0) разработчики вынесли настройки префиксов в пользовательский интерфейс, чтобы избавить администраторов от необходимости лезть в Конфигуратор. Проанализируем путь к этим настройкам:
Важный момент: изменение этого префикса повлияет только на те штрихкоды, которые будут созданы после внесения изменений. Старые коды останутся прежними. Для их обновления потребуется массовая перегенерация через обработку Печать этикеток и ценников.
Ситуация усложняется, если ваша небольшая фирма занимается торговлей весовой продукцией. Для весовых товаров используется особый формат EAN-13, где внутри самого кода зашифрован вес. Разберем, как это работает в 1С:УНФ:
В разделе Продажи — Розничные продажи — Настройка штрихкодирования весового товара устанавливается префикс именно для веса (обычно это 22 или 24). Это необходимо, чтобы при сканировании на кассе программа понимала: перед нами не штучный товар с порядковым номером, а код, из которого нужно «вырезать» вес (например, последние 5 знаков перед контрольным числом).
Если стандартных настроек недостаточно и вам требуется более сложная логика (например, привязка префикса к категории товара), придется обратиться к средствам разработки. Проанализируем ситуацию, описанную пользователями на форуме: попытка изменить префикс напрямую в модуле Конфигуратора часто приводит к ошибкам вроде Имя команды не уникально! или конфликтам при обновлении.
Выясним причину: в современных версиях 1С используется механизм расширений. Прямая правка типовой конфигурации — это плохая практика. Правильный путь — создание Расширения конфигурации.
Рассмотрим пример функции, которую нужно переопределить в расширении для изменения алгоритма формирования штрихкода (обычно это общий модуль ШтрихкодированиеСервер или аналогичный в зависимости от версии):
&Вместо("СформироватьШтрихкодEAN13")
Функция Мой_СформироватьШтрихкодEAN13(Префикс, ПорядковыйНомер)
// Наша логика: используем префикс 460 для внутренних тестов
// ВНИМАНИЕ: это только для примера, для реальных 460 нужна регистрация!
НовыйШтрихкод = "460" + Формат(ПорядковыйНомер, "ЧГ=0; ЧВН=; ЧЦ=9");
НовыйШтрихкод = НовыйШтрихкод + ШтрихкодированиеСервер.КонтрольныйСимволEAN(НовыйШтрихкод, 13);
Возврат НовыйШтрихкод;
КонецФункции
Использование директивы &Вместо позволяет полностью заменить типовой механизм генерации на ваш собственный, не снимая базу с поддержки. Это решает проблему ошибок, возникающих при обновлении 1С:УНФ. При разработке собственного механизма вывода штрихкодов в печатные формы можно задействовать пример кода для печати ценников со штрихкодами EAN-13 и QR в УНФ 3.0.
Если ваша цель — выйти на полки сетевых магазинов, вам не нужно менять префикс в настройках 1С вручную. Вам нужно получить официальные коды GTIN. Рассмотрим, как это сделать современными средствами 1С:
Таким образом, вам не придется «взламывать» систему генерации внутренних штрихкодов — программа будет хранить официальный код в том же поле Штрихкоды, и он будет корректно считываться любым сканером в мире.
Подводя итог нашему анализу, дадим несколько рекомендаций по работе со штрихкодами в 1С:УНФ:
21 для коробок и 22 для весового мяса. Это настраивается в разделе Настройки штрихкодирования.ОбщаяКартинка.История: Имя не уникально!, которые возникают при неквалифицированном вмешательстве в Конфигуратор.ГС1 РУС. Это единственный способ «цивилизованно» выглядеть в глазах контрагентов.Мы проанализировали основные моменты формирования штрихкодов в 1С:УНФ. Понимание стандартов EAN-13 и правильное использование инструментов 1С позволит вам настроить учет максимально эффективно и избежать технических проблем при обновлении программы.