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

Функциональность 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 поддерживает несколько способов указания ссылок:

  1. Объект с полями{"type": "CatalogRef.Пользователи", "id": "ИмяПользователя"}
  2. Строка с типом"CatalogRef.Пользователи.ИмяПользователя"
  3. Простой идентификатор"ИмяПользователя" (для полей с известным типом)

Серверные выражения

Для вычисления значений на сервере 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 для написания первых тестов.