Обработка обслуживания QR Дисплея

27.04.22

Интеграция - Периферийные устройства

Обработка обслуживания QR Дисплея от "Бизнес код." для 1С 8.2. QR-дисплей - это устройство, позволяющее выводить динамический QR-код для оплаты в вашем магазине, ресторане и любом другом заведении, занимающемся торговлей или услугами. При этом в QR-код сразу выводятся ваши реквизиты для оплаты вместе с суммой оплаты. Покупателю нужно только навести камеру своего мобильного телефона, и ... платеж проведен. Зачисление на расчетный счет происходит моментально!

Скачать исходный код

Наименование Файл Версия Размер
Обработка обслуживая QR дисплея:
.epf 25,03Kb
4
.epf 25,03Kb 4 Скачать

Выводит на QR дисплей сформированный QR код. Судя по API производителей должна работать и с другими производителями QR дисплеев. Подключается как обработка обслуживания торгового оборудования.

Кодировку устанавливаем UTF8. В комплекте (макеты) MSComm32.ocx и файл лицензии.

MSComm32.ocx и Файл лицензий необходимо сохранить из макета. 

MSComm32.ocx необходимо зарегистрировать в системе "regsvr32  MSComm32.ocx"

Файл лицензий внести в реестр windows (без этого работать не будет)

Тестировалось на платформе 8.3.20.1710. Подойдет к конфигурациям, где есть Подключаемое оборудование (неуправляемые формы).  

Подключается как обработка обслуживания торгового оборудования.  Меню "Сервис" - "Служебные" - "Подключение и настройка торгового оборудования"

В форме где будем вызывать вывод на QR дисплей в процедуре "ПриОткрытии" вставить следующий код:

Результат = ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);

Разместить процедуры


// Процедура осуществляет вывод информации на дисплей покупателя.
//
// Параметры:
//  Нет.
//
&НаКлиенте
Процедура ВывестиИнформациюНаДисплейПокупателя(Данные) Экспорт
	
	ВидТО    = Перечисления.ВидыТорговогоОборудования.ДисплейПокупателя;
	Дисплеи  = ПолучитьСерверТО().ПолучитьСписокУстройств(ВидТО);
	Дисплей  = Неопределено;
	
	Для Каждого Дисплей Из Дисплеи Цикл
		Если ПустаяСтрока(Данные) Тогда
			ПолучитьСерверТО().ОчиститьДисплейПокупателя(Дисплей);
		Иначе
			ПолучитьСерверТО().ВывестиСтрокуНаДисплейПокупателя(Дисплей, Данные);
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры // ВывестиИнформациюНаДисплейПокупателя()


// Функция возвращает признак того, что клиент поддерживает работу с видом ТО,
// переданным в качестве параметра.
//
// Параметры:
//  Вид      - <ПеречислениеСсылка.ВидыТорговогоОборудования>
//           - Вид торгового оборудования, информация о поддержке
//             которого запрашивается.
//
// Возвращаемое значение:
//  <Булево> - Признак поддержки указанного класса торгового оборудования.
//
Функция ПоддерживаетсяВидТО(Вид) Экспорт
	
	Результат = Ложь;
	Если Вид = Перечисления.ВидыТорговогоОборудования.ДисплейПокупателя Тогда
		Результат = Истина;			
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции // ПоддерживаетсяВидТО()   

Вызывается с помощью 

  ВывестиИнформациюНаДисплейПокупателя(
    "[T1]" + "Верхняя строка"+ Символы.ВК + Символы.ПС + 
    "[QL]" + "QR КОД" + Символы.ВК + Символы.ПС + 
    "[T2]" + "Нижняя строка" + Символы.ВК + Символы.ПС);

Для более корректного отображения русских букв Верхнюю строку и Нижнюю строку перекодировать в UTF8 с помощью функций


Функция Dec_to_Hex(Знач пDec, Знач Разрядность = 2)   
	
	пHex = "0123456789ABCDEF";
	Результат = "";
	
	Для СимвЧисло = 1 По Разрядность Цикл
		ТекЧисло = пDec % 16;
		пDec = Цел(пDec / 16);
		Результат = Сред(пHex, ТекЧисло + 1, 1) + Результат;
	КонецЦикла;
	
	Возврат Результат;
	
КонецФункции


Функция ПереводТекстаUnicodeToUTF8(СтрокаДляКодировки)
	
	СимволыДляИсключения = "-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~№";
	Результат = "";
	
	Для а = 1 По СтрДлина(СтрокаДляКодировки) Цикл
		ТекСимв = Сред(СтрокаДляКодировки, а, 1);
		
		Если ТекСимв = " " Тогда
			Результат = Результат + "20";
			Продолжить;
		КонецЕсли;
		Если Найти(СимволыДляИсключения, ТекСимв) > 0 Тогда
			Результат = Результат + ТекСимв;
			Продолжить;
		КонецЕсли;
		
		ЮниКод = КодСимвола(ТекСимв);
		Если ЮниКод < 128 Тогда
			Результат = Результат + "%" + Dec_to_Hex(ЮниКод);
		Иначе
			ИндексЮникод = 32;
			Байт = 8;
			ХексКод = "";
			Пока ИндексЮникод > 4 Цикл
				// установка следующих за первым байтов
				ТекБайт = ЮниКод % 64;
				ХексКод = "%" + Dec_to_Hex(128 + ТекБайт) + ХексКод;
				
				ЮниКод        = Цел(ЮниКод / 64);
				// проверка на закрывающий байт
				Если ЮниКод < ИндексЮникод Тогда
					ХексКод = "%" + Dec_to_Hex((Байт-2) * ИндексЮникод + ЮниКод) + ХексКод;
					Прервать;
				КонецЕсли;
				// переход к следующему уровню закрытия
				ИндексЮникод = ИндексЮникод / 2;
				Байт = Байт * 2;
			КонецЦикла;
			Результат = Результат + ХексКод;
		КонецЕсли;
	КонецЦикла;
	
	Буфер = ПолучитьБуферДвоичныхДанныхИзHexСтроки(Результат);
	Поток = Новый ПотокВПамяти(Буфер);
	ЧтениеТекста = Новый ЧтениеТекста(Поток, КодировкаТекста.ANSI, "", "");
	Данные = ЧтениеТекста.Прочитать();
	
	Возврат Данные;
КонецФункции  

 

Обработка обслуживания QR Дисплея

См. также

Распознавание номеров автомашин с ip - камер, видео, фото

Распознавание документов и образов Периферийные устройства Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    4018    3    2    

5

Тернистый путь к физической клавиатуре для программиста 1С

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

15.04.2024    6055    madonov    52    

33

[История разработки] Управляем промышленным принтером EBS-1500 из 1С

Периферийные устройства Платформа 1С v8.3 Бесплатно (free)

«У нас было два контроллера Huidu, семьдесят две китайские монохромные панели на светоизлучающих диодах, они же LED, четыре мегабайта flash памяти, 1С и целое море поддерживаемых форматов вывода информации - текстов, картинок, анимаций, а так же литр промывочной жидкости, литр разбавителя, ящик черных чернил, и 12 патч-кордов и различных удлинителей. Не то, чтобы всё это было категорически необходимо в маркировке, но если уж начал собирать маркиратор на 1С, то к делу надо подходить серьёзно.» - Страх и ненависть в Маркировке, 2019 г.

01.04.2024    1591    Interrupted    14    

34

Получение изображения с веб-камеры с возможностью его кадрирования по произвольной области

Инструментарий разработчика Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Внешняя обработка получения изображения с веб-камеры с возможностью его кадрирования по произвольно выделенной области. Использует собственную внешнюю компоненту на основе библиотеки AForge. Содержит примеры интерактивного взаимодействия с полем HTML.

20.03.2024    447    2    AndSem    2    

4

Прямая печать на принтерах TSC из 1С

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

19.02.2024    727    6    realslavyan    2    

5

HotKeys на Python для 1С

Периферийные устройства Конфигурации 1cv8 Бесплатно (free)

Недавно прочитал статью на Инфостарте о KeyPad и вначале захотел себе такой, но через какое-то время я понял, что дополнительная даже маленькая клавиатура занимает место, и нужно все время держать ее под рукой. Это все создает дополнительные неудобства.

20.12.2023    5624    John_d    27    

76

Очистка очереди печати конкретного принтера

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Очистка очереди печати выбранного принтера, перезапуск службы печати, вывод списка системных принтеров, открытие свойств принтера из 1С.

1 стартмани

07.11.2023    1340    2    vsnazarov    1    

26

Печать этикеток на DYMO LabelManager 280 через DYMO Connect Web Service

Периферийные устройства WEB-интеграция Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

На сайте производителя принтера DYMO LabelManager 280 вместе с драйвером поставляется пакет DYMO Connect, который предлагает функционал вёрстки этикеток в фирменном формате и отправки их напрямую на принтер. Так же в этом пакете есть веб-сервис для взаимодействия с принтером через HTTP-запросы, о котором и пойдет речь в этой статье.

29.08.2023    1582    GeraltSnow    0    

3
Оставьте свое сообщение