КАЗНАЧЕЙ

ИНТЕГРАЦИЯ => Аппараты Самообслуживания => Тема начата: icedeveloper от май 22, 2019, 13:23

Название: Показ QR-кода на экране
Отправлено: icedeveloper от май 22, 2019, 13:23
Добрый день.

Как корректно реализовать отображение QR-кода в случае работы без принтера: генерировать QR-код самостоятельно или Казначей умеет сам отдавать образ QR-кода по запросу?
Работаем без использования драйвера ККМ.
Название: Re: Показ QR-кода на экране
Отправлено: Erkki от июн 18, 2019, 21:07
В соответствии с описанием ФФД, QR-код не формируется в виде реквизита ФД в ЭФ (не имеет TLV-структуру), это тег 1196. Проще говоря, непосредственно запросить в ККТ строку, необходимую для формирования QR-кода невозможно.

Однако, все в том же описании ФФД указанно из чего состоит данная строка:

61. QR-код на кассовых чеках (БСО) в печатной форме не должен содержать данные адреса в формате URL и должен
обеспечивать с использованием программного обеспечения подсистемы обеспечения проверки кассового чека и подачи
жалобы в налоговые органы на корректность применения контрольно-кассовой техники, входящей в состав
автоматизированной системы контроля применения контрольно-кассовой техники ФНС России, проверку следующих
реквизитов кассового чека (БСО):
дата и время осуществления расчета;
сумма расчета;
заводской номер фискального накопителя;
порядковый номер фискального документа;
фискальный признак документа;
признак расчета.
62. Данные QR-кода должны представлять собой текстовую строку из латинских букв, цифр и символов-разделителей
«=» и «&». Текст должен быть представлен в кодировке CP866. Структура данных, помещаемых в строку QR-кода, состоит
из шести полей:
- t=<date/time - дата и время осуществления расчета в формате ГГГГММДДТЧЧММ>
- s=<сумма расчета в рублях и копейках, разделенных точкой>
- fn=<заводской номер фискального накопителя>
- i=<порядковый номер фискального документа, нулями не дополняется>
- fp=<фискальный признак документа, нулями не дополняется>
- n=<признак расчета>.
Пример строки QR-кода: t=20150720T1638&s=9999999.00&fn=000110000105&i=12345678&fp=123456&n=2.

Т.о. после формирования чека (фискализации платежа) вам необходимо запросить в ККТ те данные, которые Вам необходимы для формирования строки, для отображения её на экране. Данные запрашиваются в TLV-формате, подробно, как это делается описано в протоколе работы, а также здесь (https://onedrive.live.com/redir?resid=189C614ED00D4C23%21128&authkey=%21ABE4IM6eOvPtlrQ&page=View&wd=target%2854-%D0%A4%D0%97.one%7C27377c95-2928-4aa8-8fd7-4b03b801c6ef%2F%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC%20%D1%81%20TLV-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BE%D0%B9%7C951d06c7-073d-4694-8a1d-0e59e0f67626%2F%29) (нужно иметь логин Microsoft либо Skype для просмотра) После получения необходимых данных, ваше ПО собирает строку для вывода ее на ЖК-экран автомата в виде QR-кода