Реализация печати QR кодов "Библиотека стандартных подсистем", редакция 3.1 (3.1.1.151)

16.10.19

Разработка - БСП (Библиотека стандартных подсистем)

Рассмотрим, как реализовать печать QR кодов с помощью механизмов БСП.

Предыстория:

Продолжаем писать свою конфигурацию, в предыдущей статье я описал, как реализовать команду печати //infostart.ru/public/1134141/, теперь я опишу, как на макете печатной формы вывести QR код.

Задача: Есть документ доверенность, нужно вывести на печатную форму документа QR код.

Решение:

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

QRСтрока = ВернутьСтрокуДляКодирования(Результат);
Функция ВернутьСтрокуДляКодирования(Результат)
	SFormat = "ST";
	CodeVersion = "0001";
	Символ_ = "|";
	
	CodePage = 2; //UTF
	
	Name = "Name=" + Name;
	PersonalAcc ="PersonalAcc=" + PersonalAcc;
	BankName = "BankName=" + BankName;
	BIC = "BIC=" + BIC;
	CorrespAcc = "CorrespAcc=" + CorrespAcc;
	//Sum = "Sum=" + СуммаВКопейках; //в копейках, т.е не 100,52, а 10052
	PayeeINN = "PayeeINN=" + PayeeINN;
	///////////////////////////////////////////////////////////////////////////////
	LastName = "LastName=" + Результат.Партнер;
	Purpose = "Purpose=" + "Г."+Результат.Магазин.Город+", "+Результат.Магазин.Адрес+"";
	Sum = "Sum=" +Формат(Результат.Сумма * 100,"ЧГ=0");
	//FirstName = "FirstName=" + ИмяПлательщика;
	//MiddleName = "MiddleName=" + ОтчествоПлательщика;
	//payerAddress ="payerAddress=" + АдресПлательщика;
	//PersAcc = "PersAcc="+ НомерДоговораСПлательщиком;
	//PaymPeriod = "PaymPeriod="+ Формат(ТекущаяДата(), "ДФ=MM.yyyy"); // расчетный период вида ММГГ MM.yy;
	
	Рез = SFormat + CodeVersion + CodePage + Символ_ +
		  Name + Символ_ +
		  PersonalAcc + Символ_ +
		  BankName + Символ_ +
		  BIC + Символ_ +
		  CorrespAcc + Символ_ +
		  //Sum + Символ_ +
		  PayeeINN + Символ_ +
		  LastName +  Символ_ +
		  Purpose +  Символ_ +
		  Sum;
		  //FirstName +  Символ_ +
		  //MiddleName +  Символ_ +
		  //payerAddress +  Символ_ +
		  //PersAcc +  Символ_ +
		  //PaymPeriod; 
			           
	
	//Возврат UTF8(Рез);
	Возврат Рез;

КонецФункции

Функция "ВернутьСтрокуДляКодирования" собирает строку, из чего состоит сам QR код, подробней можно посмотреть в статье //infostart.ru/public/604539/.

Теперь у нас есть строка содержимое QR кода, далее задействуем механизм БСП, чтобы получить "Рисунок с двоичными данными"

РисунокДвоичный = УправлениеПечатью.ДанныеQRКода(QRСтрока, 1, 120);

В функцию "ДанныеQRКода" мы передаем: Нашу QR строку, Уровень коррекции, размер.

Создадим картинку из двоичных данных и присвоим её нашему рисунку

КартинкаQRКода = Новый Картинка(РисунокДвоичный);
ОбластьМакета.Рисунки.РисунокQR.Картинка = КартинкаQRКода;

Готово!!!

Вступайте в нашу телеграмм-группу Инфостарт

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

3254 руб.

21.11.2024    11933    46    24    

52

БСП (Библиотека стандартных подсистем) Универсальные функции Программист 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

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

06.02.2026    2688    manul1c    5    

18

Рефакторинг и качество кода БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

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

23.09.2025    9911    AlexeyPROSTO_1C    1    

18

БСП (Библиотека стандартных подсистем) Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Уже заезженная тема с выводом в Word макетов при помощи БСП, но некоторые коллеги все равно спрашивают. Поэтому размещаю тут материал, как это сделать за три простых шага. Решение, которым я успешно пользуюсь в случаях, когда не нужна универсальность подключаемых внешних печатных форм.

16.09.2025    5287    _seerco2002    0    

34

Нейросети БСП (Библиотека стандартных подсистем) Инструментарий разработчика Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Telegram-бот для разработчиков 1С, работающих с БСП. Если не знаете нужный под задачу метод или не помните название, то опишите боту задачу и получите список подходящих экспортных методов из общих модулей БСП.

02.09.2025    6693    krasnov322    22    

43

Анализ учета БСП (Библиотека стандартных подсистем) 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Расширение для конфигураций на базе БСП 3.х. Позволяет создавать новые отчеты путем соединения или объединения других отчетов.

22.05.2025    5299    224    seperblunt    9    

30
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Screamer_legenda 16.10.19 12:48 Сейчас в теме
2. A_Max 20 16.10.19 14:54 Сейчас в теме
УЖАС! Очень плохо сделанный пример. Учит плохому.
* убрать куски закомменченного кода
* вообще не рабочая процедура вне вашего контекста. откуда переменные которые подставляются в строку?
* заменить плюсы на СтрСоединить и СтрШаблон
allexx; yatec; Reserv1st; Xershi; probkaotjizni; CodeNull; zannv; maxopik2; Man4kin; +9 1 Ответить
3. RustIG 1943 22.10.19 18:28 Сейчас в теме
(0) молодцы! разобрались сами - просветили других!
4. Neuroproton 34 25.03.20 10:42 Сейчас в теме
Кириллицу встроенная компонента понять не может, да? Попробовал закодировать текст на русском, получаются только знаки вопроса (??? ????? ???)
Для отправки сообщения требуется регистрация/авторизация