Обработка обслуживания 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 Дисплея

См. также

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

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

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

1 стартмани

07.11.2023    955    1    vsnazarov    1    

24

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

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

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

29.08.2023    761    GeraltSnow    0    

3

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

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

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

20400 руб.

31.05.2023    3298    1    1    

2

Второй монитор в качестве дисплея покупателя

Розничная торговля Периферийные устройства Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Использование второго монитора в качестве дисплея покупателя. Выполнено в качестве расширения.

1 стартмани

02.02.2023    2665    18    windsurf    3    

4

Космическая Одиссея 2020 года

Мониторинг Периферийные устройства Языки и среды Бесплатно (free)

Организация потокового обмена системы 1С с большим количеством разнородных устройств – нетривиальная задача. О том, как организовать архитектуру такого решения с учетом возможного масштабирования хранимых данных и поддерживаемых интерфейсов, на конференции Infostart Event 2021 Post-Apocalypse рассказал TeamLead и специалист по внедрению компании ИнфоСофт Григорий Шатров.

11.11.2022    3201    G.Shatrov    2    

25

Подсистема печати на сетевые принтеры по протоколу IPP/HTTP без драйверов из любой ОС и серверного контекста

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

Печать на сетевые принтеры по протоколу IPP как напрямую, так и с иcпользованием сервера CUPS. Подсистема позволяет печатать из серверного, клиентского контекста, регламентных и фоновых заданий и не требует установки какого-то дополнительного ПО, библиотек и драйверов принтеров как на сервер 1С Предприятия, так и на клиента. Получение статуса принтера, информации о нем и результатов печати. Никаких внешних компонент не используется, под капотом HTTP и работа с двоичными данными средствами платформы. Сериализатор и десериализатор протокола IPP позволяет относительно легко доработать подсистему для поддержки нереализованных методов и типов данных протокола IPP.

5 стартмани

19.08.2022    2525    10    dumsik    6    

8

Мониторинг ИБП МАП и выключение, включение серверов

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

В качестве источника бесперебойного питания серверов можно использовать сетевой инвертор и сборку литиевых аккумуляторов. Единственное, чтобы это работало без участия человека, нужно выключать сервера, когда АКБ разряжается, и включать их обратно, когда сетевое напряжение появилось и АКБ зарядился. С этим вполне может справляться и программа на 1С. Далее описывается программа мониторинга и схема подключения МАП Тitanator UPS (Микроарт) с АКБ Vektor LFP (LiFePO4). Обмен данными ведется по протоколу HTTP.

1 стартмани

16.08.2022    3780    2    vad7    0    

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