Получи случайную криптовалюту за регистрацию!

Выяснилось, что на релизе 32.00.14 изменился формат RequestID | POS СБС-канал

Выяснилось, что на релизе 32.00.14 изменился формат RequestID на библиотеке sbrf.dll


Уникальный идентификатор операции RequestID (31.00.18)
Уникальный идентификатор операции – это число в формате HEX-строки от 00000001 до FFFFFFFE. Кассовая программа назначает уникальный идентификатор каждому вызову функции UPOS, и гарантирует его уникальность в течение минимум двух смен.

Формат RequestID (32.00.14)
Формат RequestID: целое число размерностью 4 байта, должно быть представлено как HEX-строка длинной 8 символом ASCII.
Диапазон RequestID: от 0x00000001 до 0xFFFFFFFE.
Альтернативный формат: должно быть задано в шестнадцатеричном формате «8AEF1C21» без «0x».
Число 0xFFFFFFFF является зарезервированным и его нельзя подавать в качестве RequestID.
Число 0x00000000 является зарезервированным и его передача будет означать режим автоматической генерации RequestID.

Партнеры, которые передают зарезервированные числа (0х) не смогут работать с 32 релизом без изменения формата передачи Request.

Пример от коллег из Вкусвилл (sbkernel_32.log):

08.09 15:51:59 SBRFv90: (PID 1080, thread 0x000015B4) SParam: Amount=600

08.09 15:51:59 SBRFv90: (PID 1080, thread 0x000015B4) SParam: RequestID=0x1013F1DD
(0x явно лишний)

08.09 15:51:59 SBRFv90: (PID 1080, thread 0x000015B4) NFun: 4000



По мимо этого в релизе 32.00.14 был обнаружен баг с тем же RequestId на библиотеке sbrf.dll


Пример. Партнер Рольф передает RequestId (RequestID=-1631286658) с отрицательным значением на что получает на любую фин операцию ошибку 16 - финансовая операция с таким RequestID уже выполнена. Данная проблема была воспроизведена на нашем стенде. В релизе 32.01 проблема уже не воспроизводится.

Коллеги, необходимо уделить отдельное внимание при тестировании релиза у партнеров работающих с RequestID на библиотеке sbrf.dll



Локально описанные ситуации можно увидеть в логе sbkernel.log:
SParam: RequestID=-1630478756
SParam: RequestID=0x1013F1DD

Такие форматы работать не будут.