Как добавить штрихкод на печатную форму УПД в 1С:Бухгалтерии?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

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

Разбор механизма генерации

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

Рассмотрим основной принцип работы:

  1. Функция ДанныеQRКода (или аналогичные функции для линейных штрихкодов) принимает на вход строку, уровень коррекции и параметры размера.
  2. В качестве типа кода можно указать нужный нам формат (например, QR-код или EAN-13).
  3. Для работы с кодом нам потребуется создать внешнюю печатную форму, чтобы не нарушать целостность типового макета УПД.

Алгоритм реализации через внешнюю печатную форму

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

Шаг 1: Подготовка макета

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

Шаг 2: Вызов функции генерации

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


// Пример формирования данных для штрихкода
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Штрихкод", "ВашиДанныеДляКодирования");
ПараметрыШтрихкода.Вставить("ТипКода", 16); // Например, QR-код

// Вызов функции генерации из общего модуля
РезультатКартинка = ГенерацияШтрихкода.ПолучитьКартинку(ПараметрыШтрихкода);

Шаг 3: Вывод на форму

Полученную картинку необходимо поместить в созданный нами рисунок табличного документа. Это делается путем обращения к объекту области макета и присвоения ему свойства Картинка.


// Получаем область макета
ОбластьМакета = Макет.ПолучитьОбласть("ОбластьШтрихкода");

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

// Выводим область в результирующий документ
ТабличныйДокумент.Вывести(ОбластьМакета);

Важные рекомендации для разработчика

При работе с функционалом генерации штрихкодов учитывайте следующие моменты:

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

← На главную