К статье
Практический материал

Автоматизация · 13 мин

Как вставить штрихкод в 1С: настройка и вывод в печатные формы

Как вставить штрихкод в 1С: подключение компоненты, вывод в печатные формы, работа в УТ, ERP и Бухгалтерии. Настройка, типовые ошибки и проверка результата.

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

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

Ниже разобраны оба сценария: типовой (без программирования) и с доработкой макета, а также типичные ошибки, из-за которых штрихкод не печатается или не читается сканером.

Как 1С хранит и формирует штрихкоды

Штрихкод в базе 1С — это обычная строка символов, привязанная к номенклатуре, характеристике, упаковке или документу. В типовых конфигурациях за хранение отвечает регистр сведений «Штрихкоды номенклатуры»: одна позиция может иметь несколько штрихкодов (например, по разным единицам измерения).

Сама строка цифр не является картинкой. Чтобы штрихкод можно было напечатать и считать сканером, 1С преобразует строку в графическое изображение. За это отвечает внешняя компонента «1С:Библиотека подключаемого оборудования» (входит в состав БПО), которая поддерживает линейные форматы (EAN-13, EAN-8, Code 39, Code 128) и двумерные (QR-код, DataMatrix).

Как добавить штрихкод в карточку номенклатуры

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

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

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

Порядок добавления штрихкода товару
  1. 1
    Откройте карточку номенклатуры и перейдите к списку штрихкодов
  2. 2
    Нажмите «Создать», введите код вручную или отсканируйте сканером
  3. 3
    При необходимости укажите упаковку и характеристику, к которым привязан код
  4. 4
    Запишите карточку и проверьте поиск товара по этому штрихкоду в документе

Установка компоненты печати штрихкодов

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

Если предложение об установке не появилось, а штрихкод не печатается, проверьте: не заблокирована ли установка браузером (при работе через веб-клиент), есть ли у пользователя права на установку компонент, и не используется ли устаревшая версия библиотеки подключаемого оборудования.

Как напечатать этикетку со штрихкодом

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

Шаблон этикетки определяет, что будет на ней напечатано: наименование, цена, штрихкод, артикул. Стандартные шаблоны уже содержат поле штрихкода. Если нужен свой вариант, откройте редактор шаблона, перетащите поле «Штрихкод» из списка доступных полей в нужное место макета и сохраните. Размер картинки штрихкода можно менять, но не сжимайте его слишком сильно — при ширине меньше примерно 25–30 мм линейный штрихкод EAN-13 часто перестаёт читаться сканером.

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

Контрольные точки

Как проверить результат печати

Читаемость сканером
Норма

Сканер распознаёт код с первого прохода на расстоянии 5–15 см

Тревожный признак

Сканер не реагирует или считывает через несколько попыток

Внешний вид этикетки
Норма

Штрихи чёткие, без размытия, вокруг кода есть светлое поле

Тревожный признак

Полосы смазаны, штрихкод вплотную к тексту или краю

Совпадение данных
Норма

Считанный код совпадает со значением в карточке товара

Тревожный признак

Сканер выдаёт другие цифры или лишние символы

Как вставить штрихкод в макет печатной формы

Когда штрихкод нужен не на этикетке, а в документе — например, в ТОРГ-12, счёте или складском ордере, — его добавляют в макет печатной формы. В конфигураторе откройте макет нужного документа, добавьте в область ячейку с типом «Картинка» и задайте ей имя параметра, например «ШтрихкодКартинка».

В модуле менеджера объекта (или в модуле команды печати) при формировании табличного документа получите изображение штрихкода через функцию общего модуля работы со штрихкодами и присвойте его параметру-картинке. В типовых конфигурациях на базе БСП используется программный интерфейс формирования изображения штрихкода с параметрами: тип кода, строка значения, ширина и высота в пикселях.

Упрощённый пример вставки выглядит так:

// Формируем изображение штрихкода

ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода();

ПараметрыШтрихкода.Штрихкод = "4607035930017";

ПараметрыШтрихкода.ТипКода = 1; // EAN-13

ПараметрыШтрихкода.Ширина = 300;

ПараметрыШтрихкода.Высота = 120;

Результат = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода);

Если Результат.Результат Тогда

ОбластьМакета.Рисунки.ШтрихкодКартинка.Картинка = Результат.Картинка;

КонецЕсли;

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

Выбор формата штрихкода

Формат определяет, какие символы можно закодировать и как код будет читаться оборудованием. Неверно выбранный формат — частая причина того, что этикетка печатается, но не сканируется.

ФорматЧто кодируетГде применяется
EAN-1313 цифр, последняя — контрольнаяРозничная торговля, маркировка товаров
EAN-88 цифрМалогабаритные товары с маленькой этикеткой
Code 128Цифры и латинские буквыВнутренний учёт, складские операции
Code 39Цифры, заглавные буквы, часть символовДокументы, архив, производство
QR-кодТекст, ссылки, структурированные данныеОплата, маркировка, электронные документы
DataMatrixЦифры и буквы, компактная кодировкаМаркировка «Честный ЗНАК»

Для товаров розничной торговли стандарт де-факто — EAN-13. Для внутренних кодов предприятия удобнее Code 128, потому что он допускает буквы и не требует контрольной цифры. Формат для маркированных товаров определяется системой «Честный ЗНАК» и менять его нельзя.

Маршрут решения

Как выбрать сценарий

Нужно напечатать этикетки на товарыИспользуйте типовую обработку «Печать этикеток и ценников» без доработок
Нужен штрихкод в документе (накладной, счёте)Добавьте картинку штрихкода в макет печатной формы через конфигуратор или расширение
Штрихкод нужно только считывать сканеромДостаточно заполнить штрихкоды в карточках номенклатуры, компонента печати не обязательна
Конфигурация самописная и стараяПроверьте наличие общих модулей генерации штрихкода; при их отсутствии потребуется внешняя компонента

Типичные ошибки и их устранение

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

Вторая группа проблем — штрихкод печатается, но не читается. Обычно виноваты слишком мелкий масштаб, низкое качество печати (бледные штрихи на старом термопринтере), отсутствие свободных полей вокруг кода или неверная контрольная цифра EAN-13. Если код вводился вручную, перепроверьте последнюю цифру — при ошибке в ней часть сканеров отказывается распознавать код.

Отдельно стоит проблема дублирования штрихкодов при обмене данными между базами: один и тот же код привязывается к разным товарам. Решение — сверка регистра штрихкодов после обмена и очистка конфликтных записей.

Типичные ошибки
01
Ввод EAN-13 с неверной контрольной цифрой — сканер не распознаёт код или считывает с ошибкой
02
Слишком маленький размер штрихкода в шаблоне — этикетка выглядит нормально, но не сканируется
03
Правка типового макета без расширения — доработка теряется при обновлении конфигурации
04
Один штрихкод у нескольких товаров — при сканировании подставляется не та позиция
05
Установка сторонней компоненты вместо штатной — конфликты и сбои при печати

Ограничения и когда нужна помощь разработчика

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

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

Перед массовой печатью этикеток распечатайте одну пробную и проверьте её рабочим сканером именно в том месте, где будут сканировать: освещение, расстояние и угол влияют на читаемость. Это занимает минуту и избавляет от перепечатки всей партии.
ПЗ
Практическое замечание

Частые вопросы

Почему 1С пишет «Компонента печати штрихкодов не установлена»?

Компонента устанавливается при первом обращении к печати штрихкода, но установка может быть заблокирована антивирусом, политиками безопасности или недостатком прав пользователя. Запустите 1С с правами администратора и повторите печать — система снова предложит установку. При работе через веб-клиент проверьте, что браузер разрешает установку расширения для работы с компонентами.

Можно ли вставить штрихкод в 1С без сканера?

Да. Сканер нужен только для быстрого ввода: он просто «печатает» цифры в активное поле. Штрихкод можно ввести вручную с упаковки товара или сгенерировать внутренний код средствами конфигурации. Для печати этикеток сканер вообще не требуется.

Как вывести штрихкод в «1С:Бухгалтерии», если там нет печати этикеток?

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

Что делать, если штрихкод печатается, но сканер его не читает?

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

Можно ли печатать QR-код вместо линейного штрихкода?

Да, типовая компонента поддерживает QR-коды. В шаблоне этикетки или в коде формирования изображения укажите тип «QR-код» и строку для кодирования — это может быть текст, ссылка или служебные данные. Учтите, что для считывания QR-кодов нужен двумерный сканер; простые линейные сканеры их не читают.

Пропадёт ли штрихкод в макете после обновления конфигурации?

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

Итог

Что важно запомнить

Штрихкод в 1С — это строка в карточке номенклатуры плюс компонента, превращающая её в картинку. Этикетки печатаются типовой обработкой без доработок, вставка в документы требует изменения макета через конфигуратор или расширение. Перед массовой печатью всегда проверяйте пробную этикетку сканером.