QR-display

Публикация № 1704346 03.08.22

Бухгалтерский учет - Банковские операции

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

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

Основная идея – в 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", Тело);                              
  
  Возврат Результат;

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

 

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

Наименование Файл Версия Размер
qrdisplay

.rar 26,66Kb
54
.rar 26,66Kb 54 Скачать бесплатно

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

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

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

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

См. также

Мобильный сканер и ТСД для сбора штрихкодов, кодов маркировки и просмотра информации о них

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

Расширение для 1С:УТ 11, КА 2, ERP 2, реализующее взаимодействие 1С с мобильным приложением "Штрихкод Коммандер", доступном в AppGallery (рекомендуется в России) и в Google Play на смартфонах и Терминалах Сбора Данных. Расширение публикует HTTP-сервис, благодаря чему при сканировании штрихкодов (например, кодов маркировки GS1 Data Matrix, EAN) на устройстве в приложении "Штрихкод Коммандер" моментально видны актуальные цены и остатки, а в учетной системе возможно заполнение табличных частей товаров в документах и обработках.

07.06.2021    7479    138    Tamadosky    9    

Списание кодов маркировки, нанесенных на обувь

Розничная торговля Склад и ТМЦ Печатные формы Платформа 1С v8.3 1С:Управление торговлей 10 Бесплатно (free)

Списание марок обуви, введенных в оборот: описание + реализация. УТ 10.3.

15.07.2020    10411    17    RustIG    1    

Формирование списка сотрудников на оформление банковских карт для Сбербанка

Обмен с интернет-банком Обработка документов Банковские операции Зарплата Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 2.5 Россия Бесплатно (free)

Внешняя обработка для 1С:8.1 ЗУП 2.5. Формирует список сотрудников (только работающих), на которых необходимо сделать банковские карты Сбербанка. Формирование списка возможно с отбором по периоду даты приема сотрудников.

10.11.2010    19610    126    pavel_pss    3    

Закрытие авансов

Обработка документов Взаиморасчеты Платформа 1С v8.3 1С:Бухгалтерия 2.0 Россия Бухгалтерский учет Бесплатно (free)

Обработка для закрытия авансов по счетам 62.02 и 60.02 . Сделана для тех случаев, когда объем данных большой и перепроводить ВСЕ документы - процесс очень длительный.

21.07.2010    9330    155    Vitaliy_smetanin    6    

Загрузка данных из СуперМага в бухгалтерии 77 и 8

Внешние источники данных Обработка документов Обработка справочников Розничная торговля Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Бухгалтерия 7.7 Бесплатно (free)

В компании на розничных продажах стоит СуперМаг 2000, а учет, соответственно - в 1Сине. Ну вот, по ТЗ от главбуха накорябал две обработки, подгружающие в бухгалтерии данные по ТоргОперациям из текстовых файлов, выгружаемых из СуперМага 2000. Обратите внимание, что, так как компоновка данных в СуперМаге малость вывихнутая по мозгам, то сначала обрабатывается файл выгрузки Контрагентов, а потом только файл с ТоргОперациями... в общем, кому-нибудь возможно пригодится...

06.05.2010    15768    87    Farpost    5    

Выгрузка на ПК в СберБанк для ЗБУ 8.1

Обработка документов Обмен с интернет-банком Банковские операции Зарплата Платформа 1С v8.3 1С:Зарплата и кадры бюджетного учреждения Бесплатно (free)

Столкнулся с удивительной, для меня, вещью: в "Зарплате и кадры для бюджетного учреждения" нет выгрузки данных о перечислениях зарплаты на пластик в СберБанк. И это при том, что значительная часть бюджетных учреждений открыли зарплатные счета именно в этом банке. Мнение 1С по этому поводу, если коротко: "Функциональность планируется реализовывать в конфигурации ББУ". А что же делать тем, у кого нет ББУ? Вот и сделал свою обработку на базе обработки из ЗУП 8, а точнее немного подправил типовую:

16.02.2010    17001    250    smooth    13    

Переброска взаиморасчетов между договорами покупателей в УТ

Обработка документов Взаиморасчеты Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Бесплатно (free)

Обработка "Переброска и корректировка Заказов по Договорам" Обработка позволяет 1) Перебросить Задолженность с одного Договора на другой 2) Откорректировать задолженность по заказам по выбранному договору по методу ФИФО 3) Закрыть переплату по заказам на незакрытые заказы

24.08.2009    15072    115    y22-k    4    

Загрузка отчета из Frontol 4.7 в УТ, формат текстовый (Задвоение процентов "скидок на чек")

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

При закрытии смены в УТ "Отчет о розничных продажах" формируется не верно (не совпадает с Z), попытки выявить закономерности не к чему не привели. Покапался в коде стандартной обработки (Для РМК Атол), ИМХО банальное (даже не верится) задвоение процентов скидок на чек, после исправления работает как надо (у нас используются только на чек)!

31.07.2009    16435    83    ulen    5    

Сроки резервирования номенклатуры на складах для Управления Торговлей 10.3

Обработка документов Взаиморасчеты Платформа 1С v8.3 1С:Управление торговлей 10 Россия Управленческий учет Бесплатно (free)

Отчёт Сроки резервирования номенклатуры на складах для Управления Торговлей 10.3 Позволяет получить информацию о сроках нахождения номенклатуры в резерве в разрезе интервалов.

22.07.2009    18790    123    Поручик    11    

Обмен между Атол РМК 3.9.4 и УТ 10.3.1.17

ККМ Обработка документов Розничная торговля Платформа 1С v8.3 1С:Управление торговлей 10 Бесплатно (free)

Перенос товара из 1С в ККМ Offline и загрузка продаж обратно. Товар переносится иерархически, с разрезами по характеристиками. Также выгружаются скидки по дисконтным картам.

21.05.2009    26490    345    kstukov    6    

Восстановление последовательности расчетов по контрагентам (до контрагента и договора)

Взаиморасчеты Инструментарий разработчика Платформа 1С v8.3 1С:Управление производственным предприятием Бесплатно (free)

Обработка «Восстановление состояния расчетов с контрагентами» В отличии от типовой можно отбирать контрагента и его договор и восстановить именно по этой аналитике расчетов! Обработка формирует проводки и движения специализированных регистров, связанные с погашением долга и зачетом аванса по расчетам с поставщиками и покупателями. ------------------------------------------------------------------------ 1С:Предприятие 8.1 "Управление производственным предприятием", редакция 1.2 ------------------------------------------------------------------------ Freeware

17.04.2009    36868    1524    manserg    51    

Заполнение документа "Акт сверки взаиморасчётов" Бухии 8.1

Обработка документов Взаиморасчеты Платформа 1С v8.3 1С:Бухгалтерия 1.6 Россия Бухгалтерский учет Бесплатно (free)

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

02.04.2009    13498    206    e.kogan    6    

Проведение безвозмездной реализации для Бух 8.1

Обработка документов Розничная торговля Бухгалтерский учет 1С:Бухгалтерия 1.6 Россия Бухгалтерский учет Бесплатно (free)

Бухгалтерам потребовалась удобная убиралка 62-х счетов из движений реализации...

18.02.2009    16241    161    e.kogan    15    

Выгрузка зарплатного реестра для Сбербанка из 1С ЗУП 2.5 и Бухгалтерии Предприятия 2.0 в формате .txt

Обмен с интернет-банком Обработка документов Банковские операции Зарплата Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Россия Бухгалтерский учет Бесплатно (free)

Выгрузка зарплатного реестра для Сбербанка из 1С ЗУП 2.5, Бухгалтерия Предприятия 2.0 в формате .txt Добавлена загрузка лицевых счетов из файла, присланного Сбербанком.

05.01.2009    38005    717    goalkeeper    8    

Навеяно кризисом

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

Используя эту обработку Вы всегда будете знать состояние кризиса на данный момент :)

11.11.2008    23182    1181    ValeriVP    27    

Квитанция на оплату (для Сбербанка)

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

Обработка позволяет напечатать квитанцию на оплату, опирается на справочник контрагентов. Маленько недоделанная, так что хотелось бы услышать советы более опытных людей, чем я!

06.08.2008    8834    308    SolovieFF    1    

Перехватчик нажатий клавиш (ActiveX)

Разработка внешних компонент Сканер штрих-кода Розничная торговля Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Россия Бесплатно (free)

Примитивная компонента ActiveX, перехватывающая нажатия клавиш и принудительно возвращающая фокус компоненте при его потере. Искал в свое время для внедрения в интерфейс кассира. Может, кому еще пригодится.

14.12.2007    25545    951    MRAK    18    

Работа с фискальным регистратором

Кассовые операции ККМ Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Бесплатно (free)

Совсем простенькая обработка, позволяющая снимать X-отчет, делать внесение и изъятие денег из кассы ККМ (в типовых конфигурациях) в любом интерфейсе, а не только в интерфейсе кассира, как это задумано в типовой конфигурации.

05.10.2006    26265    1021    z-alexey    3    

Сверка взаиморасчетов по управленческому и бухгалтерскому учету

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

Данная обработка предназначена для проведения сверки остатков и оборотов по бухгалтерскому и управленческому учету взаиморасчетов с контрагентами в типовой конфигурации "1С:Предприятие 8.0. Управление производственным предприятием"

26.07.2006    16308    703    Anselm    1