понедельник, 23 июля 2018 г.

Панбагон. При копировании ККТ из чека теряются последние 3 цифры

Сегодня пытались получить в Яндекс.ОФД прямую ссылку на чек. Такого функционала не нашли, можно только в https://ofd.yandex.ru/check проверить, существует чек или нет.

Ну, давайте посмотрим. Первая строка — надо вбить ККТ. Яндекс услужливо подсказывает, где смотреть это в чеке


Даблклик по полю с ККТ в самом чеке — он выделяет номер + фразу «ККТ»:


1. Копирование ККТ в Яндекс.ОФД

И вставляет также, а потом ругается, что номер некорректный. Ну какой скопировал!

2. ККТ в проверялке чеков

Это не очень хорошо, что нельзя просто скопировать значение. Приходится вставить, а потом удалить «ККТ». Ну да ладно, лишние буквы удалила. Остальные два поля, ФД и ФПД, скопировались без проблем и без лишних символов.

Нажимаю «Проверить» — чек не найден. ЧТО?! Да это чек двухнедельной давности, как это не найден??

Сравниваю, вроде похоже:


Правда, я пристально смотрю на ФД и ФПД, а коллеги присмотрелись к номеру ККТ:

— Погоди, что-то не то. Итак, первое поле номер КТТ. На 812 заканчивается. Его и надо вводить.

Смотрю — и правда, цифр 812 не хватает. Находим это поле в F12 и что мы видим? Правильно! maxlength="16"

Итого:

  1. Я копирую значение из чека в Яндекс.ОФД — он захватывает 3 лишние буквы, получаем 19 символов: ККТ0002490947054812
  2. Вставляю скопированное значение в проверку чеков https://ofd.yandex.ru/check — из-за maxlength вставляются только первые 16 символов, из них 3 лишние, а вот 3 в конце мы потеряли
  3. Удаляю явно лишние буквы «ККТ». Но не замечаю, что теперь чего-то не хватает.
  4. Проверяю чек, получаю "такого не существует".
Неудачный сценарий =)

Оформим баг по шаблону:

******************************************************************

При копировании ККТ из чека теряются последние 3 цифры


Шаги воспроизведения
  1. Пробить чек (это явно можно сделать какой-то тестовой заглушкой, если вы — тестировщик Яндекса)
  2. Открыть чек в личном кабинете — https://ofd.yandex.ru/client/reports (даем тестовые данные для входа)
  3. Установить курсов на номере ККТ, даблкликом выделить и скопировать

Результат

См рис «1. Копирование ККТ в Яндекс.ОФД», номер скопировался с 3-мя лишними символами вначале: ККТ0002490947054812.

Это плохо, так как в проверялке чеков https://ofd.yandex.ru/check стоит ограничение maxlength="16". И если туда вставить скопированное значение, оно обрежет последние 3 цифры: ККТ0002490947054 и будет писать, что поле заполнено некорректно, см рис «2. ККТ в проверялке чеков».

После удаления лишних символов «ККТ» пользователь может не заметить, что теперь ему не хватает трех цифр в поле. Он же честно копировал его


Ожидаемый результат

ККТ копируется без лишних символов — 0002490947054812.
Чтобы можно было скопировать из чека и вставить в проверялку

******************************************************************

Как найти такой баг? Да просто при тестировании проверялки воспроизвести сценарий пользователя. Он же пойдет и попробует скопировать данные из чека, после чего сразу нарвется на проблему...

См также:
Шаблон бага → использовался в статье
Шаблон улучшения — Как продумывать свое улучшение с примером, когда это приводит к отказу от постановки задачи.
Как заводить задачи в баг-трекер → подробнее о том, как ставить задачу и заполнять обязательные поля.

PS — добавила пост в общую копилку багов. 

Комментариев нет:

Отправить комментарий