Отладка HTTP-запроса через УИ_._От
Сценарий. В коде 1С выполняется HTTP-запрос к внешнему API, но ответ приходит неожиданный. Нужно перехватить запрос, увидеть реальные заголовки, тело запроса и ответ сервера — без изменения кода и без остановки отладчика.
Шаг 1. Написать HTTP-запрос в коде
Процедура ОтправитьДанныеВСервис()
СоединениеHTTP = Новый HTTPСоединение("api.example.com", 443,,,, 30, Новый ЗащищенноеСоединениеOpenSSL());
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Authorization", "Bearer eyJhbGciOiJIUzI1NiIs...");
HTTPЗапрос = Новый HTTPЗапрос("/v1/orders", Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки(
"{""customer"": ""12345"", ""amount"": 1500}",
КодировкаТекста.UTF8
);
Ответ = СоединениеHTTP.ВызватьHTTPМетод("POST", HTTPЗапрос);
Если Ответ.КодСостояния = 200 Тогда
Сообщить("Успешно: " + Ответ.ПолучитьТелоКакСтроку());
Иначе
Сообщить("Ошибка: " + Ответ.КодСостояния);
КонецЕсли;
КонецПроцедуры
Шаг 2. Добавить отладку
Достаточно добавить одну строку перед выполнением запроса — вызов УИ_._От с объектом HTTPЗапрос и соединением:
Процедура ОтправитьДанныеВСервис()
СоединениеHTTP = Новый HTTPСоединение("api.example.com", 443,,,, 30, Новый ЗащищенноеСоединениеOpenSSL());
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Authorization", "Bearer eyJhbGciOiJIUzI1NiIs...");
HTTPЗапрос = Новый HTTPЗапрос("/v1/orders", Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки(
"{""customer"": ""12345"", ""amount"": 1500}",
КодировкаТекста.UTF8
);
// Перехватить запрос для отладки
УИ_._От(HTTPЗапрос, СоединениеHTTP, "Создание заказа в API");
Ответ = СоединениеHTTP.ВызватьHTTPМетод("POST", HTTPЗапрос);
// ...
Порядок параметров в УИ_._От, начиная со второго, произвольный — можно передать HTTPСоединение и строку комментария в любом порядке. Система сама определит типы объектов.
Шаг 3. Открыть данные в тонком клиенте
После выполнения кода откройте форму Данные для отладки через меню Универсальные инструменты → Данные для отладки. Найдите запись с комментарием «Создание заказа в API».
Шаг 4. Просмотр результата
В открывшейся форме доступны:
- URL — полный адрес ресурса с учётом query-параметров
- Метод — HTTP-метод (GET, POST, PUT и т.д.)
- Заголовки запроса — все переданные заголовки
- Тело запроса — содержимое запроса (строка, JSON, двоичные данные)
- Заголовки ответа — заголовки, полученные от сервера
- Тело ответа — содержимое ответа сервера
- Код состояния — HTTP-статус ответа
- Длительность — время выполнения запроса
Дополнительные сценарии
Отладка без соединения
Если нужно увидеть только структуру запроса (заголовки и тело) без выполнения:
УИ_._От(HTTPЗапрос, "Проверка структуры запроса");
Сохранение данных отладки в файлы
Используйте УИ_._ОтФ для сохранения данных не в справочник, а в файлы на сервере:
УИ_._ОтФ(HTTPЗапрос, СоединениеHTTP, "Диагностика интеграции");
Открытие консоли HTTP напрямую
Если вы уже находитесь в отладчике и хотите открыть консоль HTTP с произвольными данными:
УИ_._От(HTTPЗапрос);
На толстом клиенте консоль HTTP-запросов откроется сразу с заполненными данными. На тонком или веб-клиенте данные сохранятся в справочник для последующего просмотра.
Связанные разделы
- Отладка из кода — подробная документация по
УИ_._От - Функции режима отладки — API всех функций отладки
- Консоль HTTP-запросов — описание инструмента
- Данные для отладки — описание инструмента