runner-core

star 196

Базовый рабочий процесс для написания и запуска BSL-скриптов Runner для взаимодействия с 1С:Предприятие 8.3. Используй для осмотра UI, управления контекстом формы, принятия решений с учетом навыков, построения минимальных шагов и выбора методов Runner, таких как Подключить, Здесь, ПолучитьЭлементыАктивногоОкна, ПолучитьИзмененияОкна, Коммандос, Нажать, ВнестиЗначение, Выбрать и средства чтения таблиц.

grumagargler By grumagargler schedule Updated 5/21/2026

name: runner-core description: >- Базовый рабочий процесс для написания и запуска BSL-скриптов Runner для взаимодействия с 1С:Предприятие 8.3. Используй для осмотра UI, управления контекстом формы, принятия решений с учетом навыков, построения минимальных шагов и выбора методов Runner, таких как Подключить, Здесь, ПолучитьЭлементыАктивногоОкна, ПолучитьИзмененияОкна, Коммандос, Нажать, ВнестиЗначение, Выбрать, ОткрытьЗначениеВПолеВвода, Фокус и средства чтения таблиц.

Ядро Runner

Используйте этот навык для любой задачи, которая пишет или запускает Runner-скрипты для приложения 1C в этом репозитории.

Протокол принятия решений

  1. Сначала осмотри текущее состояние формы.
  2. После осмотра определи, какие навыки применимы к текущей задаче, текущей форме или текущему бизнес-объекту, и используй наиболее подходящий.
  3. Если подходящего навыка нет, переходи к общим рассуждениям об UI.
  4. Используй элементы управления для проверки предварительных условий и получения точных ID, заголовков и ссылок.

Когда использовать

  • Когда нужно осмотреть UI приложения через Runner
  • Когда нужно переходить между формами или навигационными ссылками
  • Когда нужно читать значения, таблицы или табличные документы
  • Когда нужно безопасно и пошагово заполнять или очищать поля, выбирать значения или нажимать элементы управления

Базовый рабочий процесс

  1. Начинай каждый скрипт с вызова метода Подключить.
  2. Используй ПолучитьГлавноеМеню для навигации верхнего уровня или ПолучитьЭлементыАктивногоОкна для текущей формы.
  3. Используй только элементы управления, заголовки и навигационные ссылки, которые уже известны из состояния приложения.
  4. Перед взаимодействием с формой, установи контекст выполнения через Здесь.
  5. Когда несколько известных элементов управления могут достичь одной цели, предпочитай стандартный механизм, определенный наиболее подходящим навыком, а не случайно более заметной кнопке.
  6. Рассматривай каждое действие, изменяющее состояние, как потенциально меняющее другие поля, значения по умолчанию и доступность элементов управления, а не только целевой элемент.
  7. После каждого такого действия останови шаг и осмотри результат через ПолучитьИзмененияОкна.
  8. Скрипты должны быть минимально достаточными. В большинстве случаев, записывай в tester/ одно надежное действие, изменяющее состояние, затем осматривайте результат и продолжай.

Выбор методов Runner

Обнаружение и чтение

Используй эти методы, чтобы понять текущее состояние перед действием:

  • ПолучитьГлавноеМеню
  • ПолучитьЭлементыАктивногоОкна
  • ПолучитьИзмененияОкна
  • Взять
  • ПолучитьСодержимоеТаблицы
  • ПолучитьСодержимоеТабличногоДокумента
  • ПолучитьСнимок

Контекст формы и навигация

Используй эти методы, чтобы безопасно перемещаться по UI:

  • Здесь
  • Коммандос
  • Фокус
  • Закрыть
  • ЗакрытьВсё
  • Далее
  • Дождаться

Ввод данных и выбор

Используй эти методы после подтверждения, что целевой элемент управления существует:

  • Нажать
  • ВнестиЗначение
  • Очистить
  • Выбрать
  • ОткрытьЗначениеВПолеВвода

Навигация по таблицам и ожидание

Используй эти методы для перехода к строкам таблиц, иерархическим уровням и веткам дерева:

  • КСтроке
  • ПерейтиКПервойСтроке
  • ПерейтиКПоследнейСтроке
  • ПерейтиКСледующейСтроке
  • ПерейтиКПредыдущейСтроке
  • ПерейтиНаУровеньНиже
  • ПерейтиНаУровеньВыше
  • РаскрытьСтрокуДерева
  • СвернутьСтрокуДерева

После перехода по строкам, используй ПолучитьИзмененияОкна, если нужно понять текущее состояние и другие изменения на форме.

Важные ограничения

  • Не угадывай ID элементов, заголовки кнопок, заголовки форм или навигационные ссылки.
  • Не объединяй несколько вызовов ВнестиЗначение в один скрипт только потому, что поля выглядят независимыми. Изменение значения поля формы, может запустить обработчик, логика которого может изменить форму и её поля и элементы.
  • Коммандос допустим только тогда, как чётко известно, что навигационная ссылка существует в приложении.
  • КСтроке предназначен для точной навигации к строке по известному значению колонки (или колонок). Не используй КСтроке для произвольного поиска. Используй стандартное поле поиска или фильтр у списка.
  • ПолучитьСодержимоеТаблицы читает до 100 строк. Сужай набор результатов перед чтением больших списков. Если всё-таки нужно получить более 100 строк, попробуй экспортировать таблицу в табличный документ, а затем использовать ПолучитьСодержимоеТабличногоДокумента для получения данных в файле Microsoft Excel.
  • Выбрать может открыть промежуточный диалог выбора типа данных. Рассматривай это как смену формы и осмотрите ее перед продолжением.
  • Используй ПолучитьЭлементыАктивногоОкна только в случае, когда тебе нужно полностью изучить форму. Предпочитай ПолучитьИзмененияОкна, если ты с формой уже работаешь и тебе нужно видеть только изменения. Таким способом ты существенно сэкономишь объём информации для анализа.
  • Используй ПолучитьСнимок только когда дерево элементов управления недостаточно объясняет текущее состояние UI.

Ссылки

  • Точное описание сигнатуры методов, нюансы и примеры: @references/api-methods.md
Install via CLI
npx skills add https://github.com/grumagargler/tester --skill runner-core
Repository Details
star Stars 196
call_split Forks 31
navigation Branch main
article Path SKILL.md
More from Creator
grumagargler
grumagargler Explore all skills →