logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • О нас
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • Как сделать квитанцию с QR-кодом по спецификации СБЕРа на Delphi и Lazarus
  • Как создать штрих-коды CODE 39 и CODE 39 Extended в VCL

    23 октября 2020 г.

    CODE 39 - это штрих-код, разработанный Intermec Corporation в 1975 году, который может содержать в

    Подробнее
  • Создаём штрих-код ITF в Delphi / Lazarus / С++ Builder

    11 ноября 2020 г.

    Немного теории о штрих-кодах Сложно представить нашу жизнь без штрих-кодов особенно сейчас, когда мы их встречаем

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

    2 июня 2020 г.

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

    Подробнее
  • Как создать QR-код в FastReport VCL и с помощью кода Delphi / Lazarus

    24 августа 2022 г.

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

    Подробнее
  • Как создать интерактивную форму в PDF на Delphi и Lazarus

    14 декабря 2020 г.

    Возможно кто-то не знает, но стандарт PDF позволяет создавать заполняемые формы. То есть готовый документ

    Подробнее

Как сделать квитанцию с QR-кодом по спецификации СБЕРа на Delphi и Lazarus

14 декабря 2020 г.

Штриховой код, как технология автоматической идентификации и сбора данных, широко используется при осуществлении платежей физическими лицами. Использование символов штрихового кода на платежном документе позволяет осуществить автоматизированный ввод реквизитов платежа и этим снизить трудоемкость проведения операции приема платежа, уменьшить количество ошибок, допускаемых клиентами и сотрудниками организаций, принимающих платежи, и сократить время оформления платежа.

Теперь FastReport VCL позволяет Вам легко генерировать квитанции с QR code, поддерживающим единые правила использования штрихового кода как поставщиками услуг при выставлении счетов , так и принимающими платежи организациями.

Вы можете просто ввести свои реквизиты в соответствующие поля или подключить базу данных к своему шаблону отчета и сформировать квитанцию с QR-Code по спецификации СБЕРа.

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

FastReport VCL

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

QR-код изменился. У него появилась графическая маркер нижнем правом углу.

Если Вам необходимо ее убрать используйте свойство BarProperties.GraphicMarker.ShowGraphicMarker.

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

FastReport VCL

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

SberData - Сервисные данные
IdFormat - Идентификатор формата
Version - Версия
Encoding - Признак набора кодированных знаков
Type:

  1. ec_WIN1251;
  2. ec_UTF8;
  3. ec_КОI8_R.

Separator - Разделитель.
FieldTypes - Тип полей у параметров fdExpression - использование выражений FR во всех полях, и fdStatic - статические данные во всех полях

Required Banking Details - Обязательные реквизиты
Все поля из данного раздела обязательны для заполнения.

Payee (Получатель платежа)
Name - Наименование получателя платежа Макс. 160 знаков
PersonalAcc - Номер счета получателя платежа Макс. 20 знаков
BankName - Наименование банка получателя платежа Макс. 45 знаков
BIC - БИК Макс. 9 знаков
CorrespAcc - Номер кор./сч. банка получателя платежа Макс. 20 знаков
AdditionalBankingDetails - Дополнительные реквизиты
Sum - Сумма платежа, в копейках Макс. 18 знаков
Purpose - Наименование платежа (назначение)Макс. 210 знаков
PayeeINN - ИНН получателя платежа Макс. 12 знаков
PayerINN - ИНН плательщика Макс. 12 знаков
DrawerStatus - Статус составителя платежного документа Макс. 2 знака
KPP - КПП получателя платежа Макс. 9 знаков
CBC - КБК Макс. 20 знаков
OKTMO - Общероссийский классификатор территорий муниципальных образований (ОКТМО) Макс. 11 знаков
PaytReason - Основание налогового платежа Макс. 2 знака
ТaxPeriod - Налоговый период Макс. 10 знаков
DocNo - Номер документа Макс. 15 знаков
DocDate - Дата документа Макс. 10 знаков
TaxPaytKind - Тип платежа Макс. 2 знака

OtherAdditionalBankingDetails - Прочие дополнительные реквизиты
LastName - Фамилия плательщика
FirstName - Имя плательщика
MiddleName - Отчество плательщика
PayerAddress - Адрес плательщика
PersonalAccount - Лицевой счет бюджетного получателя
DocIdx - Индекс платежного документа
PensAcc - No лицевого счета в системе персонифицированного учета в ПФР -СНИЛС
Contract - Номер договора
PersAcc - Номер лицевого счета плательщика в организации (в системе учета ПУ)
Flat - Номер квартиры
Phone - Номер телефона
PayerIdType - Вид ДУЛ плательщика
PayerIdNum - Номер ДУЛ плательщика
ChildFio - Ф.И.О. ребенка/учащегося
BirthDate - Дата рождения
PaymTerm - Срок платежа/дата выставления счета
PaymPeriod - Период оплаты
Category - Вид платежа
ServiceName - Код услуги/название прибора учета
CounterId - Номер прибора учета
CounterVal - Показание прибора учета
QuittId - Номер извещения, начисления, счета
QuittDate - Дата извещения/начисления/счета/постановления (для ГИБДД)
InstNum - Номер учреждения (образовательного, медицинского)
ClassNum - Номер группы детсада/класса школы
SpecFio - ФИО преподавателя, специалиста, оказывающего услугу
AddAmount - Сумма страховки/дополнительной услуги/Сумма пени (в копейках)
RuleId - Номер постановления(для ГИБДД)
ExecId - Номер исполнительного производства
RegType - Код вида платежа(например, для платежей в адрес Росреестра)
UIN - Уникальный идентификатор начисления
TechCode - Технический код, рекомендуемый для заполнения поставщиком услуг. Может использоваться принимающей организацией для вызова соответствующей обрабатывающей ИТ-системы. Перечень значений кода представлен в Приложении В.

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

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

FastReport VCL

Создаём СБЕР QR-код из кода Delphi/Lazarus 

QR-Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses frxBarcode, frxQRCodeSberPreset
procedure TForm1.Button1Click(Sender: TObject);
var bcSBER: TfrxBarcode2DView;
begin
bcSBER := TfrxBarcode2DView(frxReport1.FindObject('Barcode2D1'));
{Устанавливаем тип штрихкода}
bcSBER.BarType := bcCodeQR;
{Устанавливаем присет для СБЕР QR-кода}
bcSBER.ExpressionPreset.PresetClass := 'TfrxSberPaymentPreset';
{Устанавливаем обязательные реквизиты}
TfrxSberPaymentPreset(bcSBER.ExpressionPreset.DataObject).RequiredBankingDetails.Payee.BankName := '<Qrsber.Purpose>';
TfrxSberPaymentPreset(bcSBER.ExpressionPreset.DataObject).RequiredBankingDetails.Payee.BIC := '<Qrsber.BIC>';
TfrxSberPaymentPreset(bcSBER.ExpressionPreset.DataObject).RequiredBankingDetails.Payee.CorrespAcc := '<Qrsber.CorrespAcc>';
TfrxSberPaymentPreset(bcSBER.ExpressionPreset.DataObject).RequiredBankingDetails.Payee.Name := '<Qrsber.Name>';
TfrxSberPaymentPreset(bcSBER.ExpressionPreset.DataObject).RequiredBankingDetails.Payee.PersonalAcc := '<Qrsber.PersonalAcc>';
{Устанавливаем дополнительные реквизиты}
TfrxSberPaymentPreset(bcSBER.ExpressionPreset.DataObject).AdditionalBankingDetails.PayerINN := '<Qrsber.PayerINN>';
TfrxSberPaymentPreset(bcSBER.ExpressionPreset.DataObject).AdditionalBankingDetails.Purpose := '<Qrsber.Purpose>';
TfrxSberPaymentPreset(bcSBER.ExpressionPreset.DataObject).AdditionalBankingDetails.Sum := '<Qrsber.Sum>';
frxReport1.ShowReport();
end;

Теперь и в FastReport VCL можно без труда создать квитанцию со СБЕР QR-код, что является еще одним поводом для апгрейда или обновления на FR VCL 6.8

О продукте Купить
avatar
Alexander Syrykh
Поддержка и тестирование
Fast Reports Team: Alexander Syrykh - Quality Assurance at Fast Reports
VCL Lazarus FastReport Barcode Delphi QR Code

Добавить комментарий
logo
  • +7(800)551-75-80
  • info@fastreport.ru
  • Ростов-на-Дону, Россия, 344082, ул.Обороны 24, офис 311
  • Купить
  • Загрузить
  • Документация
  • Отзывы
  • Как деинсталировать
  • FAQ
  • Видео уроки
  • Форум
  • Условия оказания поддержки
  • Статьи
  • Наши Новости
  • Пресса о нас
  • Реселлеры
  • Нестандартное лицензирование
  • ВУЗам
  • Карьера
  • Контакты

© 1998-2023 ООО «Быстрые отчеты»

  • Согласие с обработкой персональных данных
  • Не является публичной офертой