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

Публикация № 1136082

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

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

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

Продолжаем писать свою конфигурацию, в предыдущей статье я описал, как реализовать команду печати //tf21.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 код, подробней можно посмотреть в статье //tf21.ru/public/604539/.

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

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

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

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

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

Готово!!!

32

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Screamer_legenda 16.10.19 12:48 Сейчас в теме
2. A_Max 17 16.10.19 14:54 Сейчас в теме
УЖАС! Очень плохо сделанный пример. Учит плохому.
* убрать куски закомменченного кода
* вообще не рабочая процедура вне вашего контекста. откуда переменные которые подставляются в строку?
* заменить плюсы на СтрСоединить и СтрШаблон
probkaotjizni; CodeNull; zannv; maxopik2; Man4kin; +5 1 Ответить
3. Rustig 1206 22.10.19 18:28 Сейчас в теме
(0) молодцы! разобрались сами - просветили других!
Оставьте свое сообщение

См. также

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

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) БСП (Библиотека стандартных подсистем)

В новом релизе "БСП" произошли изменения в процедурах общих модулей, связанных с механизмом печати, и в процедурах их вызова в формах документов и в формах списков. Рассмотрим их.

12.10.2019    1478    paulis    4       

Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм 150

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Печать БСП (Библиотека стандартных подсистем)

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

10.10.2019    4444    John_d    11       

От чего можно отказаться при разработке расширений 1С 78

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Расширения

Разработка расширений 1С и оптимизация через механизм БСП: Дополнительные отчеты и обработки.

23.09.2019    5621    independ    23       

Подсистема "Варианты отчетов". Используете ли Вы ее правильно? 215

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом БСП (Библиотека стандартных подсистем)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    16833    YPermitin    49       

Подсистема БСП «Управление доступом», основные объекты и регистры 110

Статья Программист Нет файла v8 v8::УФ v8::Права 1cv8.cf Бесплатно (free) БСП (Библиотека стандартных подсистем) Роли и права

Основные принципы работы подсистемы «Управление доступом» из состава БСП. Виды доступа, ограничение доступа на уровне записей. Описание основных объектов и регистров, используемых подсистемой.

23.05.2019    9322    ids79    8       

Добавление отчетов в типовые конфигурации 1С 206

Статья Программист Нет файла v8::УФ v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

Описание различных способов добавления общих и контекстных отчетов в конфигурации 1С, построенные на базе БСП. Основные моменты и нюансы.

07.03.2019    26036    ids79    33       

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS) 166

Статья Программист Нет файла v8 v8::Права Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Роли и права

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    17261    ids79    9       

Добавление команд печати в конфигурациях на БСП 2.4.3 (в частности, в самописных документах в Бухгалтерии 3.0 после релиза 3.0.52.35) 144

Статья Программист Нет файла v8 v8::БУ БП3.0 Россия Бесплатно (free) Печатные формы документов Практика программирования БСП (Библиотека стандартных подсистем)

В статье https://infostart.ru/public/237013/ пользователя nick max рассматривался список действий для подключения команд печати в Бухгалтерии 3.0, работающей на БСП 2.3.6. В новом релизе Бухгалтерии 3.0.52.35 от 15.09.2017г. стала использоваться БСП 2.4.3, из-за чего произошли изменения в процедурах общих модулей, связанных с механизмом печати, и в процедурах их вызова в формах документов и в формах списков. Рассмотрим их.

18.09.2017    48813    bugtester    43       

Фоновое формирование отчета СКД на УФ средствами БСП 82

Статья Программист Нет файла v8::УФ v8::СКД Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем)

В узких кругах широко известна проблема, когда штатное фоновое формирование отчета СКД на управляемых формах перестает работать при выполнении нештатной компоновки (переопределении события ПриКомпоновкеРезультата). В этом случае клиент ожидает ответа сервера и сеанс 1С "висит", что жутко неудобно при формировании затратных по времени отчетов. Также нет возможности прервать такое выполнение. Когда мириться с этим стало тяжело, стал искать решения, но почему-то подходящего готового рецепта не нашел. Если плохо искал, значит, будет еще один в копилку.

16.05.2017    23351    herfis    7       

Печать QR кодов для 1С:Бухгалтерия 2.0 для платежек Сбербанка 30

Статья Программист Нет файла v8 БП2.0 Россия Банковские операции Бесплатно (free) Практика программирования

Печать QR кодов оффлайн в 1С:Бухгалтерия 2.0 с помощью бесплатной ActiveX компоненты для платежек Сбербанка

30.03.2017    27342    Chaotic    33       

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

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем)

Конфигурации в 1С пишутся для пользователей и по их «правилам» (клиент всегда прав), поэтому в основном все конфигурации разные, но достаточно часто в них используются одни и те же объекты, которые незначительно отличаются друг от друга. Действительно, сложно представить конфигурацию, где не фигурировали бы такие сущности как номенклатура, контрагенты, пользователи, валюта. И некоторые задачи являются типичными: возможность базового разграничения прав, работа с электронной почтой, задачи пользователям и т.д. Но...!

03.03.2017    52944    V.Stavinsky    21       

Используем механизмы обмена данными БСП для произвольного обмена 150

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции Внешние источники данных БСП (Библиотека стандартных подсистем)

Механизм БСП заточен на обмен XML по правилам обмена. Чтобы использовать его для любого другого обмена, коих в мире немало, требуются доработки. В статье описан вариант, как из положения выйти.

23.08.2016    28357    Патриот    22       

Отладка конвертации данных 2.1 в конфигурациях, построенных на БСП 2.1 (БП 3.0, УТ 11 etc.) 49

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Распределенная БД (УРИБ, УРБД) Обмен через XML БСП (Библиотека стандартных подсистем)

Отладка процесса выгрузки/загрузки данных при проведении синхронизации в новых конфигурациях 1С может вызвать (у меня вызвала) некоторые затруднения. О них и пойдёт речь.

29.10.2015    32525    NittenRenegade    16       

Обмен при помощи Библиотеки Стандартных Подсистем (БСП) конфигурации ЗУП 2.5 10

Статья Программист Нет файла v8 ЗУП2.5 Бесплатно (free) Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем)

Как организовать автообмен данными из базы Зарплата и Управление Персоналом 2.5? Очень просто. Кодирование нужно лишь для одной команды - всего несколько строчек кода.

17.07.2015    12295    sml    4       

Авторегистрация внешних отчётов/обработок средствами БСП 60

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Администрирование данных 1С Универсальные функции

Вы сделали клиенту красивую печатную форму, или доп.обработку, или заполнение таб.части; но надо ещё зарегистрировать её. Клиенту это не всегда объяснишь, дистанционно не всегда сделаешь. А дальше её ещё обновлять каждый раз... Предлагаю код, который исключительно штатным образом "сделает всё сам".

11.02.2015    20709    Yashazz    14       

БСП: добавление нового провайдера SMS 52

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) SMS рассылки

Небольшая статья о том, как добавить нового провайдера SMS на примере конфигурации "Управление торговлей 11", используя библиотеку стандартных подсистем (БСП)

26.11.2014    18580    pbazeliuk    5       

Использование подсистемы "Управление доступом" из состава БСП версии 2.2+ 230

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Роли и права

В статье описана последовательность манипуляций с подсистемой "Управление доступом" из библиотеки стандартных подсистем "1С" (БСП), результатом которых является реализация возможности настройки ограничения доступа к данным на уровне записей таблиц базы данных (RLS), применяя в качестве разграничителя доступа (критерия ограничения) любой из справочников конфигурации. Данная статья полезна для разработчиков, которые имеют дело либо с одной из типовых конфигураций "1С" (таких как "Бухгалтерия предприятие 3.0" или "Управление торговлей 11"), либо собираются внедрять (или дорабатывать) указанную выше подсистему в какую-либо другую конфигурацию.

18.11.2014    57978    Bassgood    81