Opened 11 months ago
Closed 3 weeks ago
#1409 closed дефект (готово)
В интерфейсе "Несоответствия" не отображается несоответствие
| Reported by: | alx | Owned by: | Denis_N |
|---|---|---|---|
| Priority: | critical | Component: | БД изделий АДС |
| Keywords: | Cc: |
Description
В r420/base выполняю следующие действия.
- Открываю интерфейс "Тестирование".
- Ввожу серийный номер платы.
- Произвожу тестирование платы, в процессе которого обнаруживаю несоответствие. Выбираю результат тестирования "Выявлены ошибки", пишу описание выявленного несоответствия в поле комментария.
- Нажимаю "Сохранить данные".
- Открываю интерфейс "Несоответствия".
- Ввожу в поле серийного номера серийный номер изделия, которое я только что тестировал.
- Получаю пустой список несоответствий (написано "Записей у изделия не найдено").
Ожидалось, что в списке будет отображено выявленное мной при тестировании несоответствие.
Change History (2)
comment:1 by , 11 months ago
comment:2 by , 3 weeks ago
| Resolution: | → готово |
|---|---|
| Status: | new → closed |
В r420/base запись, созданная при тестировании с результатом “Выявлены ошибки”, сохранялась как составное событие testing,mismatch. В интерфейсе “Несоответствия” при включённой галочке “Показывать только несоответствия” выполнялся поиск только по type_write = 'mismatch', поэтому составные записи из “Тестирования” и “ОТК” не отображались.
В r462/base текст галочки изменён на явный: “Не показывать несоответствия, созданные через ОТК и Тестирование”, добавлена поясняющая подсказка.
Дополнительно в r537/base исправлен поиск по S/N в этом интерфейсе: поиск теперь срабатывает после фактического обновления поля, состояние галочки передаётся в AJAX-запрос, устаревшие запросы отменяются.
Передача галочки прямо в AJAX дала то, что backend стал получать состояние фильтра именно на момент конкретного поиска. До этого backend смотрел в cookie view_only_mismatch, а cookie обновлялась отдельно на frontend. Если пользователь менял галочку и сразу шёл поиск, можно было получить рассинхрон: в интерфейсе галочка уже в одном состоянии, а запрос обработался по старому cookie.
Перевод S/N на событие input исправил сценарий вставки/сканирования серийника. Раньше обработчик висел на keyup paste; paste срабатывает до того, как новое значение гарантированно оказалось в поле. В итоге AJAX мог уйти со старым или пустым S/N, и пользователь видел “Записей у изделия не найдено”. input срабатывает уже после изменения значения поля, поэтому поиск уходит с актуальным серийником.
В текущей версии такие несоответствия отображаются при снятой галочке.
Закрываю как исправленный, хотя открыт к предложению по UI-улучшению
![[MC-04 logo]](/mc-04/chrome/site/logo.png)
На всякий случай доп. информация: баг замечен при тестировании платы S/N H04167.