scanGridRowsScript целился в центр всей .gridLine; на широкой форме выбора (колонок
больше, чем влезает в окно) центр-X уезжает за вьюпорт в оверлей → клик мимо строки →
Enter не выбирает → форма не закрывается → ложное not_selectable «group/folder row».
- dom/grid v1.10: матч по ячейкам (строка: exact→startsWith→includes; объект {col:val}:
пер-колоночно, AND, предпочтение exact-all), точка клика — первая видимая текстовая
ячейка строки (не центр); возврат visibleSample/isGroup. scrollIntoView не нужен
(динсписок держит в DOM только видимые строки).
- forms/select-value v1.25: структурированный search в скан (без склейки значений
объекта), различение still_open vs реальная группа (isGroup), actionable not_found
со списком видимых кандидатов.
- tests: широкая (14 колонок, choiceMode) форма выбора Контрагентов + контрагент «Север»
рядом с «ООО Север» → детерминированный регресс центр-X + exact-preference;
selectValue (04-selectvalue) и fillTableRow составной ячейки (05-table).
Проверено: живой E2E на реальной форме выбора составного типа, red-green на синтетике,
полный регресс web-test.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Step auto-history полагался на наполненную UserChoiceHistory от предыдущих тестов
(06-document и т.д.) — в одиночном прогоне history для 'ООО Юг' пустая,
typeahead не активировался, method=form вместо ожидаемого dropdown.
History в 1С — per-value: первый выбор значения через form наполняет историю,
второй выбор того же значения идёт через typeahead-dropdown. Добавлен warm-up:
selectValue('Менеджер', 'ООО Юг') → clear → второй selectValue того же значения
(уже из истории).
Закрывает §0.8 #4 родительского плана. Регресс одиночный + полный 19/19 зелёный.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Реквизит шапки ПриходнаяНакладная.Менеджер типа CatalogRef.Контрагенты
с дефолтным choiceHistoryOnInput=Auto. Существующий Контрагент в той же
шапке имеет DontUse, что даёт парный контраст для тестирования влияния
флага на selectValue.
Новый шаг 04-selectvalue/auto-history:
- selectValue('Менеджер', 'ООО Юг') → method='dropdown' (typeahead активен,
префиксный поиск по Description находит «ООО Юг» в catalogue).
- Парный 04-selectvalue/direct-form (existing): selectValue('Контрагент',
'Север') → method='form' (typeahead подавлен DontUse → форма выбора).
Тест покрывает существующее ветвление selectValue по флагу
choiceHistoryOnInput без engine-доработок. Истории на сервере писать
заранее не нужно: typeahead использует prefix-match по Description,
а не статистику истории.
Полный регресс **18/18 зелёный** (8m 47.3s).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
02-crud: confirm-save-no (rollback при save:false), confirm-pending
(closeForm() без решения возвращает confirmation), more-menu (clickElement
'Ещё' возвращает submenu).
03-fillfields: clear (Shift+F4 через пустое значение), reference-non-quickchoice
(fillFields на quickChoice=false поле — method=dropdown через DLB; чистый
form-path требует hasPick && !hasSelect, такого поля в синтетике нет).
04-selectvalue: clear (selectValue '' → Shift+F4). show-all-form отложен —
требует quickChoice=true каталога с количеством > порога dropdown
(в синтетике нет).
05-table: checkbox (fillTableRow с Boolean), clear (Shift+F4 на ref-ячейке +
восстановление для последующего delete).
Live на webtest: все шаги проходят.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
03-fillfields:
- reference-dropdown: переведён с Контрагент на Организация
(после смены quickChoice Контрагенты идут через форму выбора)
- новый шаг radio: КатегорияЦены через method=radio (RadioButtons)
04-selectvalue:
- dropdown: переведён на Организация (quickChoice=true)
- новый шаг direct-form: Контрагент (quickChoice=false), method=form
Закрывает selectValue#3 dropdown (P0), selectValue#6 direct-form (P1),
fillFields#3 radio (P1) из coverage matrix.
Tumbler-представление радио (СпособУчёта) пока не покрыто — getFormState
не возвращает Tumbler в fields[]. Зафиксировано в upload/web-test-bugs.md
пункт 5.
10/10 smoke зелёные на webtest базе.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
01-navigation: первое открытое окно 1С имеет form=0 (number), и
assert.ok(state.form, ...) валился на falsy при первом запуске сессии.
Сменил на state.form != null.
04-selectvalue: явный save:false при закрытии модифицированной формы
накладной — после фикса SavedData=true главного реквизита платформа
требует решения по confirmation dialog.
Один P0 кейс из coverage matrix:
- dropdown: selectValue('Контрагент', 'ООО Север') → method='dropdown'
на форме новой ПриходнойНакладной (CatalogRef + малый список)
API возвращает form state с .selected = {field, search, method}.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>