name: runner-core description: >- Базовый рабочий процесс для написания и запуска BSL-скриптов Runner для взаимодействия с 1С:Предприятие 8.3. Используй для осмотра UI, управления контекстом формы, принятия решений с учетом навыков, построения минимальных шагов и выбора методов Runner, таких как Подключить, Здесь, ПолучитьЭлементыАктивногоОкна, ПолучитьИзмененияОкна, Коммандос, Нажать, ВнестиЗначение, Выбрать, ОткрытьЗначениеВПолеВвода, Фокус и средства чтения таблиц.
Ядро Runner
Используйте этот навык для любой задачи, которая пишет или запускает Runner-скрипты для приложения 1C в этом репозитории.
Протокол принятия решений
- Сначала осмотри текущее состояние формы.
- После осмотра определи, какие навыки применимы к текущей задаче, текущей форме или текущему бизнес-объекту, и используй наиболее подходящий.
- Если подходящего навыка нет, переходи к общим рассуждениям об UI.
- Используй элементы управления для проверки предварительных условий и получения точных ID, заголовков и ссылок.
Когда использовать
- Когда нужно осмотреть UI приложения через Runner
- Когда нужно переходить между формами или навигационными ссылками
- Когда нужно читать значения, таблицы или табличные документы
- Когда нужно безопасно и пошагово заполнять или очищать поля, выбирать значения или нажимать элементы управления
Базовый рабочий процесс
- Начинай каждый скрипт с вызова метода
Подключить. - Используй
ПолучитьГлавноеМенюдля навигации верхнего уровня илиПолучитьЭлементыАктивногоОкнадля текущей формы. - Используй только элементы управления, заголовки и навигационные ссылки, которые уже известны из состояния приложения.
- Перед взаимодействием с формой, установи контекст выполнения через
Здесь. - Когда несколько известных элементов управления могут достичь одной цели, предпочитай стандартный механизм, определенный наиболее подходящим навыком, а не случайно более заметной кнопке.
- Рассматривай каждое действие, изменяющее состояние, как потенциально меняющее другие поля, значения по умолчанию и доступность элементов управления, а не только целевой элемент.
- После каждого такого действия останови шаг и осмотри результат через
ПолучитьИзмененияОкна. - Скрипты должны быть минимально достаточными. В большинстве случаев, записывай в
tester/одно надежное действие, изменяющее состояние, затем осматривайте результат и продолжай.
Выбор методов Runner
Обнаружение и чтение
Используй эти методы, чтобы понять текущее состояние перед действием:
ПолучитьГлавноеМенюПолучитьЭлементыАктивногоОкнаПолучитьИзмененияОкнаВзятьПолучитьСодержимоеТаблицыПолучитьСодержимоеТабличногоДокументаПолучитьСнимок
Контекст формы и навигация
Используй эти методы, чтобы безопасно перемещаться по UI:
ЗдесьКоммандосФокусЗакрытьЗакрытьВсёДалееДождаться
Ввод данных и выбор
Используй эти методы после подтверждения, что целевой элемент управления существует:
НажатьВнестиЗначениеОчиститьВыбратьОткрытьЗначениеВПолеВвода
Навигация по таблицам и ожидание
Используй эти методы для перехода к строкам таблиц, иерархическим уровням и веткам дерева:
КСтрокеПерейтиКПервойСтрокеПерейтиКПоследнейСтрокеПерейтиКСледующейСтрокеПерейтиКПредыдущейСтрокеПерейтиНаУровеньНижеПерейтиНаУровеньВышеРаскрытьСтрокуДереваСвернутьСтрокуДерева
После перехода по строкам, используй ПолучитьИзмененияОкна, если нужно понять текущее состояние и другие изменения на форме.
Важные ограничения
- Не угадывай ID элементов, заголовки кнопок, заголовки форм или навигационные ссылки.
- Не объединяй несколько вызовов
ВнестиЗначениев один скрипт только потому, что поля выглядят независимыми. Изменение значения поля формы, может запустить обработчик, логика которого может изменить форму и её поля и элементы. Коммандосдопустим только тогда, как чётко известно, что навигационная ссылка существует в приложении.КСтрокепредназначен для точной навигации к строке по известному значению колонки (или колонок). Не используйКСтрокедля произвольного поиска. Используй стандартное поле поиска или фильтр у списка.ПолучитьСодержимоеТаблицычитает до 100 строк. Сужай набор результатов перед чтением больших списков. Если всё-таки нужно получить более 100 строк, попробуй экспортировать таблицу в табличный документ, а затем использоватьПолучитьСодержимоеТабличногоДокументадля получения данных в файле Microsoft Excel.Выбратьможет открыть промежуточный диалог выбора типа данных. Рассматривай это как смену формы и осмотрите ее перед продолжением.- Используй
ПолучитьЭлементыАктивногоОкнатолько в случае, когда тебе нужно полностью изучить форму. ПредпочитайПолучитьИзмененияОкна, если ты с формой уже работаешь и тебе нужно видеть только изменения. Таким способом ты существенно сэкономишь объём информации для анализа. - Используй
ПолучитьСнимоктолько когда дерево элементов управления недостаточно объясняет текущее состояние UI.
Ссылки
- Точное описание сигнатуры методов, нюансы и примеры:
@references/api-methods.md