QR-display

03.08.22

Разработка - Работа с интерфейсом

Приложение для формирования и отображения QR-кода на любом доступном экране.

Скачать файлы

Наименование Файл Версия Размер
qrdisplay
.rar 26,66Kb
96
.rar 26,66Kb 96 Скачать бесплатно

Основная идея – в 1С в обычных формах нет вьюхи для отдельного вывода изображения с qr-кодом, например, на второй монитор.

С ростом популярности оплаты через Систему Быстрых Платежей (СБП) возникла необходимость в интеграции с API банка для конфигурации УТ 10.3, в ходе которой вылез вопрос способов отображения изображения с QR-кодом для клиента – все примеры сводятся к получению QR-кода любым доступным способом и печати его на бумажном носителе, или выводе его на специальном дисплее для таких кодов, цена на который начинается от 3 т.р. Немного помониторив рынок б/у торгового оборудования, попались объявления на POS-мониторы стоимостью от 500р., которые как раз и можно приспособить для вывода QR-кода для покупателя: просто втыкаем как второй дисплей на точке продаж и выводим на него изображения с QR-кодом.

Для вывода было нарисовано win-приложение, данные которому можно передавать через обычный файл *.json в виде задания.

Приложение умеет отображать QR-код и несколько вариантов статусов. Весь процессинг выполняется на стороне 1С и приложение служит только для отображения статуса операции или вывода кода для оплаты.

Как использовать:

После запуска приложения в директории запуска создаётся дополнительный каталог "swap", в который можно складывать задание в формате *.json. Допустимое наименование для файла с заданием - "task.json".

Настройка фонового изображения:

При первом запуске в директории приложения создаётся файл настроек "config.ini", в котором можно указать стиль фона и его цвет (по умолчанию применяется клетчатая расцветка, как в анонсе). Пример:

[main]
bgstyle=solid
bgcolor=#ffddaa ;Или сокращение #fda

Допустимые параметры для task.json:

"header" -  Произвольная строка, которая выводится над QR-кодом. В неё можно передать, например, номер и сумму чека. Можно вывести не более 2-х строк.

"operation" -  Выполняемая команда. Допускаемые значения:

"qrstring" – вывести QR-код,  который будет сформирован из строки, содержащейся в параметре "qrdata"

"notice" – вывести статус операции, указанный  в параметры "status"

"clear" – очистить форму на дисплее

"qrdata" -  Строка с данными для QR-кода

"status" -  Статус выполнения операции. Допускаемые значения:

"ok" – Всё хорошо

"fail" – Ошибка при выполнении

"warning" – Предупреждение

*Все операции допускают использование "header".

**Тип значение любого параметры - Строка

Пример: в 1С формируется обращение к API банка, на которое возвращается ссылка для оплаты через СБП -> Затем формируется задания для QR-дисплея в виде json:

{
  "qrdata": "https://qr.nspk.ru/AS100001ORTF4GAF80KPJ53K186D9A3G?type=01&bank=100000000007&crc=0C8A",
  "operation": "qrstring"
}

На  экране отобразится код для оплаты:

 

 

После того как операция будет обработана, на экран можно вывести статус её выполнения с помощью json:

{
  "operation": "notice",
  "status": "ok" ИЛИ "fail"
}

 

И ли

 

Ещё один сценарий использования:

В офис организации приходит юр. лицо, которое хочет рассчитаться по безналу через мобильное приложение. Можно сформировать для него QR-код, который автоматически заполнит платёжное поручение.

 

 

JSON-задание для такого QR-кода можно получить с помощью подобного кода:

//  Структуры для передачи на дисплей   
//////////////////////////////////////////////////////////////////////////////////////////
//// Данный для "qrdata"                                                                //
//// Обязательные:                                                                      //
//////////////////////////////////////////////////////////////////////////////////////////
//Name          - Наименование получателя платежа               - Макс. 160 символов    //
//PersonalAcc   - Номер счета получателя платежа                - Макс. 20 символов     //
//BankName      - Наименование банка получателя платежа         - Макс. 45 символов     //
//BIC           - БИК                                           - Макс. 9 символов      //
//CorrespAcc    - Номер кор./сч. банка получателя платежа       - Макс. 20 символов     //
//////////////////////////////////////////////////////////////////////////////////////////
//// Дополнительные:                                                                    //
//////////////////////////////////////////////////////////////////////////////////////////
//Sum           - Сумма платежа, в копейках                     - Макс. 18 символов     //
//Purpose       - Наименование платежа (назначение)             - Макс. 210 символов    //
//PayeeINN      - ИНН получателя платежа                        - Макс. 12 символов     //
//KPP           - КПП получателя платежа                        - Макс. 9 символов      //
//////////////////////////////////////////////////////////////////////////////////////////
Функция ПолучитьСтруктуруКлиентБанк(ДокументСсылка)

  Результат = Новый Структура;               

// Тип операции

  Результат.Вставить("operation", "qrstring"); 
                              
  ДанныеДляПлатежа = ПолучитьПараметрыПечатиСчетаЗаказа("счет");  
  ДанныеШапки = ПолучитьДанныеШапкиДокумента(); 
  НомерСчета = ОбщегоНазначения.ПолучитьНомерНаПечать(ДокументСсылка);
  ВалютаНаименование = ДокументСсылка.ВалютаДокумента.Наименование;                

//  Заголовок

  Заголовок = "Счёт №" + НомерСчета + " от " + Формат(ДокументСсылка.Дата, "ДФ='дд ММММ гггг'") + " г."
                  + Символы.ПС + "Сумма: " + ДанныеДляПлатежа.Всего + ВалютаНаименование;

  Результат.Вставить("header", Заголовок);

//  Данные для QR-кода

  СтрокаНазначениеПлатежа = "Оплата по счету №" + НомерСчета + " от " + Формат(ДокументСсылка.Дата, "ДФ='дд ММММ гггг'") + " г. "
                  + ДанныеДляПлатежа.НДС
                  + ?(ДанныеДляПлатежа.ВсегоНДС > 0,
                  " " + Формат(ДанныеДляПлатежа.ВсегоНДС, "ЧДЦ=2") + ВалютаНаименование, 
                  "");                                                                                             

  Тело = "ST00012"
         + "|Name=" + ДокументСсылка.Организация.Наименование
         + "|PersonalAcc=" + ДокументСсылка.Организация.ОсновнойБанковскийСчет.НомерСчета
         + "|BankName=" + ДокументСсылка.Организация.ОсновнойБанковскийСчет.Банк.Наименование
         + "|BIC=" + ДокументСсылка.Организация.ОсновнойБанковскийСчет.Банк.Код
         + "|CorrespAcc=" + ДокументСсылка.Организация.ОсновнойБанковскийСчет.Банк.КоррСчет
         + "|Sum=" + Формат(ДанныеДляПлатежа.ВсегоКОплате * 100, "ЧДЦ=0; ЧН=0; ЧГ=0")
         + "|Purpose=" + СтрокаНазначениеПлатежа
         + "|PayeeINN=" + ДокументСсылка.Организация.ИНН
         + ?(ПустаяСтрока(ДокументСсылка.Организация.КПП) = Истина, "","|KPP=" + ДокументСсылка.Организация.КПП);                             
  
  Результат.Вставить("qrdata", Тело);                              
  
  Возврат Результат;

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

 

QR-display QR-дисплей QR-код СБП системы быстрых платежей оплата эквайринг qr-pay куар 2D ST00012 РМК клиент-банк

См. также

Терминал системы быстрых платежей: оплата по QR для 1С:УТ11, КА 2.х и ERP 2.х,Розница отраслевые

СБП. Оплата по QR-коду Платформа 1С v8.3 1С:Управление торговлей 11 Платные (руб)

Система быстрых платежей - мгновенный способ оплаты чека по QR-коду. Комиссия за эквайринг СБП в 3-4 раза ниже чем у традиционного эквайринга. «Терминал системы быстрых платежей: оплата по QR » - это драйвер терминала эквайринговых систем и расширение позволяющее подключатся к системе СБП в 1С:УТ11, КА 2.х и ERP 2.х,Розница отраслевые и принимать оплаты.

6000 руб.

22.04.2022    29597    97    102    

68

Терминал системы быстрых платежей платформа QRСервис: оплата по QR для 1С:УТ11, КА 2.х и ERP 2.х,Розница отраслевые

СБП. Оплата по QR-коду 8.3.14 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Простой «виртуальный терминал» позволяет принимать платежи за товары или услуги с помощью Системы Быстрых Платежей, не требующий сложных настроек. Оплата по СБП - это способ не только ускорить обслуживание клиентов, но и экономить на эквайринге. Банки партнеры: АО Газпромбанк ,АО АЛЬФА-БАНК, АО Россельхозбанк,ПАО Промсвязьбанк,ПАО Банк ФК Открытие,АО Райффайзенбанк,ПАО ВТБ,ПАО Московский Кредитный Банк,ПАО Сбербанк, ПАО Совкомбанк, АО Тинькофф Банк и т.д.

14400 руб.

08.08.2023    3150    4    3    

27

Оплата в РМК через СБП Сбербанк для 1С:УТ, КА, ERP

Кассовые операции Рабочее место СБП. Оплата по QR-коду Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Расширение для программ 1С:УТ, 1С:КА, 1С:ERP Управление предприятием, которое позволяет принимать оплату через СПБ для ПАО Сбербанк. Подключается прозрачно, работает как типовой механизм.

7080 руб.

08.11.2023    835    5    1    

5

Терминал системы быстрых платежей Тинькофф банк: оплата по QR для 1С:УТ11, КА 2.х и ERP 2.х,Розница отраслевые

СБП. Оплата по QR-коду 8.3.14 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Система быстрых платежей - мгновенный способ оплаты чека по QR-коду комиссия от 0,4 % до 0,7%. Терминал системы быстрых платежей Тинькофф банк: оплата по QR - это драйвер терминала эквайринговых систем и расширение позволяющее подключатся в 1С:Управление торговлей, редакция 11.4.х и 1С:Управление торговлей, редакция 11.5.х к системе СБП.

14400 руб.

15.11.2022    5756    6    9    

7

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

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

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61793    43    59    

80

Заполнение номера карты RRN по СБП

СБП. Оплата по QR-коду 8.3.14 1С:Управление торговлей 11 Россия Платные (руб)

Расширение, позволяющее принимать платежи по QR-коду на терминале эквайринга из конфигураций 1С:Предприятия

2800 руб.

17.03.2023    4505    20    5    

24
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Torin 741 03.08.22 14:39 Сейчас в теме
+ однозначно!
ИМХО - если бы фон однотонный , да еще и задать цвет можно было.. было бы супер!
2. erik74 12 03.08.22 15:04 Сейчас в теме
(0) + Супер!
а вот фон ...:( Так было бы более строже
Прикрепленные файлы:
3. user786146 27 03.08.22 16:50 Сейчас в теме
(2) Фон динамически меняется при ресайзе и иногда получаются красивые цвета. Но возможность установить сплошной цвет добавил и обновил описание (см. "Настройка фонового изображения")
Ali_q; erik74; +2 Ответить
4. erik74 12 04.08.22 06:58 Сейчас в теме
(3) За это вам наша искренняя сердечная благодарность.
5. CheBurator 3119 05.08.22 20:28 Сейчас в теме
"данные которому можно передавать через обычный файл *.json в виде задания."
- главное. чтобы QR-код. который сканирует клиент - был тем что нужно, а не остался от предыдущего...
6. Torin 741 07.08.22 10:06 Сейчас в теме
(5) ИМХО - после получения ответа от СБП что операция завершена передавать в *.json
{
"operation": "clear"
}
7. CheBurator 3119 07.08.22 11:16 Сейчас в теме
8. user786146 27 08.08.22 10:29 Сейчас в теме
(5) Вообще для этих целей я предполагал использование параметра "header" (в него можно передавать, например, номер чека), от выводится только после отрисовки нового QR-кода.

Файл в раздаче сегодня обновился:
- Небольшая оптимизация
- Добавлена возможность автоматического запуска на втором дисплее
- Добавлена возможность нанесения на QR-код отпечатка времени создания

*Все опции включаются через файл "config.ini". Файл с новыми параметрами создаётся при первом запуске приложения.
9. akR00b 22 18.11.22 11:22 Сейчас в теме
Оставьте свое сообщение