Страница 1 из 2

QR код не всегда правильно читается приложением Сбербанка

Добавлено: 16 дек 2024, 20:59
quimb
Ниже приведены примеры строк, которые назначаются свойству Code компонента BarCode
В первом случае, полученный QR код, в приложении сбербанка читается нормально, название организации и банка русскими символами, во втором случае - кракозябрами.

string s = "ST00011|Name=МАУ \"Бейсужекскоe\"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=1000";

string s = "ST00011|Name=МАУ \"Бейсужекское\"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=1000";

Методом научного тыка выяснено, что, если слово Бейсужекскоe, в конце имеет английскую букву e, то все проходит нормально, если русскую е - то кракозябры.
Вряд ли это штатное поведение. Что делать и как исправить?

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 18 дек 2024, 00:04
Aleksey
Здравствуйте,

Проверьте последнию версию 2025.1.1.

Если проблема остается, вышлите пример отчета, а также скриншот как выглядит правильно и как неправильно.
Также, учтоните используются ли опция StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding

Спасибо.

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 18 дек 2024, 16:33
quimb
Aleksey писал(а): 18 дек 2024, 00:04 Здравствуйте,

Проверьте последнию версию 2025.1.1.

Если проблема остается, вышлите пример отчета, а также скриншот как выглядит правильно и как неправильно.
Также, учтоните используются ли опция StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding

Спасибо.
2025.1.1. проверял (демо версию) такое же поведение

StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding
используется таким образом
StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.Windows_1251;

Пример отчета должен запускаться из приложения с StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.Windows_1251;
Так можете просто кинуть на пустой шаблон barcode и присвоить свойству Code поочередно следующие строки:
ST00011|Name=МАУ "Бейсужекскоe"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=1000

ST00011|Name=МАУ "Бейсужекское"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=1000

и выполнить отчет из своего приложения

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 19 дек 2024, 19:14
Aleksey
Здравствуйте,

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

Спасибо.

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 23 дек 2024, 10:59
quimb
Aleksey писал(а): 19 дек 2024, 19:14 Здравствуйте,

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

Спасибо.
Речь идет о приложении Сбербанка для Android. Именно в нем происходит такая странность. И прежде чем задать вопрос, я протестировал на разных телефонах. Поведение такое же как на приведенных скринах.
Дело в том, что как Вы наверное догадались, штрих код используется в квитанциях на оплату ЖКХ. И проблема поднята клиентами, которые видят в своих телефонах при оплате непонятные символы вместо наименовании организации. Т.е. проблема воспроизводится не только на моих телефонах.
Я даже пошел дальше и сформировал из приведенных выше строк QR код в генераторе отчетов от devexpress. При сканировании в приложении Сбербанка нет непонятных символов, все отображается корректно.
Куда мне копать дальше? Проблему надо решить.

P.S. Сканирование кода производилось с камеры телефона в приложении Сбербанка. Вы ведь также делали? Не подсовывали в качестве образца файл изображения?

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 23 дек 2024, 18:06
Aleksey
Здравствуйте,

> Речь идет о приложении Сбербанка для Android. Именно в нем происходит такая странность.

Т.е. другие приложения на тех же телефонах у вас считывают штрихкод правильно, проблема только в этом приложении?

> Я даже пошел дальше и сформировал из приведенных выше строк QR код в генераторе отчетов от devexpress. При сканировании в приложении Сбербанка нет непонятных символов, все отображается корректно.

Вышлите пожалуйста скриншот с этими штрихкодами для анализа.

> Сканирование кода производилось с камеры телефона. Вы ведь также делали? Не подсовывали в качестве образца файл изображения?

Сканировали мы штриходы из высланных вами pdf-файлов, открытых на экране компьютера.
Приложения Сбер у нас нет. Сканирование на телефонах производилось камерой телефона, встроенным приложением и "QR Code Scanner", "Barcode Scanner". Онлайн-сканерам отправляли обрезанный скриншот с экрана.

Спасибо.

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 24 дек 2024, 10:03
quimb
Т.е. другие приложения на тех же телефонах у вас считывают штрихкод правильно, проблема только в этом приложении?
Именно так. Пробовали в приложении Тинькова. Там все норм.
Смущает то, что и приложение Сбербанка то читает нормально, если заменить последнюю букву наименования организации на английскую.
Собственно есть клиенты где организация прописана полностью русскими символами, и QR код читается Сбером хорошо, но вот именно в этом частном случае получается такая досадная непонятность.
Вышлите пожалуйста скриншот с этими штрихкодами для анализа.
Высылаю. Сформировал в двух генераторах. Строка в QR кодах одна и та же.

ST00011|Name=МАУ "Бейсужекское"|PersonalAcc=40703810943070000007|BankName=РНКБ БАНК ( ПАО)|BIC=043510607|CorrespAcc=30101810335100000607|PayeeINN=2360017268|PersAcc=761-25-00010025|ServiceName=|Sum=0

Не знаю даст ли вам что эта информация - для DevExpress настройки QR кода - метод сжатия = Байт (собственно с другими методами данная строка и не шифруется)

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 27 дек 2024, 13:32
Aleksey
Здравствуйте,

> ... для DevExpress настройки QR кода - метод сжатия = Байт (собственно с другими методами данная строка и не шифруется)

Мы изучили присланные вами штрихкоды.
В штрихкоде, созданном в DevExpress, применяется кодировка символов "UTF-8".
Чтобы принудительно включить эту же кодировку в нашем штрихкоде, надо установить:
StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.UTF_8;
Также, возможно, надо дополнительно установить следующую опцию (в некоторых приложениях может некорректно распознаваться Unicode-заголовок ByteOrderMark):
StiOptions.Engine.BarcodeQRCodeAllowUnicodeBOM = false;

> Именно так. Пробовали в приложении Тинькова. Там все норм.
> Смущает то, что и приложение Сбербанка то читает нормально, если заменить последнюю букву наименования организации на английскую.

Это похоже на какую-то багу в приложении Сбер, когда оно пытается преобразовать последовательность байт из кодировки Windows-1251 в Unicode.
Потому что в режиме кодирования Byte вся строка текста прямо записывается в штрихкод в виде последовательности байт без всякого преобразования.
Мы советуем вам также попробовать обратиться с этой проблемой к Сбер, интересно что они скажут про это.

Также, интересно, что ранее кто-то из клиентов писал нам, что это приложение читает только QRCode с кодировкой Windows-1251.
Но у вас сейчас корректно считываются и штрихкоды с кодировкой Utf-8.

Спасибо.

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 27 дек 2024, 15:30
quimb
Aleksey писал(а): 27 дек 2024, 13:32 StiOptions.Engine.BarcodeQRCodeAllowUnicodeBOM = false;
У меня нет такого свойства. Версия генератора 2015.3.
Aleksey писал(а): 27 дек 2024, 13:32 StiOptions.Engine.BarcodeQRCodeDefaultByteModeEncoding = Stimulsoft.Report.BarCodes.StiQRCodeECIMode.UTF_8;
Кракозяки стали другие, но все также не читаемы

Re: QR код не всегда правильно читается приложением Сбербанка

Добавлено: 27 дек 2024, 18:53
Aleksey
Здравствуйте,

Проверьте последнюю версию, с тех пор было большое количество доработок, исправлений.

Спасибо.