diff --git a/.claude/skills/web-test/SKILL.md b/.claude/skills/web-test/SKILL.md index d81826e9..e587f5ce 100644 --- a/.claude/skills/web-test/SKILL.md +++ b/.claude/skills/web-test/SKILL.md @@ -340,21 +340,14 @@ await selectValue('Документ', '0000-000601', { type: 'Реализаци Also supports DCS labels — auto-enables the paired checkbox. -**Multi-select (value-list fields)** — pass an **array** to select several values at once. Works -across all "список значений" surfaces (checkbox form, intermediate pool + Подбор, inline cloud -dropdown, catalog multi-row select) — the right gesture is auto-detected. Always **replace** -semantics (the field ends up with exactly the given set): +**Multi-select** — pass an **array** to select several values at once; the field is set to exactly +that set (replace). Returns `selected: { field, values, notSelected? }` — `values` are the ones +actually selected; any value the field doesn't offer goes to `notSelected: [{ value, reason }]` +(the call doesn't throw). Elements take the same forms as `search` (string, or `{ col: value }`). ```js await selectValue('Наименование компании', ['Альфа ООО', 'Бета АО']); -// result.selected = { field: 'Наименование компании', values: ['Альфа ООО', 'Бета АО'] } - -// Values not offered by the field land in notSelected (the call does not throw): -const r = await selectValue('Организации', ['Альфа ООО', 'Несуществующая']); -// r.selected = { field: 'Организации', values: ['Альфа ООО'], -// notSelected: [{ value: 'Несуществующая', reason: 'not_in_list' }] } +// selected: { field: 'Наименование компании', values: ['Альфа ООО', 'Бета АО'] } ``` -Array elements are strings (the displayed value); objects `{ col: value }` are passed through as -the catalog search (for surfaces that open a selection catalog). #### `fillTableRow(fields, opts)` → form state with `filled` (+ optional `notFilled`) Fill table row cells via Tab navigation. Value is a plain string, `{ value, type }` for composite-type cells, or `''`/`null` to clear (Shift+F4).