Документы и Печать · 11 мин
Как вывести штрихкод в 1С: пошаговая инструкция
Как вывести штрихкод в 1С: подключение компоненты печати, настройка макета этикетки, вывод в документы и отчёты, типовые ошибки и способы их устранения.
Штрихкод в 1С выводится двумя путями: через типовой механизм печати этикеток и ценников, встроенный в конфигурации «Управление торговлей», «Розница», «ERP», либо через программную вставку штрихкода в макет печатной формы с помощью компоненты «1С:Печать штрихкодов». Первый способ не требует программирования и подходит большинству пользователей, второй нужен, когда штрихкод должен появиться в произвольном документе или отчёте.
Основа обоих способов — внешняя компонента, которая преобразует строку цифр в графическое изображение штрихкода. Если компонента не установлена или не загрузилась, вместо штрихкода вы увидите пустое место, рамку или сообщение об ошибке. Поэтому любая работа начинается с проверки именно её.
Ниже разобраны оба сценария: типовая печать этикеток через обработку и вывод штрихкода в собственный макет, а также проверка результата, типичные ошибки и ограничения разных форматов штрихкодов.
Проверка и установка компоненты печати штрихкодов
Компонента «1С:Печать штрихкодов» (Barcode.ocx) поставляется на диске ИТС и с дистрибутивами большинства конфигураций. В современных конфигурациях на БСП (библиотека стандартных подсистем) компонента хранится в макете конфигурации и устанавливается автоматически при первой попытке печати — платформа предложит «Установить внешнюю компоненту», нужно подтвердить действие.
Если автоматическая установка не сработала, компоненту регистрируют вручную: файл Barcode.ocx копируют в каталог bin платформы 1С или в профиль пользователя, затем выполняют регистрацию командой regsvr32 от имени администратора. После этого 1С перезапускают и проверяют печать тестовой этикетки.
Признак того, что компонента работает: при открытии предварительного просмотра этикетки штрихкод отображается как графическое изображение, а не пустая рамка. Если вместо картинки появляется сообщение «Компонента печати штрихкодов не установлена», проблема именно в регистрации, а не в данных товара.
Типовая печать этикеток и ценников без программирования
В конфигурациях «Управление торговлей 11», «Розница», «ERP», «Комплексная автоматизация» есть встроенная обработка «Печать этикеток и ценников». Обычно она находится в разделе «Закупки» или «Склад», а также вызывается из документов поступления, установки цен и оприходования по кнопке печати.
Порядок работы: откройте обработку, добавьте товары в табличную часть (вручную, по документу или подбором), укажите количество этикеток для каждой позиции, выберите шаблон этикетки или ценника и нажмите «Печать». Штрихкод подставляется автоматически из карточки номенклатуры — из табличной части «Штрихкоды».
Если у товара несколько штрихкодов (по характеристикам или упаковкам), обработка берёт тот, который соответствует выбранной строке. Если штрихкод в карточке не заполнен, этикетка напечатается без него либо с пустым полем — это самая частая причина «пропавшего» штрихкода.
- 1Откройте обработку «Печать этикеток и ценников» из раздела «Склад» или из документа поступления
- 2Добавьте товары подбором или заполните по документу-основанию
- 3Проверьте, что в карточках номенклатуры заполнены штрихкоды
- 4Выберите шаблон этикетки и задайте количество копий
- 5Нажмите «Печать» и проверьте предварительный просмотр: штрихкод должен отображаться графически
Настройка шаблона этикетки
Шаблоны этикеток хранятся в справочнике «Шаблоны этикеток, ценников и чеков ККМ». Типовые шаблоны содержат поле штрихкода, но его размер и положение можно менять в визуальном редакторе: откройте шаблон на редактирование, выделите поле штрихкода и перетащите границы.
Важный параметр — тип штрихкода в свойствах поля. Для товарного учёта чаще используют EAN-13, для внутренних кодов с буквами — Code128. Если в поле указан EAN-13, а код товара содержит буквы или другое число цифр, штрихкод не сформируется: компонента откажется строить изображение из невалидных данных.
Размер поля тоже имеет значение. Слишком узкое поле обрезает штрихи, и сканер не считает код. Практическое правило: после изменения шаблона всегда печатайте пробную этикетку и проверяйте её сканером, а не только визуально.
Вывод штрихкода в произвольную печатную форму
Когда штрихкод нужен в документе, где типового механизма нет (например, в заказе покупателя, инвентаризационной описи или собственном отчёте), его выводят программно. В конфигурациях на БСП есть готовый программный интерфейс: функция модуля менеджера оборудования формирует картинку штрихкода и помещает её в область макета.
Общая схема: в табличном документе-макете создаётся область с рисунком, в коде формирования печатной формы вызывается функция получения изображения штрихкода с параметрами (тип штрихкода, строка кода, ширина, высота), результат присваивается рисунку области. В типовых модулях это выглядит примерно так:
ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода();
ПараметрыШтрихкода.Ширина = 50;
ПараметрыШтрихкода.Высота = 20;
ПараметрыШтрихкода.ТипКода = 1; // Code128
ПараметрыШтрихкода.Штрихкод = "4601234567890";
Результат = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода);
Если Результат.Результат Тогда
Рисунок.Картинка = Результат.Картинка;
КонецЕсли;
Точные имена модулей зависят от конфигурации и версии БСП: в одних это «ГенерацияШтрихкода», в других — «МенеджерОборудованияВызовСервера». Перед доработкой найдите в конфигураторе, как штрихкод формируется в типовой печати этикеток, и повторите тот же вызов.
ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода();
ПараметрыШтрихкода.ТипКода = 1;
ПараметрыШтрихкода.Штрихкод = "4601234567890";
Результат = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода);Выбор формата штрихкода
Формат определяет, какие символы можно закодировать и где штрихкод будет считываться. Неверно выбранный формат — вторая по частоте причина непечатающегося или нечитаемого кода.
| Формат | Допустимые данные | Где применяется |
|---|---|---|
| EAN-13 | 13 цифр | Розничная торговля, товары с зарегистрированным кодом |
| EAN-8 | 8 цифр | Малогабаритные товары, малые этикетки |
| Code128 | Латиница, цифры, спецсимволы | Внутренние коды, складские и транспортные этикетки |
| Code39 | Цифры, заглавная латиница, часть символов | Старые системы учёта, совместимость |
| QR-код | Любой текст, включая кириллицу | Ссылки, маркировка, оплата |
Для маркированных товаров («Честный знак») действуют отдельные правила: код маркировки DataMatrix выводится через механизмы обмена с системой маркировки, а не через стандартное поле штрихкода этикетки. Попытка напечатать код маркировки обычным полем EAN-13 не даст рабочего результата.
Сравнение вариантов
Подходит для товаров и ценников, не требует доработок. Ограничение: работает только с номенклатурой и её шаблонами.
Позволяет вставить штрихкод в любой документ или отчёт. Требует доступа к конфигуратору и аккуратной доработки.
Компромисс: штрихкод добавляется внешней обработкой без изменения конфигурации, что упрощает обновления.
Проверка результата и типичные ошибки
Проверка делится на три этапа. Сначала визуальный контроль в предварительном просмотре: штрихкод отображается, не обрезан, поле не пустое. Затем печать пробной этикетки на реальном принтере: на термопринтере этикеток проверьте, что штрихи чёткие, без полос и размытия. Наконец, считывание сканером: код должен распознаваться с первого прохода и совпадать с кодом в карточке товара.
Если сканер не читает этикетку, причины обычно такие: слишком мелкий масштаб печати, низкая плотность печати на термопринтере, обрезанные края штрихкода, несоответствие типа кода данным. Исправляют в указанном порядке: увеличивают поле в шаблоне, повышают темноту печати в драйвере, проверяют тип штрихкода.
Отдельный случай — веб-клиент и тонкий клиент без установленной компоненты. В веб-клиенте компонента устанавливается как расширение браузера, и без него печать штрихкодов невозможна. Если у части пользователей штрихкод печатается, а у части нет, почти всегда дело в локальной установке компоненты на конкретном рабочем месте.
Как проверить результат
Штрихкод виден как графическое изображение
Пустая рамка или сообщение о компоненте
Код читается с первого прохода и совпадает с карточкой
Сканер молчит или выдаёт другой код
Штрихи чёткие, края не обрезаны
Бледные полосы, размытие, обрезка по краям
Частые вопросы
Почему штрихкод не печатается, хотя в карточке товара он заполнен?
Чаще всего не установлена или не загрузилась компонента печати штрихкодов на конкретном рабочем месте. Проверьте, появляется ли предложение установить компоненту при печати. Вторая причина — несоответствие типа штрихкода данным: например, тип EAN-13 при коде с буквами или неверной длиной.
Можно ли вывести штрихкод в 1С без диска ИТС?
Да. В конфигурациях на библиотеке стандартных подсистем компонента хранится внутри конфигурации и устанавливается автоматически при первой печати. Отдельно скачивать её не требуется, достаточно подтвердить установку в диалоге платформы.
Как напечатать штрихкод из документа, где нет кнопки «Этикетки»?
Откройте обработку «Печать этикеток и ценников» напрямую из раздела «Склад» или «Закупки» и добавьте товары вручную или подбором. Если нужен штрихкод в самой печатной форме документа, потребуется доработка макета с программным выводом картинки штрихкода.
Сканер не читает напечатанную этикетку. Что проверить в первую очередь?
Напечатайте этикетку крупнее и повысьте темноту печати в настройках драйвера принтера. Затем убедитесь, что штрихкод не обрезан по краям поля шаблона. Если не помогло — сверьте тип штрихкода с данными: для кодов с буквами нужен Code128.
Работает ли печать штрихкодов в веб-клиенте 1С?
Работает, но компонента должна быть установлена в браузере как расширение для каждого пользователя. При первой печати платформа предложит установку. Если пользователь отказался от установки, штрихкоды у него печататься не будут, пока компоненту не установят.
Как вывести код маркировки «Честный знак» на этикетку?
Код маркировки DataMatrix не печатается через обычное поле штрихкода. Используйте штатные механизмы обмена с системой маркировки в вашей конфигурации: там код формируется из данных, полученных при заказе и нанесении кодов, и выводится специальным макетом.
Что важно запомнить
Штрихкод в 1С выводится типовой обработкой «Печать этикеток и ценников» либо программно через компоненту печати штрихкодов. Проверяйте три вещи: установлена ли компонента, заполнен ли штрихкод в карточке товара и соответствует ли тип штрихкода данным. Финальная проверка — считывание напечатанной этикетки сканером.