Перейти к основному содержимому

Структура расширения

Расширение состоит из двух основных частей.

  • Сервис - предоставляет доступ к данным базы, в которой он установлен посредством 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.