Создание модуля HTTP-сервиса

Пошаговое создание модуля HTTP-сервиса в конфигураторе 1С

Предварительные условия

  1. 1Конфигуратор 1С запущен
  2. 2Справочники "Категории" и "Товары" созданы
  3. 3Перечисление "ЕдиницыИзмерения" настроено

Создание HTTP-сервиса

  1. 1В конфигураторе разверните дерево конфигурации
  2. 2Найдите узел "HTTP-сервисы"
  3. 3Щелкните правой кнопкой мыши и выберите "Добавить"
  4. 4Введите имя сервиса:ЧВТ2025API
  5. 5Нажмите Enter для подтверждения

Настройка свойств сервиса

  1. 1Выберите созданный HTTP-сервис в дереве
  2. 2В окне свойств установите "Корневой URL":/api/v1
  3. 3Установите "Повторное использование соединений": Использовать
  4. 4Сохраните изменения (Ctrl+S)

Создание URL-шаблонов

  1. 1Разверните созданный HTTP-сервис
  2. 2Щелкните правой кнопкой на "URL-шаблоны"
  3. 3Выберите "Добавить" → "URL-шаблон"
  4. 4Создайте шаблон для товаров:products
  5. 5Создайте шаблон для категорий:categories

Структура URL-шаблонов

HTTP-сервис: ЧВТ2025API
├── URL-шаблон: products
│   ├── HTTP-метод: GET (получение товаров)
│   ├── HTTP-метод: POST (создание товара)
│   └── HTTP-метод: PUT (обновление товара)
└── URL-шаблон: categories  
    ├── HTTP-метод: GET (получение категорий)
    ├── HTTP-метод: POST (создание категории)
    └── HTTP-метод: PUT (обновление категории)

Создание HTTP-методов

  1. 1Щелкните правой кнопкой на URL-шаблоне "products"
  2. 2Выберите "Добавить" → "HTTP-метод"
  3. 3Установите HTTP-метод:GET
  4. 4Введите имя метода:ПолучитьТовары
  5. 5Повторите для других методов (POST, PUT)

Пример кода для метода GET товаров

// HTTP-метод: GET /api/v1/products
Функция ПолучитьТовары(Запрос)
    
    // Создаем ответ
    Ответ = Новый HTTPСервисОтвет(200);
    
    // Получаем товары из справочника
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    Товары.Ссылка КАК Ссылка,
    |    Товары.Наименование КАК Наименование,
    |    Товары.Артикул КАК Артикул,
    |    Товары.Цена КАК Цена,
    |    Товары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    Товары.Категория КАК Категория
    |ИЗ
    |    Справочник.Товары КАК Товары
    |ГДЕ
    |    НЕ Товары.ПометкаУдаления";
    
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    
    // Формируем JSON
    МассивТоваров = Новый Массив;
    
    Пока Выборка.Следующий() Цикл
        СтруктураТовара = Новый Структура;
        СтруктураТовара.Вставить("id", Строка(Выборка.Ссылка.УникальныйИдентификатор()));
        СтруктураТовара.Вставить("name", Выборка.Наименование);
        СтруктураТовара.Вставить("article", Выборка.Артикул);
        СтруктураТовара.Вставить("price", Выборка.Цена);
        СтруктураТовара.Вставить("unit", Строка(Выборка.ЕдиницаИзмерения));
        СтруктураТовара.Вставить("categoryId", Строка(Выборка.Категория.УникальныйИдентификатор()));
        
        МассивТоваров.Добавить(СтруктураТовара);
    КонецЦикла;
    
    // Преобразуем в JSON
    ЗаписьJSON = Новый ЗаписьJSON;
    СтрокаJSON = "";
    ЗаписьJSON.УстановитьСтроку(СтрокаJSON);
    ЗаписатьJSON(ЗаписьJSON, МассивТоваров);
    
    Ответ.УстановитьТелоИзСтроки(СтрокаJSON);
    Ответ.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
    
    Возврат Ответ;
    
КонецФункции

Важные моменты

  • Используйте уникальные идентификаторы для связи объектов
  • Всегда устанавливайте правильный Content-Type для JSON
  • Проверяйте входящие данные перед обработкой
  • Обрабатывайте ошибки и возвращайте соответствующие HTTP-коды

Тестирование сервиса

  1. 1Сохраните конфигурацию (Ctrl+S)
  2. 2Обновите конфигурацию базы данных (F7)
  3. 3Запустите 1С в режиме предприятия
  4. 4Откройте браузер и перейдите по URL:http://localhost/api/v1/products
  5. 5Проверьте, что возвращается JSON с товарами