Функциональность RAT
RAT (Remote API for Testing) — это расширение для платформы 1С:Предприятие, которое предоставляет мощные инструменты для автоматизации тестирования интеграции с внешними системами. Расширение позволяет создавать REST API для работы с данными информационной базы и предоставляет готовые шаги для написания тестов в Vanessa Automation.
Основные возможности
Сервис REST API
Основной компонент RAT — это REST-сервис, который предоставляет стандартизированный интерфейс для работы с данными информационной базы 1С:
- OpenAPI v3 — полное описание API в стандартном формате
- RESTful архитектура — использование стандартных HTTP-методов (GET, POST, PUT, DELETE)
- JSON формат — обмен данными в универсальном формате
- Веб-интерфейс — удобный просмотр спецификации API через RapiDoc
Работа с данными
RAT поддерживает работу с широким спектром объектов метаданных 1С:
| Тип объекта | Получение списка | Получение объекта | Создание | Изменение | Удаление |
|---|---|---|---|---|---|
| Справочники | ✅ | ✅ | ✅ | ✅ | ✅ |
| Документы | ✅ | ✅ | ✅ | ✅ | ✅ |
| Перечисления | ✅ | ✅ | ❌ | ❌ | ❌ |
| Планы видов характеристик | ✅ | ✅ | ✅ | ✅ | ✅ |
| Планы счетов | ✅ | ✅ | ✅ | ✅ | ✅ |
| Регистры сведений | ✅ | ✅ | ✅ | ✅ | ✅ |
| Регистры накопления | ✅ | ✅ | ❌ | ❌ | ❌ |
| Бизнес-процессы | ✅ | ✅ | ✅ | ✅ | ✅ |
| Задачи | ✅ | ✅ | ✅ | ✅ | ✅ |
| Планы обмена | ✅ | ✅ | ❌ | ❌ | ❌ |
Регламентные задания
Специальные возможности для работы с регламентными заданиями:
- Получение списка с фильтрацией
- Мониторинг состояния заданий
- Запуск, остановка и перезапуск заданий
- Гибкая система идентификации заданий
Подробнее о регламентных заданиях →
Пользователи информационной базы
RAT предоставляет специальные возможности для работы с пользователями информационной базы:
- Создание пользователей — регистрация новых пользователей с настройкой параметров
- Получение данных — просмотр информации о пользователях (роли, настройки, аутентификация)
- Изменение параметров — обновление настроек пользователей (роли, интерфейс, язык)
- Управление аутентификацией — настройка стандартной, OpenID и Windows-аутентификации
Поддерживаемые операции:
PUT /Пользователи— создание нового пользователяGET /Пользователи/{name}— получение данных пользователяPUT /Пользователи/{name}— изменение параметров пользователя
Особенности:
- Валидация параметров пользователя
- Поддержка различных типов аутентификации
- Работа с ролями и настройками интерфейса
Планы обмена
Специализированные возможности для работы с планами обмена данными:
- Регистрация изменений — добавление объектов в план обмена
- Снятие с регистрации — удаление объектов из плана обмена
- Мониторинг состояния — просмотр статуса регистрации объектов
- Сводная информация — получение статистики по узлам обмена
Поддерживаемые операции:
GET /{ТипМетаданных}/{ВидМетаданных}/{ИдентификаторУзла}/Изменения— получение сводки измененийPUT /{ТипМетаданных}/{ВидМетаданных}/{ИдентификаторУзла}/Изменения— регистрация измененийDELETE /{ТипМетаданных}/{ВидМетаданных}/{ИдентификаторУзла}/Изменения— снятие с регистрацииGET /{ТипМетаданных}/{ВидМетаданных}/{ИдентификаторУзла}/Изменения/{ИдентификаторОбъекта}— статус объекта
Статусы регистрации:
- Незарегистрирован — объект не зарегистрирован на узле
- Зарегистрирован — объект зарегистрирован, но не отправлен
- Отправлен — объект отправлен в сообщении с указанным номером
Интеграция с Vanessa Automation
RAT предоставляет готовые шаги для написания тестов в Vanessa Automation:
- Базовые HTTP-запросы — выполнение запросов к любым REST API
- Шаги-обертки — специализированные шаги для работы с данными 1С
- Формирование данных — создание сложных структур данных
- Работа с ответами — извлечение и проверка данных из ответов
Подробнее об интеграции с Vanessa Automation →
Форматы данных
Примитивные типы
- Числа — без пробелов, разделитель точка
- Даты — формат ISO 8601 (
2005-08-09T18:31:42) - Булевы значения —
true/false,Да/Нет,1/0
Ссылки на объекты
RAT поддерживает несколько способов указания ссылок:
- Объект с полями —
{"type": "CatalogRef.Пользователи", "id": "ИмяПользователя"} - Строка с типом —
"CatalogRef.Пользователи.ИмяПользователя" - Простой идентификатор —
"ИмяПользователя"(для полей с известным типом)
Серверные выражения
Для вычисления значений на сервере 1С используется конструкция Вычислить(<Выражение>):
| Дата | Вычислить(ТекущаяДата()) |
| Сумма | Вычислить(100 * 20) |
Сериализация данных
RAT использует JSON как основной формат сериализации данных:
- Примитивные типы — прямое преобразование в JSON
- Ссылочные типы — объекты с полями
type,id,presentation - Коллекции — массивы и объекты JSON
- Таблицы значений — массивы объектов
Система автоматически определяет типы данных и применяет соответствующие методы сериализации/десериализации.
Экспортируемые шаги
RAT предоставляет более 80 готовых шагов для Vanessa Automation, включая:
Работа с данными 1С
- Поиск записей по условиям
- Получение, создание, изменение и удаление объектов
- Работа с движениями документов
- Проведение и отмена проведения документов
HTTP-запросы
- Выполнение запросов к внешним системам
- Настройка заголовков и параметров
- Обработка ответов и извлечение данных
Формирование данных
- Создание структур и таблиц данных
- Работа с переменными и контекстом выполнения
- Проверки и валидация данных
Полный список экспортируемых шагов →
Примеры использования
Создание документа через REST API
POST /Документ/ПКО
Content-Type: application/json
{
"data": {
"Контрагент": "CatalogRef.Контрагенты.12345",
"Дата": "2023-01-01T00:00:00",
"Товары": [
{
"Номенклатура": "CatalogRef.Номенклатура.67890",
"Количество": 10,
"Цена": 100.50
}
]
},
"writeSettings": {
"writeMode": "Posting"
}
}
Создание пользователя информационной базы
PUT /Пользователи
Content-Type: application/json
{
"data": {
"Имя": "ИмяПользователя",
"ПолноеИмя": "Пример пользователя",
"АутентификацияСтандартная": true,
"Пароль": "example_password",
"Роли": ["Пользователь", "Оператор"],
"ОсновнойИнтерфейс": "ОбычныеФормы",
"Язык": "ru"
}
}
Регистрация изменений в плане обмена
PUT /ПланОбмена/ОбменСПоставщиками/12345/Изменения
Content-Type: application/json
{
"data": [
"Документы.ПоступлениеТоваровУслуг.1234567890",
"Справочники.Контрагенты.67890"
]
}
Получение статуса объекта в плане обмена
GET /ПланОбмена/ОбменСПоставщиками/12345/Изменения/Документы.ПоступлениеТоваровУслуг.1234567890
Ответ:
{
"Статус": "Зарегистрирован",
"НомерСообщения": null
}
Тест в Vanessa Automation
Сценарий: Создание документа
Дано Я устанавливаю настройки подключения к внешней системе "RAT_REST"
| Сервер | localhost:8080 |
| Схема | http |
Когда Я создаю запись "Документ.ПКО" внешней системы "RAT_REST"
| Контрагент | CatalogRef.Контрагенты.12345 |
| Дата | 2023-01-01T00:00:00 |
И Я провожу документ "ПКО" внешней системы "RAT_REST"
Тогда Код ответа равен "200"
Заключение
RAT предоставляет комплексное решение для автоматизации тестирования и интеграции с системами 1С. Расширение сочетает в себе мощный REST API с удобными инструментами для написания тестов, что делает его незаменимым инструментом для разработчиков и тестировщиков.
Основные преимущества:
- Стандартизация — использование общепринятых стандартов (REST, JSON, OpenAPI)
- Удобство — готовые шаги для популярных инструментов тестирования
- Гибкость — поддержка различных форматов данных и способов интеграции
- Надежность — проверенная архитектура и обработка ошибок
Начните изучение с раздела Сервис для понимания основных возможностей API, или сразу переходите к интеграции с Vanessa Automation для написания первых тестов.