Создание модуля HTTP-сервиса
Пошаговое создание модуля HTTP-сервиса в конфигураторе 1С
Предварительные условия
- 1Конфигуратор 1С запущен
- 2Справочники "Категории" и "Товары" созданы
- 3Перечисление "ЕдиницыИзмерения" настроено
Создание HTTP-сервиса
- 1В конфигураторе разверните дерево конфигурации
- 2Найдите узел "HTTP-сервисы"
- 3Щелкните правой кнопкой мыши и выберите "Добавить"
- 4Введите имя сервиса:ЧВТ2025API
- 5Нажмите Enter для подтверждения
Настройка свойств сервиса
- 1Выберите созданный HTTP-сервис в дереве
- 2В окне свойств установите "Корневой URL":/api/v1
- 3Установите "Повторное использование соединений": Использовать
- 4Сохраните изменения (Ctrl+S)
Создание URL-шаблонов
- 1Разверните созданный HTTP-сервис
- 2Щелкните правой кнопкой на "URL-шаблоны"
- 3Выберите "Добавить" → "URL-шаблон"
- 4Создайте шаблон для товаров:products
- 5Создайте шаблон для категорий:categories
Структура URL-шаблонов
HTTP-сервис: ЧВТ2025API
├── URL-шаблон: products
│ ├── HTTP-метод: GET (получение товаров)
│ ├── HTTP-метод: POST (создание товара)
│ └── HTTP-метод: PUT (обновление товара)
└── URL-шаблон: categories
├── HTTP-метод: GET (получение категорий)
├── HTTP-метод: POST (создание категории)
└── HTTP-метод: PUT (обновление категории)Создание HTTP-методов
- 1Щелкните правой кнопкой на URL-шаблоне "products"
- 2Выберите "Добавить" → "HTTP-метод"
- 3Установите HTTP-метод:GET
- 4Введите имя метода:ПолучитьТовары
- 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Сохраните конфигурацию (Ctrl+S)
- 2Обновите конфигурацию базы данных (F7)
- 3Запустите 1С в режиме предприятия
- 4Откройте браузер и перейдите по URL:http://localhost/api/v1/products
- 5Проверьте, что возвращается JSON с товарами