Структура расширения
Расширение состоит из двух основных частей.
- Сервис - предоставляет доступ к данным базы, в которой он установлен посредством rest api.
- Шаги Vanessa Automation - позволяет вызывать методы сервиса из тестовых сценариев.
Серверная часть - сервис взаимодействия с базой
HTTP-сервис: RAT
Все взаимодействие с базой реализуется через http-сервис, который предоставляет следующие шаблоны.
- Спецификация
[GET] /spec.json- возвращает описание сервиса в формате OpenAPI. - ИнтерфейсСпецификации
[GET] /spec-ui- возвращает html-страницу для отображения спецификации в дружелюбном виде. - API
[ANY] /*- универсальный шаблон, точка входа api. Через него проходят все запросы работы с базой.
Общие модули
За реализацию работы сервиса отвечают следующие общие модули.
Универсальные модули (реализующие базовые функции сервиса)
РатСервис- Реализует логику обработки запросов в сервис.РатСервисПереопределяемый- Позволяет переопределить логику работы сервиса.РатШаблоныАдресов- Реализует роутинг (на основании данных входящего запроса вызывает нужный метод) и работу с шаблонами.РатОбщий- Содержит различные общие методы и перечисления.РатOpenAPI- Предоставляет низкоуровневые методы для формирования описания в формате OpenAPI.РатСпецификация- Предоставляет более продвинутые методы для формирования спецификации.РатМетаданные- Работа с метаданными.РатПовтИсп- Используется для ускорения работы сервиса путем кеширования результатов методов. Всегда следует проверять наличие какого-либо метода здесь.РатПреобразования- Преобразование в/из DTO (промежуточные объекты для сериализации/десериализации объектов 1С). Содержит универсальные методы по разбору запроса и сбору тела.РатСериализация- Сериализация/десериализация JSON.РатИнформационнаяБаза- Реализует базовые методы (CRUD) работы с таблицами информационной базы: справочники, документы, регистры и т.д.РатИнформационнаяБазаПереопределяемый- Позволяет переопределить и дополнить логику работы с таблицами ИБ.
Модули реализующие экспортируемые функции сервиса.
Каждый модуль должен соответствовать предопределенной структуре и содержать:
- Методы, формирующие описания.
- Методы, регистрирующие обрабатываемые шаблоны http-запросов (шаблон описывает как вызвать ту или иную функцию через REST API).
- Методы, реализующие функциональность, обработчики запросов.
Модули, реализующие API:
РатИнформационнаяБазаСервис- Реализует функциональность просмотра, создания, редактирования и удаления данных в таблицах информационной базы: справочники, документы, регистры, движения, табличные части и т.д.РатРегламентныеЗадания- Реализует работу с регламентными заданиями.РатВиртуальныеТаблицы- Реализует работу с виртуальными таблицами регистров.РатОбмены- Реализует работу с планами обмена.РатПользователиИнформационнойБазы- Реализует работу с пользователями информационной базы (логинами).
Подсистемы
РатРасширениеФункционала- В подсистеме регистрируются все модули, реализующие API. Если реализовать модуль по "правилам" и включить в подсистемы, то расширение автоматически его найдет и будет использовать при обработке запросов.
Клиентская часть - шаги Vanessa Automation и помощники
Обработки
РатШагиVA- Предоставляет шаги для Vanessa Automation.РатГенераторСценариев- Помощник для генерации шагов создания данных на основе объектов информационной базы.
Общие модули шагов
РатШагиВанессыСервер- Вспомогательные методы, используемые для реализации шагов Vanessa Automation.РатШагиВанессыПовторногоИспользования- Вспомогательные методы, используемые для реализации шагов Vanessa Automation.