From fe4443ca973c5b3cd6528655f6b4fb7e485e67c1 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 28 Jun 2026 20:22:30 +0300 Subject: [PATCH] =?UTF-8?q?fix(web-test):=20=D1=83=D0=B9=D1=82=D0=B8=20?= =?UTF-8?q?=D0=BE=D1=82=20=D1=85=D1=80=D1=83=D0=BF=D0=BA=D0=BE=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=BA=D0=BD=D0=BE=D0=BF?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=A1=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=D0=A1=D0=BD?= =?UTF-8?q?=D1=8F=D1=82=D1=8C=D0=A4=D0=BB=D0=B0=D0=B6=D0=BA=D0=B8=20=D0=B2?= =?UTF-8?q?=20=D0=BC=D1=83=D0=BB=D1=8C=D1=82=D0=B8=D0=B2=D1=8B=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Имя кнопки содержит имя грида (<Список>СнятьФлажки) — хрупко. Константа MULTI_BTN.uncheckAll → стабильная подстрока «СнятьФлажки»; clickElement и hasButton матчат по вхождению, поэтому работает независимо от имени списка. Коллизии с «УстановитьФлажки» нет. Live-проверено: clickElement('СнятьФлажки') резолвит СписокСнятьФлажки и снимает пометки. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../skills/web-test/scripts/engine/forms/select-value.mjs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.claude/skills/web-test/scripts/engine/forms/select-value.mjs b/.claude/skills/web-test/scripts/engine/forms/select-value.mjs index ad2ef6b3..fb59fa54 100644 --- a/.claude/skills/web-test/scripts/engine/forms/select-value.mjs +++ b/.claude/skills/web-test/scripts/engine/forms/select-value.mjs @@ -1,4 +1,4 @@ -// web-test forms/select-value v1.26 — Reference & composite-type value selection: selectValue (+ array multi-select), fillReferenceField, selection/type-dialog pickers. +// web-test forms/select-value v1.27 — Reference & composite-type value selection: selectValue (+ array multi-select), fillReferenceField, selection/type-dialog pickers. // Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import { @@ -628,7 +628,8 @@ export async function fillReferenceField(selector, fieldName, value, formNum) { // surface detection and clicking (clickElement matches a button by its technical // name OR tooltip), so detect and click never drift apart. const MULTI_BTN = { - uncheckAll: 'СписокСнятьФлажки', // tooltip "Снять пометки со всех строк" + uncheckAll: 'СнятьФлажки', // substring of the real name "СнятьФлажки" (list-name-agnostic); + // clickElement/hasButton both match by includes. tooltip "Снять пометки со всех строк" confirm: 'ОК', podbor: 'Подбор', choose: 'Выбрать',