Найти в Дзене

Генерация QR-кода и штрих-кода. Платформа 1С:Предприятие 8.3

Штриховой код – это знак, предназначенный для автоматизированной идентификации и учета информации о товаре, закодированной в виде цифр и штрихов. Штриховой код наносится на транспортную или потребительскую упаковку многих импортных и отечественных товаров типографским способом или с помощью этикетки и ярлыка, которые приклеиваются на упаковку. EAN-13 – полный штрих-код из 13 цифр. Чем QR-код отличается от штрихкода: Наиболее популярные программы просмотра QR-кодов поддерживают такие форматы данных: URL, закладка в браузер, Email (с темой письма), SMS на номер (c темой), MeCard, vCard, географические координаты, подключение к сети Wi-Fi. В нашем примере будем использовать QR-код, в котором зашифруем ссылку на элемент справочника «Сотрудники», созданный на практике загрузка изображения. Для реализации поставленной задачи, нам понадобится внешняя компонента, которую мы возьмем из файла barcode.dt. Загрузим файл barcode.dt в новую (чистую) конфигурацию воспользовавшись Администрирование ->
Создание QR-кода и штрих-кода на платформе 1С
Создание QR-кода и штрих-кода на платформе 1С

Штриховой код – это знак, предназначенный для автоматизированной идентификации и учета информации о товаре, закодированной в виде цифр и штрихов.

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

Чем QR-код отличается от штрихкода:

  • QR-код считывается в двух направлениях — вертикально и горизонтально, а штрихкод — только горизонтально. Благодаря этому, QR-код вмещает больше информации.
  • QR-код считывается под любым углом, штрихкод — только горизонтально.

Наиболее популярные программы просмотра QR-кодов поддерживают такие форматы данных: URL, закладка в браузер, Email (с темой письма), SMS на номер (c темой), MeCard, vCard, географические координаты, подключение к сети Wi-Fi.

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

Для реализации поставленной задачи, нам понадобится внешняя компонента, которую мы возьмем из файла barcode.dt.

Загрузим файл barcode.dt в новую (чистую) конфигурацию воспользовавшись Администрирование -> Загрузить информационную базу. При помощи комбинаций Ctrl+C и Ctrl+V скопируем и вставим объекты общих модулей «ГенераторШтрихКода» и «ГенераторШтрихКодаКлиенты» из конфигурации «ГенераторШтрихКодов» в нашу конфигурацию «ЭлементыПрограммирования1С». Так же необходимо скопировать объект общих модулей «КомпонентаПечатиШтрихкодов».

Копирование объектов из конфигурации "ГенераторШтрихКода" в  конфигурацию "ЭлементыПрограммирования1С"
Копирование объектов из конфигурации "ГенераторШтрихКода" в конфигурацию "ЭлементыПрограммирования1С"

Откроем общую форму «ДемоШтрихКод» в конфигурации «ГенераторШтрихКодов». Проанализируем ее содержимое.

Анализ содержимого общей формы "ДемоШтрихКод" конфигурации "ГенераторШтрихКодов"
Анализ содержимого общей формы "ДемоШтрихКод" конфигурации "ГенераторШтрихКодов"

Генерация кода происходит по кнопке на форме «Сформировать». Данный элемент формы привязан к команде «Сформировать».

Общая форма "ДемоШтрихКод" конфигурации "ГенераторШтрихКодов"
Общая форма "ДемоШтрихКод" конфигурации "ГенераторШтрихКодов"

Важно! Генерация кода будет происходить, если компонента установлена. Установка требуется всего 1 раз, нет никакой необходимости её устанавливать каждый раз при нажатии на кнопку «Сформировать» как это реализовано в конфигурации «ГенераторШтрихКодов».

В нашей конфигурации создадим общую форму «ФормаАдминистратора» на которой разместим кнопку «УстановитьКомпонентуШтрихКода. Запрограммируем событие команды кнопки.

Процедура "УстановитьКомпонентуШтрихКода" в модуле формы "ФормаАдминистратора". Выполняется при нажатии на унопку "УстановитьКомпонентуШтрихКода"
Процедура "УстановитьКомпонентуШтрихКода" в модуле формы "ФормаАдминистратора". Выполняется при нажатии на унопку "УстановитьКомпонентуШтрихКода"

Откроем рабочую область начальной страницы, чтобы форма «ФормаАдминистратора» открывалась при запуске.

Открытие рабочей области начальной страницы
Открытие рабочей области начальной страницы

Добавим форму в рабочую область.

Добавление в рабочую область общей формы "ФормаАдминистратора"
Добавление в рабочую область общей формы "ФормаАдминистратора"
Форма администратора в пользовательском режиме
Форма администратора в пользовательском режиме

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

Форма элемента справочника "Сотрудники"
Форма элемента справочника "Сотрудники"

Генерация QR-кода будет происходить не по кнопке, а по событию формы «ПриОткрытии». Создадим событие формы с директивой компиляции «НаКлиенте» и процедуру на сервере.

Определение события "ПриОткрытии" формы элемента "Сотрудники"
Определение события "ПриОткрытии" формы элемента "Сотрудники"

В процедуру «ПриОткрытииНаСервере» запишем следующий код.

Процедура "ПриОткрытииНаСервере" формы элемента справочника "Сотрудники". Код генерации QR-кода через компоненту
Процедура "ПриОткрытииНаСервере" формы элемента справочника "Сотрудники". Код генерации QR-кода через компоненту

Для корректного отображения на форме в процедуру «ПриОткрытии» реализуем авторазмер картинки

Процедура "ПриОткрытииНаСервере" формы элемента справочника "Сотрудники"
Процедура "ПриОткрытииНаСервере" формы элемента справочника "Сотрудники"

После обновления конфигурации форма сотрудника имеет следующий вид

Результат выполнения кода. QR-код отображается на форме элемента справочника "Сотрудники"
Результат выполнения кода. QR-код отображается на форме элемента справочника "Сотрудники"

#Программирование 1с #1c предприятие #r71 #1с разработчик #worldskills russia #генерация qr-кода #начать программировать #программирование с нуля