QR-display

03.08.22

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?]
qrdisplay
.rar 26,66Kb
100
100 Скачать бесплатно

Основная идея – в 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-коду 8.3.14 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

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

14400 руб.

08.08.2023    4732    18    3    

37

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

Простой «виртуальный терминал» позволяет принимать платежи за товары или услуги с помощью Системы Быстрых Платежей, не требующий сложных настроек. Установите в кассовой зоне дисплей QR-кода в качестве терминала для оплаты по СБП и принимайте платежи с комиссией эквайринга до 0,7%

14400 руб.

06.06.2023    6643    11    12    

18

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

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

4000 руб.

22.04.2022    32116    97    103    

74

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

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

7080 руб.

08.11.2023    2123    11    6    

9

СБП. Оплата по QR-коду 8.3.14 Конфигурации 1cv8 Платные (руб)

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

16800 руб.

06.09.2024    519    1    0    

3

СБП. Оплата по QR-коду Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Терминал «Система быстрых платежей» Т-Банк (Тинькофф банк) оплата по QR - это виртуальный терминал эквайринга позволяющий в конфигурации Альфа-Авто: Автосалон+Автосервис+Автозапчасти 6.х принимать оплату через через СБП. Подключение выполняется штатными средствами "Подключаемое оборудование"

16800 руб.

13.09.2023    1370    1    1    

8

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

В настоящее время система СБП очень часто стала использоваться в повседневной жизни. Одна из систем интеграции СБП через СБЕР. Данная конфигурация является инструментом интеграции СБП в Альфа Авто. Данная система не просто формирует статический QR, а динамический, а значит, в системе будет привязка и на покупателя, и на документ.

6000 руб.

25.10.2022    6166    31    4    

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

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

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