VA СамописныйШаг по заполнению Excel для загрузки в документ
Собственный шаг *.epf для библиотеки Vanessa Automation, который способен создать *.xlsx файл для загрузки в ТЧ документа.
0. Варианты получения параметров шага
1. Создание обработки и макетов
2. Объявление табличных данных макета
3. Получение данных из запроса, геркин-таблицы
Получение параметров в шаг:
- 1 вариант: в шаге можно передать заголовки геркин-таблицы (по сути с любые), т.к. алгоритм считает количество строк. И если передана 1-а строка, тогда все данные для заполнения макетов берутся из запроса к базе на встроенном языке 1С. При этом, параметры переданные в синтаксисе шага - будут добавлены в функцию, где выполняется запрос.

- 2 вариант: в отличие от 1-го варианта, если в геркин-таблице указать 2-ую строку со значениями, тогда к заголовку полей будут присвоены эти значения как Соответствие пары ключ-значение. При этом, параметры переданные в синтаксисе шага - будут проигнорированы.

Эта логика по вариантам получения данных, заложена в методе "ДанныеКорректировкиБюджетовНаСервере":

№1Для начала необходимо создать внешнюю обработку *.epf шага. Куда добавить макеты для заполненения и дальнейшего сохраненения в *.xlsx.
Макеты со значениями заполнения <Параметр> во 2-ой строке ячеек:

- 1-ой строкой идёт область "Шапка" с заголовками которые хочу получить в файле Excel.
- 2-строкой идёт область "Бюджет" с <Параметры>, которые заполняются значениями по структуре - полученными в зависимости от варианта (см. выше) получения данных.
Листы Excel книги будут заполнены по макетам:

№2Теперь через Функцию "ДанныеПоИсточникамНаСервере" определяем области макета и параметры табличных данных полей, которые будем заполнять в макете построчно:
№3Для 2-х вариантов использования самописного шага - получения данных для макетов:
- с 1-ой строкой геркин-таблицы - возвращает "ТаблицаЗначений" из запроса на встроенном языке в функции "ДанныеКорректировкиБюджетовИзБазы".
- с >1-ой строками геркин-таблицы: возвращает Соответствие заголовков полей и их значений как массив структур функции "ТаблицаГеркенВМассивСтруктуру" для заполнения данных в "ДанныеКорректировкиБюджетов".
В этом контейнере определяется состав полей по обоим вариантам:



№4При генерации Excel файла, одновременно создётся эталонная таблица для будущего сравнения с заполненной после загрузки таблицей в документе. Результатом представления является "ПредставлениеТаблицыНаФорме" - массив, где каждый элемент это Соответствие пары ключ-значение (пример "Вид бюджета" = "Бюджет начислений") как эталон, сохраненный через контекст в переменную "Л_ПредставлениеТаблицыНаФорме". Поэтому, далее в шагах сценария, я сверяю её с реально получившейся после загрузки ТЧ Источника и Получателя:

№5Добавляем в библиотеку Vanessa Automation сохраненный самописный шаг *.epf.
Запускаем его в сценарии через прописанный синтаксис:
![]()
Выполнено тестирование: для макета сгенерированы данные для создания Excel файла, который далее загружен средствами шагов библиотеки фреймворка. Представление эталона сверено со сформированной таблицей документа:

Стоит обратить внимание на то, что поля по которым я заполняю макет - отделены вариантами их заполнения для сохранения эталонной таблицы с которой мы сравниваем получившуюся таблицу документа. В макете я заполняю не все поля (минимальный набор), чтобы проверить автозаполнение некоторых колонок в ТЧ документа. В варианте 1 - поля будут взяты из запроса на встроенном языке 1С, во 2-ом варианте - мы их передали как ключ-значение в геркин-таблице.
Похожие материалы (по тегу)
- Заполнить на форме внешней обработки таблицу значений из результата запроса
- Локальный запуск отчета Allure2 в Vanessa Automation
- Консоль запроса: подсчёт количества документов в группировке по детальным записям
- Отправка значений через Postman полученных от сайта-генератора (фио, инн, снилс и т.д.)
- Локальный запуск теста Vanessa add с генерацией отчета в Allure2