| 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