Перейти к содержимому

Штрихкод

Штрихкод выводится в печатную форму так же, как QR-код, — картинкой, которую при печати заполняет параметр области. Код писать не нужно: символика, источник значения и вид изображения задаются в конструкторе.

Порядок действий:

  1. (для табличного документа) вставить картинку под штрихкод — кнопкой «Штрихкод» в подменю «Вставить элементы» над макетом, см. Картинка под штрихкод;
  2. (для офисного документа) добавить параметр на место, куда встанет картинка;
  3. в параметрах области указать тип «Штрихкод» — картинке, вставленной кнопкой, тип подставится сам после нажатия «Обновить»;
  4. кнопкой выбора в колонке «Значение» открыть конструктор штрихкода и задать символику, источник значения и настройки изображения.

Настроенный параметр показывается в колонке «Значение» строкой вида Code128: НаборыДанных.Шапка.Штрихкод: сначала символика, затем поле набора, а для алгоритма — его текст.

Параметры области: картинке Штрихкод тип подставился по имени, в колонке «Значение» — символика и поле набора

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

Подменю «Вставить элементы»: кнопка «Штрихкод» — сразу под «QR-код»

Тип параметра подставляется по имени картинки: если имя содержит barcode или штрихкод (регистр не важен), после нажатия «Обновить» над параметрами области параметр получает тип «Штрихкод». Поэтому то же сработает и для картинки, вставленной любым другим способом и названной, например, ШтрихкодТовара или BarcodeEAN13. Автоподстановка действует:

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

В офисном документе (DOCX) кнопки вставки нет: параметр ставится на место картинки, а тип «Штрихкод» выбирается в колонке «Тип» вручную.

Конструктор открывается кнопкой выбора в колонке «Значение» параметра с типом «Штрихкод». Состав формы:

ЭлементНазначение
Источник значенияОткуда берётся кодируемое значение: Поле набора или Алгоритм
Значение и кнопка «Формат» справа от негоДля источника «Поле набора»: поле из доступных полей области и формат значения
ПодсказкаТребования символики и совместимость выбранного поля, см. Подсказка над полем значения
Закладка «Настройки»Символика и настройки генерации изображения
Закладка «Алгоритм»Консоль кода; видна только для источника «Алгоритм», см. Алгоритм значения
Предпросмотр справа от закладокГотовое изображение и его фактический размер
Кнопка «Обновить» на командной панелиПерерисовывает предпросмотр

Конструктор штрихкода: источник «Поле набора», символика Code 128, поле типа Строка(13) — подсказка зелёная, справа предпросмотр с фактическим размером

Символика выбирается переключателем на закладке «Настройки» — одна из 24, их список и требования к значению собраны в разделе Символики. Новый штрихкод открывается с символикой EAN-13 и размером 300 × 100 пикселей.

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

Источник «Алгоритм». Открывается закладка «Алгоритм» с консолью кода, см. Алгоритм значения.

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

Предпросмотр перерисовывается при каждой правке настроек и показывает настоящее изображение, собранное подсистемой «Генерация штрихкода», и его фактический размер, например «Фактический размер: 300 x 100 пикс.». Кодируется при этом не ваше значение, а демонстрационное значение символики: поле набора и алгоритм в конструкторе не вычисляются, они получают значение только при печати. Если изображение не сформировалось, внизу формы выводится причина; без подсистемы «Генерация штрихкода» предпросмотр недоступен.

«Записать и закрыть» возвращает настройку в параметр области. Если форму закрыть с несохранёнными правками, конструктор спросит, записать ли их.

НастройкаПо умолчаниюЧто задаёт
Ширина, Высота300 × 100Желаемый размер изображения в пикселях
Отображать текстдаПодпись со значением под штрихкодом
Размер шрифта12Размер шрифта подписи
Угол поворота0°Поворот изображения: 0°, 90°, 180° или 270°
Вертикальное выравниваниеПо верхнему краюПо верхнему краю, по центру или по нижнему краю
Кол-во строк2Число строк у символики GS1 DataBar Expanded Stacked
Прозрачный фондаИзображение без заливки фона
МасштабироватьдаПодгонять изображение под заданный размер
Сохранять пропорциинетСохранять пропорции изображения при масштабировании
Убрать лишний фоннетУбирать пустые поля вокруг кода

Заданный размер — пожелание, а не гарантия. У каждой символики есть минимальный размер, и зависит он ещё и от длины значения: при включённом «Масштабировать» изображение не будет меньше этого минимума. Итоговый размер видно в строке «Фактический размер» под предпросмотром.

При смене символики размер меняется на подходящий ей: у EAN-128 и EAN-13 разные пропорции, и размер от прежней символики дал бы обрезанный штрихкод или поле пустого фона. Если размер вы задали сами, смена символики его не меняет.

Над настройками выводятся требования выбранной символики: допустимые символы, длина, контрольный разряд и пример. Например, для EAN-13:

EAN13: цифры 0-9, длина 12 или 13, 13-й знак - контрольный, неверный не принимается. Пример: 4601234567893

Для источника «Поле набора» ниже идёт оценка выбранного поля по его типу — по строке на каждый тип поля:

ЗнакСмыслПример
✓После приведения к строке значение подойдёт«✓ Число(13,0) приведётся к 13 цифрам с ведущими нулями»
⚠Может не подойти — зависит от конкретного значения«⚠ Строка(50) может не совпасть с длиной 12 или 13, которую ждёт EAN13»
✗Не подойдёт«✗ Булево не кодируется в EAN13»

Оценка одного и того же поля зависит от символики. Для ссылочного поля, например СтранаПроисхождения типа «Страна мира», в штрихкод попадает строковое представление ссылки: символике, которая принимает любые символы (PDF417), это может подойти — «⚠ Страна мира: в штрихкод попадёт представление значения», а цифровой (EAN-8) — нет: «✗ Страна мира: представление значения не подходит EAN8».

Ссылочное поле при символике PDF417: представление может подойти — «⚠»

То же поле при символике EAN-8: цифровой код представление не примет — «✗»

Когда вопросов к полю нет, подсказка зелёная с зелёным флажком; если есть хотя бы один «⚠» или «✗», она розовая с красным флажком. При заданном формате «✗» смягчается до «⚠»: формат меняет значение уже после приведения к строке, и итог проверяется при печати. Для источника «Алгоритм» подсказка советует возвращать строку.

Подсказка только предупреждает — записать макет она не мешает. Проверить само значение конструктор не может: из данных документа оно берётся только при печати.

В колонке «Литерал» — имя символики в подсказке, в колонке «Значение» параметра и в XML-схеме. Требования проверяются при печати (см. Значение при печати).

СимволикаЛитералЗначениеПример
EAN-8EAN8цифры, длина 7 или 8, 8-й знак — контрольный1234567
EAN-13EAN13цифры, длина 12 или 13, 13-й знак — контрольный; из 12 цифр контрольный разряд досчитывается сам4601234567893
EAN-13 AddOn 2EAN13AddOn2цифры, длина 15: EAN-13 и две цифры дополнения, 13-й знак — контрольный460123456789312
EAN-13 AddOn 5EAN13AddOn5цифры, длина 18: EAN-13 и пять цифр дополнения, 13-й знак — контрольный460123456789312345
ITF-14ITF14цифры, длина 13 или 1414601234567890
GS1 DataBar (RSS-14)RSS14цифры, длина 13 или 1404601234567893
Industrial 2 of 5Industrial2_5цифры, не меньше 21234567890
Interleaved 2 of 5Interleaved2_5цифры, не меньше 21234567890
CodabarCodabarцифры и символы $+-./: между стартовым и стоповым символами A–DA123$456B
Code 39Code39латиница, цифры, пробел и символы $%*+-./ABC-1234
Code 39 (расш.)Code39Extлюбые символы, включая кириллицуInfostart {2025}
Code 93Code93символы ASCII: латиница, цифры, пробел, знакиInfostart {2025}
Code 128Code128символы ASCIIABC-1234
Code 16KCode16kсимволы ASCIIABC-1234
EAN-128 (GS1-128)EAN128символы ASCII; данные с идентификаторами применения GS1(01)04601234567893(10)ABC(17)250101
GS1 DataBar Expanded StackedGS1DataBarExpandedStackedлатиница, цифры, пробел и символы !"%&'()*+,-./:;<=>?[]_(01)04601234567893(10)ABC(17)250101
PDF417PDF417любые символыInfostart PrintWizard
DataMatrix ASCIIDataMatrixASCIIлюбые символыInfostart PrintWizard
DataMatrix BASE256DataMatrixBASE256любые символыInfostart PrintWizard
DataMatrix TEXTDataMatrixTEXTлюбые символыinfostart printwizard
DataMatrix C40DataMatrixC40любые символыINFOSTART PRINTWIZARD
DataMatrix X12DataMatrixX12заглавная латиница, цифры, пробел, символы *> и возврат кареткиINFOSTART PRINTWIZARD
DataMatrix EDIFACTDataMatrixEDIFACTсимволы ASCII с кодами 32–94; при печати алфавит не проверяетсяINFOSTART PRINTWIZARD
DataMatrix GS1 ASCIIDataMatrixGS1ASCIIлюбые символы; данные с идентификаторами применения GS1(01)04601234567893(10)ABC(17)250101

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

QR-кода в списке нет: для него свой тип параметра — см. QR-код. Автоматического определения символики нет, её выбирают явно.

При печати значение из поля набора или результат алгоритма проходит пять шагов:

  1. Пустое значение — пустая строка, ноль, пустая ссылка — даёт пустую картинку. Это штатный случай (у документа нет штрихкода), в журнал он не пишется. Пустота проверяется до формата, поэтому текст, заданный в формате для пустого значения, в штрихкод не попадает.
  2. Приведение к строке — все символики кодируют строку (таблица ниже).
  3. Формат — для источника «Поле набора» к строке применяется формат, заданный кнопкой «Формат». К результату алгоритма формат не применяется.
  4. Проверка по требованиям символики: алфавит, длина, стартовый и стоповый символы, контрольный разряд (см. Символики).
  5. Генерация изображения подсистемой «Генерация штрихкода».
ПришлоСтало
Строкакак есть
Число целоебез разделителей групп: 4601234567893, а не 4 601 234 567 893. У EAN-8, EAN-13, EAN-13 AddOn 2 и 5, ITF-14 и GS1 DataBar (RSS-14) — с ведущими нулями до полной длины: число 4601234567893 для RSS-14 станет 04601234567893
Число дробноес точкой: 12.5 — цифровым символикам такое значение не подойдёт
Даташесть цифр ГГММДД, как в идентификаторах применения GS1: 28.09.2026 → 260928
Ссылка, Булево, уникальный идентификаторстроковое представление

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

  • EAN13: ожидается длина 12 или 13, пришло символов: 10
  • EAN13: недопустимый символ "A" в позиции 5, допустимы: цифры 0-9
  • EAN13: неверный контрольный разряд в позиции 13: ожидается 3, пришло 4

Журнал виден на закладке «Журнал событий» формы макета после тестовой печати в режиме отладки. Если в конфигурации нет подсистемы «Генерация штрихкода», штрихкоды выходят пустыми, а в журнале одно предупреждение на всю печать: «Подсистема “Генерация штрихкода” не найдена, штрихкоды не выводятся».

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

Для источника «Алгоритм» значение считает код на встроенном языке. Он выполняется на сервере при выводе области — когда дополнительные поля рассчитаны, а данные наборов подготовлены для текущего объекта печати. Редактор тот же, что у других алгоритмов: подсветка, автодополнение по переменным алгоритма, синтакс-помощник и синтаксический контроль, см. Редактор кода.

ПеременнаяЧто это
ТекущаяСсылкаСсылка на объект, для которого формируется печатная форма
НаборыДанныхДанные наборов, подготовленные для печати: НаборыДанных.[Набор].[Поле]
ДополнительныеСвойстваСтруктура для передачи данных между алгоритмами и событиями
ЭтотМакетОбъект исполнителя печатной формы

Список переменных открывается и в самой форме — ссылкой «Подсказка» над редактором. Кодируемое значение присваивается переменной Результат:

Результат = НаборыДанных.Шапка.Штрихкод;

Значение можно взять и из реквизита самого объекта печати: Результат = ТекущаяСсылка.Штрихкод;.

Источник «Алгоритм»: закладка «Алгоритм» с консолью кода, над ней — требования символики PDF417 и совет возвращать строку

Лучше возвращать строку. Число и дата приводятся к строке сами, по правилам из раздела Значение при печати, остальное — строковым представлением. Формат к результату алгоритма не применяется: нужный вид строки собирается в самом алгоритме. Если алгоритм завершился с ошибкой, штрихкод выходит пустой картинкой, а текст ошибки попадает в журнал событий.

Составного значения из нескольких полей у штрихкода нет. Значение, собранное из частей — например, строка GS1 с идентификаторами применения, — готовится вычисляемым полем набора или этим алгоритмом.