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

Документы и Печать · 11 мин

Как вывести штрихкод в накладной в 1С

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

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

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

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

Какой штрихкод нужен на накладной: определяем задачу

Прежде чем править макет, определите, что именно должен кодировать штрихкод. От этого зависит тип кода и источник данных. Вариантов три, и у каждого своё назначение.

Штрихкод документа — кодирует номер и дату накладной (или GUID). Удобен для поиска документа в базе сканером: отсканировали бумажную накладную — и программа открыла соответствующий документ. Обычно используется тип Code128, потому что он поддерживает буквы, цифры и служебные символы произвольной длины.

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

QR-код — используется, когда нужно упаковать много данных: ссылку на электронный документ, реквизиты УПД, данные маркировки «Честный ЗНАК». Занимает больше места, но читается даже камерой телефона.

Сравнение типов штрихкодов

Code128

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

EAN-13

Стандарт для товаров. Только 13 цифр с контрольной суммой. Берётся из карточки номенклатуры, произвольную строку закодировать нельзя.

QR-код

Вмещает длинные строки и ссылки, читается камерой телефона. Требует больше места на бланке и корректной установки компоненты печати.

Способ 1. Штрихкод товара через типовую печатную форму

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

Проверьте, что в карточках номенклатуры заполнен реквизит «Штрихкод»: откройте товар, перейдите на вкладку штрихкодов (или регистр «Штрихкоды номенклатуры» в УТ/ERP) и убедитесь, что код введён и имеет тип EAN-13. Если поле пустое, на печати колонка останется пустой, даже если макет её поддерживает.

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

Способ 2. Добавление штрихкода в макет через конфигуратор

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

Порядок действий в конфигураторе
  1. 1
    Откройте конфигуратор, найдите документ (например, РеализацияТоваровУслуг) и в ветке «Макеты» откройте макет печатной формы накладной.
  2. 2
    Добавьте в макет новую область: выделите строки, задайте имя области (например, ШтрихКод) и вставьте ячейку с параметром, например {ШтрихКод}. Для картинки добавьте элемент «Картинка» в макет.
  3. 3
    Откройте модуль менеджера или модуль объекта документа, найдите процедуру печати и добавьте код формирования штрихкода через компоненту печати.
  4. 4
    Поместите сформированную картинку штрихкода в область макета и выведите область в табличный документ.
  5. 5
    Обновите конфигурацию базы данных (F7), откройте накладную и проверьте печатную форму.

Ключевой момент — формирование самой картинки штрихкода. В типовых конфигурациях есть готовые функции в общих модулях (например, «МенеджерОборудования» или «ПечатьШтрихкодов» в зависимости от конфигурации). Упрощённая логика такая: создаётся табличный документ, в него выводится рисунок с типом штрихкода, задаётся значение, и полученная картинка вставляется в макет.

bsl
// Упрощённый пример для модуля печати
ПараметрыШК = Новый Структура;
ПараметрыШК.Вставить("Ширина", 50);   // мм
ПараметрыШК.Вставить("Высота", 20);   // мм
ПараметрыШК.Вставить("ТипКода", 1);   // 1 = Code128
ПараметрыШК.Вставить("ОтображатьТекст", Истина);
ПараметрыШК.Вставить("Штрихкод", СтрокаШтрихкода);
// Далее — вызов типовой функции формирования картинки
// и вставка результата в область макета

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

Способ 3. Внешняя печатная форма без изменения конфигурации

Если конфигурация на полной поддержке и менять её нельзя (иначе слетит автоматическое обновление), правильный путь — внешняя печатная форма. Это файл с расширением .epf, который подключается через «Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки».

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

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

Штрихкод документа для поиска сканером

Частая задача — напечатать на накладной штрихкод, по которому документ потом находится в базе. Для этого кодируют либо номер документа с префиксом и датой, либо уникальный идентификатор (GUID). Номер читается человеком и короче, GUID гарантированно уникален, но длиннее.

Для кодирования используйте Code128: он принимает строки вида «00БП-004512» без ограничений. В модуле печати значение формируется простой конкатенацией: префикс базы + номер документа. Затем в форме списка документов настраивается обработка сканирования — в типовых конфигурациях это делается через подключаемое оборудование «Сканер штрихкода» и обработчик события ввода.

Учтите ограничение: если штрихкод содержит только номер, при перенумерации документов (например, после обмена между базами) код на старых распечатках перестанет совпадать с базой. Поэтому в многофирменных учётах надёжнее кодировать GUID.

Проверка результата и типичные ошибки

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

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

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

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

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

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

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

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

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

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

Сканер пищит, но значение отличается, или код вообще не читается

Поведение при пустых данных
Норма

Если штрихкод не заполнен, область не выводится или выводится заглушка

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

На печати пустая рамка или ошибка «Ошибка формирования штрихкода»

Типичные ошибки
01
Кодирование букв в EAN-13: этот тип принимает только цифры, поэтому номер документа с буквенным префиксом вызывает ошибку — используйте Code128.
02
Слишком маленькие размеры картинки: при ширине меньше примерно 25–30 мм сканеры читают Code128 нестабильно.
03
Отсутствие свободных полей вокруг кода: сканеру нужны белые отступы, иначе код не распознаётся.
04
Изменение типового макета напрямую: после обновления конфигурации доработка затирается — выносите изменения во внешнюю форму.
05
Незаполненный штрихкод в карточке товара: колонка в накладной есть, а данных в ней нет.

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

Если доработка макета кажется сложной, начните с простого: выведите на накладную не картинку, а шрифтовой штрихкод. Установите в Windows шрифт типа Code128 или EAN-13 и назначьте его ячейке макета с текстом кода. Способ не требует программирования, но работает только с корректно установленным шрифтом на каждом компьютере, где печатают накладные.
ПЗ
Практическое замечание

FAQ: частые вопросы о штрихкодах в накладных 1С

Можно ли вывести штрихкод без доступа к конфигуратору?

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

Почему штрихкод на экране есть, а сканер его не читает?

Чаще всего причины три: слишком мелкий размер картинки, плохое качество печати (экономия тонера) и отсутствие белых полей вокруг кода. Увеличьте ширину области до 35–50 мм, отключите экономию тонера и проверьте код другим сканером или приложением на телефоне.

Какой тип штрихкода выбрать для номера накладной?

Code128: он кодирует буквы, цифры и дефисы, то есть принимает номер вида «00БП-004512» целиком. EAN-13 для номера документа не подходит — он строго цифровой и требует контрольной цифры.

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

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

Как вывести штрихкоды «Честного ЗНАКа» (DataMatrix) в накладной?

Коды маркировки хранятся в табличной части документа (в УТ и ERP — в разделе штрихкодов упаковок/кодов маркировки). Их выводят аналогично, но тип кода в компоненте — DataMatrix, а данных много, поэтому обычно печатают не все коды, а сводную информацию или отдельное приложение к накладной.

Что делать, если при печати появляется ошибка «Компонента печати штрихкодов не установлена»?

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

Итог

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

Штрихкод в накладной выводится через макет печатной формы и встроенную компоненту печати: для товаров берите EAN-13 из карточки номенклатуры, для номера документа — Code128. Доработки делайте во внешней печатной форме, чтобы не потерять их при обновлении, и обязательно проверяйте читаемость кода реальным сканером после печати на бумаге.