Как добавить Swiss QR-код в счёт на Delphi и Lazarus

Сейчас многие страны проводят «диджитализацию» платежных систем, то есть оцифровывание. Самый распространенный способ автоматизации платежей – использовать QR коды, которые легко считываются смартфонами. Возможность кодировать достаточно большое количество информации, высокая устойчивость к повреждению, не требуют специализированного оборудования для считывания – вот главные преимущества QR кода, которые сделали его популярным во всем мире.

Руководство Швейцарии также решили использовать QR-коды для обеспечения электронных платежей. Это означает, что во всех квитанциях об оплате и счетах будут использоваться эти коды.

В связи с этим, в генераторе отчетов FastReport VCL появилась поддержка Swiss QR code. И хоть Swiss QR это просто разновидность QR кода, его принято использовать в определенной форме Swiss bill. Она достаточно проста и содержит информацию о: получателе платежа, плательщике, счете, ссылке на платеж и сумме.

Давайте добавим в шаблон отчета штрихкод Swiss QR.

Здесь мы добавили обычный QR код. Чтобы превратить его в Swiss QR сделайте клик по нему и в инспекторе объектов выберите TfrxSwissPaymentPreset для свойства ExpressionPreset.PresetClass.

QR-код изменился. Теперь в его центре появился швейцарский крест.
После этого в ExpressionPreset.DataObject станут доступны параметры, используемые для построения Swiss QR-кода.

Рассмотрим эти параметры подробнее:

Additional Information
Выставитель счета может ввести какую-либо дополнительную структурированную/неструктурированную информацию для плательщика.

Alternative Schemes
Предполагается, что в будущем выставители счета могут предлагать альтернативные банковским переводам процедуры. Для этого предусмотрено два поля в Swiss QR.

Creditor
Заполняем данные о выставителе счета. Название организации и адрес.

Creditor Information
Iban
В Швейцарии используется стандарт IBAN (International Bank Account Number) для представления номера банковского счета. Из названия понятно, что это международный стандарт, который зарегистрирован в ISO под номером 13616.
Payment Amount Info

Amount
Тут указывается сумма оплаты.

Currency
Так как система оплаты Швейцарская, то предполагается два типа валюты: евро и швейцарские франки (CHF).

Payment Reference
Ссылка на платеж плательщика, которая нужна получателю платежа.

Type:

Ultimate Creditor
Данные о выставителе счета (предназначено только для дополнительной информации, в случае ее использования в будущем.)

Ultimate Debitor
Здесь необходимо заполнить данные о плательщике: ФИО или наименование организации и адрес.

Далее заполняем значения параметров. Они являются выражениями, поэтому можно либо перетащить поля из дерева данных (в версии FR VCL 6.7 добавлена такая возможность) , либо внести фиксированные данные. Обратите внимание на то что фиксированные строковые параметры должны быть заключены в кавычки (для Pascal Script это одинарные кавычки).

Отключите отображение текста под кодом в свойствах объекта TfrxBarcode2DView.ShowText := False.

Если все данные заполнены правильно, то никаких предупреждающих сообщений не последует, а Swiss QR-код в окне предварительного просмотра изменится.

Теперь и в FastReport VCL можно без труда создать Swiss QR счет, что является ещё одним поводом для апгрейда или обновления на FR VCL 6.7