Торговля и Склад · 11 мин
Как создать штрихкод в 1С: генерация, печать и настройка
Как создать штрихкод в 1С: генерация EAN-13 и Code128, печать этикеток, работа со сканером, типовые ошибки и проверка результата. Пошаговая инструкция.
Штрихкод в 1С нужен для быстрой идентификации товаров на кассе, складе и при инвентаризации. В типовых конфигурациях (Управление торговлей, Розница, Комплексная автоматизация, ERP) механизм штрихкодирования уже встроен: программа умеет генерировать коды EAN-13, Code128 и другие форматы, хранить их в регистре «Штрихкоды номенклатуры» и печатать этикетки через встроенные обработки.
Задача делится на три части: сгенерировать сам код (цифровое значение), вывести его графическое изображение на этикетку и настроить считывание сканером. Все три шага выполняются штатными средствами, без доработки конфигурации. Ниже разобраны конкретные действия для типовых решений и способ программной генерации для нестандартных задач.
Важно понимать разницу: «создать штрихкод» в 1С — это не нарисовать картинку, а записать значение кода в регистр сведений и привязать его к номенклатуре, характеристике и (при необходимости) упаковке. Картинка формируется автоматически при печати этикетки с помощью компоненты «1С:Печать штрихкодов».
Какие виды штрихкодов поддерживает 1С и что выбрать
Типовые конфигурации работают с несколькими форматами. Основные — EAN-13 (стандарт розничной торговли, 13 цифр), EAN-8 (укороченный, для мелких упаковок), Code128 и Code39 (произвольные буквенно-цифровые коды, удобны для внутреннего учёта и маркировки документов), а также двумерные QR и DataMatrix (используются в маркировке «Честный ЗНАК» и на платёжных документах).
Выбор формата зависит от задачи. Если товар продаётся через розничные сети и маркетплейсы — нужен EAN-13, зарегистрированный в GS1 или сгенерированный как внутренний с префиксом диапазона 200–299 (такие коды не должны выходить за пределы вашей компании). Для внутреннего складского учёта, где внешние контрагенты код не читают, достаточно Code128 — в него можно зашить артикул или номер партии.
Сравнение форматов
Стандарт розницы и маркетплейсов. Только цифры, строго 13 знаков с контрольной цифрой. Не подходит для буквенных артикулов.
Любые латинские буквы и цифры, гибкая длина. Идеален для внутреннего учёта, но не принимается торговыми сетями.
Большой объём данных, обязателен для маркированных товаров. Требует двумерного сканера.
Генерация штрихкода EAN-13 в карточке номенклатуры
Самый частый сценарий — присвоить штрихкод товару при его создании. Откройте карточку номенклатуры в разделе «НСИ и администрирование» → «Номенклатура» (в УТ 11) или «Справочники» → «Номенклатура». Перейдите на вкладку или по ссылке «Штрихкоды» в панели навигации карточки. Если такой ссылки нет, откройте регистр напрямую: «Продажи» → «Штрихкоды номенклатуры» (в Рознице) или через «Все функции» → «Регистры сведений» → «Штрихкоды номенклатуры».
Нажмите «Создать» и в поле «Штрихкод» либо отсканируйте код с заводской упаковки, либо нажмите кнопку генерации (в ряде конфигураций это отдельная команда «Сформировать», в других код создаётся автоматически при записи пустого поля). Программа сформирует EAN-13 с корректной контрольной цифрой, используя префикс внутреннего диапазона, заданный в настройках.
- 1Откройте карточку номенклатуры и перейдите к списку штрихкодов
- 2Нажмите «Создать» и выберите тип штрихкода EAN-13
- 3Отсканируйте заводской код или сгенерируйте внутренний
- 4Укажите характеристику и упаковку, если учёт ведётся по ним
- 5Запишите и проверьте, что код появился в регистре «Штрихкоды номенклатуры»
Обратите внимание на поля «Характеристика» и «Упаковка». Если товар имеет варианты (размер, цвет) и несколько видов упаковки (штука, короб, паллета), штрихкод привязывается к конкретной комбинации. Это позволяет сканировать разные коды для штучного товара и транспортной упаковки — касса и ТСД будут корректно определять количество.
Массовое создание штрихкодов через обработку печати этикеток
Когда штрихкоды нужны сразу для сотен позиций, по одному их создавать нерационально. В УТ 11, Рознице и КА откройте «Продажи» (или «Склад и доставка») → «Печать этикеток и ценников». В обработке нажмите «Подобрать товары» и загрузите номенклатуру из документа поступления или по отбору.
Для строк без штрихкода установите режим «Генерировать штрихкоды автоматически» (в разных конфигурациях формулировка отличается: «Создавать штрихкоды при печати», кнопка «Заполнить штрихкоды»). Программа создаст коды EAN-13 для всех позиций, запишет их в регистр и сразу подготовит этикетки к печати. Это самый быстрый способ «заштриховать» свежее поступление.
Перед массовой генерацией проверьте префикс внутренних штрихкодов. Он задаётся в настройках обмена с оборудованием или в константах торгового учёта (например, «Префикс внутреннего штрихкода»). Два первых знака должны попадать в диапазон 20–29 — по соглашениям GS1 этот диапазон зарезервирован за внутренним использованием, и ваши коды не пересекутся с заводскими.
Печать этикеток со штрихкодом
Графическое изображение кода формируется компонентой «1С:Печать штрихкодов». В клиенте на Windows она обычно устанавливается автоматически при первом открытии макета этикетки; в тонком и веб-клиенте может потребоваться разрешить установку расширения или внешней компоненты. Если вместо штрихкода на печать выводится пустое место или текст ошибки — проблема почти всегда в отсутствующей или заблокированной компоненте, а не в данных.
Шаблон этикетки настраивается в той же обработке «Печать этикеток и ценников»: выберите шаблон из списка или создайте новый через «Редактировать макет». В редакторе доступны поля: наименование, цена, артикул, штрихкод, дополнительные реквизиты. Размер этикетки подбирайте под ваш принтер этикеток (типичные — 58×40, 58×30, 43×25 мм) и проверяйте тестовой печатью: штрихкод должен занимать не менее двух третей ширины этикетки, иначе сканер будет читать его нестабильно.
Для принтеров этикеток (Zebra, TSC, АТОЛ) в 1С есть отдельные драйверы и режимы печати. Если принтер поддерживает собственный язык команд, печать идёт быстрее и качественнее, чем через драйвер Windows. Проверьте, что в настройках оборудования выбран правильный тип устройства.
Как проверить результат
Сканер с первого раза выводит код, совпадающий с записью в регистре
Код не читается, читается частично или с лишними символами
В документе продажи/поступления по коду подставляется нужная номенклатура с верной упаковкой
Подставляется другой товар или ничего не находится
Полосы чёткие, контрастные, код вписан в этикетку с полями
Размытое изображение, код обрезан по краям этикетки
Программное создание штрихкода в конфигураторе
Если штатных механизмов не хватает (например, нужен свой алгоритм генерации при обмене), код создаётся программно. Логика простая: сформировать 12 цифр, вычислить контрольную цифру EAN-13 и записать результат в регистр сведений «Штрихкоды номенклатуры» с привязкой к владельцу.
Контрольная цифра EAN-13 считается так: цифры на нечётных позициях (нумерация с 1) суммируются как есть, на чётных — умножаются на 3; контрольная цифра дополняет сумму до ближайшего кратного 10. Ошибка в этом расчёте — причина, по которой «самодельные» коды не читаются кассами.
Функция КонтрольнаяЦифраEAN13(Код12)
Сумма = 0;
Для Поз = 1 По 12 Цикл
Цифра = Число(Сред(Код12, Поз, 1));
Если Поз % 2 = 0 Тогда
Сумма = Сумма + Цифра * 3;
Иначе
Сумма = Сумма + Цифра;
КонецЕсли;
КонецЦикла;
Возврат (10 - Сумма % 10) % 10;
КонецФункции
Менеджер = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
Менеджер.Номенклатура = Товар;
Менеджер.Штрихкод = Код12 + Строка(КонтрольнаяЦифраEAN13(Код12));
Менеджер.Записать();В управляемых формах точное имя регистра и его измерения зависят от конфигурации: где-то это «ШтрихкодыНоменклатуры» с измерениями «Номенклатура», «Характеристика», «Упаковка», где-то структура иная. Перед записью проверяйте уникальность кода запросом — регистр не даст записать дубль по ключевым измерениям, но один и тот же штрихкод у двух разных товаров технически возможен и создаст коллизию на кассе.
Подключение сканера и проверка считывания
Чтобы созданный штрихкод работал, сканер должен быть подключён в разделе «Администрирование» → «Подключаемое оборудование». Для USB-сканеров чаще всего используется драйвер «1С: Сканеры штрихкода (Native API)» или эмуляция клавиатуры. В режиме эмуляции клавиатуры сканер просто «печатает» код в активное поле — это работает без драйверов, но конфликтует с ручным вводом и поиском.
Проверка простая: откройте документ «Реализация товаров и услуг», нажмите кнопку поиска по штрихкоду (или используйте горячую клавишу поиска) и отсканируйте этикетку. Товар должен добавиться в табличную часть. Если вместо этого коды попадают в поле комментария — сканер работает в клавиатурном режиме, а фокус стоит не в том поле; переключите драйвер или настройте суффикс (Enter) в сканере.
Частые проблемы и их решения
Если штрихкод не печатается (пустая рамка на этикетке), проверьте установку компоненты «1С:Печать штрихкодов» на том рабочем месте, откуда идёт печать, — в терминальном режиме компонента нужна на сервере или в публикации веб-клиента. Если код печатается, но не сканируется, проверьте качество печати: бледные полосы на термопринтере означают износ головки или низкую температуру печати.
Если по коду находится «не тот» товар — ищите дубли: откройте регистр «Штрихкоды номенклатуры», отберите по значению кода и посмотрите, сколько записей существует. Удалите лишнюю запись и перепроверьте документы, проведённые с ошибочной привязкой.
Что важно запомнить
Штрихкод в 1С — это запись в регистре «Штрихкоды номенклатуры», привязанная к товару, характеристике и упаковке. Внутренние коды генерируйте с префиксом 200–299, контрольную цифру EAN-13 считайте корректно, этикетки проверяйте сканером до массовой печати.
Частые вопросы
Можно ли использовать заводской штрихкод производителя?
Да, и это предпочтительный вариант: отсканируйте код с упаковки поставщика при создании записи в регистре. Внутренний код генерируйте только тогда, когда заводского нет (товар без маркировки, фасовка, собственное производство) или когда он не уникален в вашей базе.
Чем внутренний штрихкод отличается от кода GS1?
Код GS1 регистрируется в международной системе и уникален глобально — его требуют торговые сети и маркетплейсы. Внутренний код с префиксом 200–299 действует только внутри вашей компании и не должен уходить во внешние каталоги и прайсы.
Почему сканер вводит код, но 1С не находит товар?
Чаще всего код не записан в регистр «Штрихкоды номенклатуры» или записан с другой привязкой (к другой характеристике). Также проверьте, не добавляет ли сканер префикс или суффикс — лишний символ в начале кода делает поиск безрезультатным.
Нужен ли отдельный принтер этикеток?
Нет, этикетки можно печатать на обычном офисном принтере на самоклеящихся листах — в обработке печати есть шаблоны под листы A4. Отдельный термопринтер оправдан при регулярной печати десятков этикеток в день: он быстрее и дешевле в расходных материалах.
Как создать штрихкод для маркированного товара?
Коды DataMatrix для маркировки не генерируются в 1С — их заказывают в системе «Честный ЗНАК» и загружают в базу через обмен (ЭДО или встроенный механизм обмена с ГИС МТ). 1С хранит эти коды и печатает этикетки с ними, но не создаёт их самостоятельно.
Можно ли один штрихкод присвоить нескольким товарам?
Технически регистр это позволяет, но делать так нельзя: при сканировании программа не сможет однозначно определить товар, и в документы будет подставляться случайная позиция. Каждому товару, характеристике и упаковке — свой уникальный код.