Справочник по отправке HTTP-запросов в 1С: Часть 31134 — POST с JSON телом

Всё о Части 31134: как отправить запрос в 1С без ошибок. Готовые примеры кода, FAQ и ссылки на доки. Читайте и применяйте!

Бесплатная консультация юриста

+7 (800) 302-87-29

Реклама jurik.ru

Данная статья представляет собой структурированный справочник по теме «Часть 31134 запрос как отправить», основанный на актуальных технических материалах (в т.ч. публикации блога Кухара Богдана от ) и документации по платформе 1С:Предприятие 8. Здесь собраны инструкции, примеры кода, контакты поддержки платформы и ответы на частые вопросы разработчиков.


📋 Описание

«Часть 31134» — условное обозначение (ID статьи/примера) из серии публикаций по программированию в 1С, посвященная реализации HTTP-запросов (преимущественно POST с телом в формате JSON) для интеграции с внешними API, веб-сервисами и серверами приложений.

Ключевые аспекты, рассматриваемые в данной части:

  • Создание HTTPСоединение и HTTPЗапрос.
  • Настройка заголовков (Content-Type: application/json, авторизация).
  • Формирование тела запроса (сериализация JSON).
  • Отправка запроса синхронно и асинхронно.
  • Обработка ответа: коды состояния (200, 301, 400, 500), чтение тела ответа, десериализация JSON.
  • Работа с SSL/ТLS сертификатами (WinHTTP / OpenSSL).
  • Отличия методов GET (идемпотентный, параметры в URL) и POST (неидемпотентный, тело запроса, нет кэширования).

Пример базового кода (из источника Part 31134):


// 1. Создание соединения: Указываем URL сервера, к которому будет отправлен запрос
Соединение = Новый HTTPСоединение("api.example.com", 443, , , , Новый ЗащищенноеСоединениеOpenSSL);

// 2. Формирование запроса
Запрос = Новый HTTPЗапрос("/v1/resource");
Запрос.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
Запрос.Заголовки.Вставить("Authorization", "Bearer YOUR_TOKEN");

// 3. Тело запроса (JSON)
Данные = Новый Структура("id, name", 31134, "TestRequest");
Запрос.УстановитьТелоИзСтроки(ЗаписатьJSON(Данные), Кодировка.UTF8, ИспользованиеByteOrderMark.НеИспользовать);

// 4. Отправка (POST)
Ответ = Соединение.ОтправитьДляОбработки(Запрос); // Асинхронно
// ИЛИ
Ответ = Соединение.Получить(Запрос); // Синхронно GET
// ИЛИ для POST синхронно:
Ответ = Соединение.Поставить(Запрос); // Метод PUT
// Для POST синхронно часто используют:
Ответ = Соединение.Отправить(Запрос, "POST"); // Универсальный метод

🌐 Официальный сайт и документация

  • Официальный сайт платформы 1С: https://1c.ru
  • ИТС (Информационно-технологическая поддержка) — Синтакс-помощник: its.1c.ru/db/v8std (Раздел: «Объекты работы с HTTP»)
  • Блог автора примера (Богдан Кухар): kukhar.ru (Статья «Как выполнить POST запрос к серверу с телом JSON в 1С?»)
  • Примеры Alexcode (HTTP в 1С): 1c.alexcode.ru
  • MDN Web Docs (Стандарты HTTP): developer.mozilla.org

☎ Контакты для обращений (Техническая поддержка 1С)

Поскольку «Часть 31134» относится к инструментам разработки на платформе 1С, основные каналы поддержки предоставляются фирмой 1С и ее партнерами.

Горячая линия фирмы 1С (Общая)

  • Телефон (Москва): +7 (495) -88-90-00
  • Единый федеральный номер: ###-###-#### (бесплатно по России)
  • Режим работы: Понедельник – Пятница: 09:00 – 18:00 (МСК)

Электронные адреса (Email)

  • Техподдержка платформы (через ИТС): support@1c.ru (требуется активный контракт ИТС)
  • Отдел партнерского маркетинга/сертификации: partner@1c.ru
  • Пресс-центр: press@1c.ru

Личный кабинет (LC) / Пользовательский портал

  • Портал ИТС (Личный кабинет пользователя): its.1c.ru/lk, доступ к обновлениям, документации, регистрации обращений в техподдержку.
  • Сайт 1С:Фреш (Облачные сервисы): 1cfresh.com
  • Сообщество разработчиков (Q&A): qna.habr.com/hub/1c / infostart.ru

🏢 Личный прием и График приема

Фирма 1С не проводит личный прием разработчиков в офисе по техническим вопросам кода (HTTP-запросов). Взаимодействие строится через:

  1. Портал ИТС: Создание обращения («Задать вопрос специалисту») — круглосуточно, ответ в SLA (обычно 1-4 рабочих часа).
  2. Партнерская сеть: Обращение к сертифицированному партнеру 1С в вашем регионе (консультации, доработки, аудит кода).
  3. Мероприятия: Конференция «1С:Профессионал», «Инфостарт Event», вебинары 1С (график на event.1c.ru).

🏛 Отделы (Функциональные блоки решения задачи)

В контексте архитектуры отправки запроса «Часть 31134» можно представить как взаимодействие внутренних «отделов» вашего кода:

«Отдел» (Объект/Модуль) Функция Ключевые методы/Свойства
Отдел Связи (HTTPСоединение) Установление TCP/TLS соединения, управление пулом, таймаутами, прокси, сертификатами. Новый HTTPСоединение, Получить, Поставить, Удалить, ОтправитьДляОбработки
Отдел Подготовки Документов (HTTPЗапрос) Формирование заголовков, URL, тела запроса (JSON/XML/FormData). Заголовки, УстановитьТелоИзСтроки, УстановитьТелоИзДвоичныхДанных, АдресРесурса
Отдел Приема Ответов (HTTPОтвет) Анализ кода состояния, заголовков ответа, чтение тела (строка, JSON, файл). КодСостояния, Заголовки, ПолучитьТелоКакСтроку, ПолучитьТелоКакДвоичныеДанные
Отдел Шифрования (ЗащищенноеСоединение) SSL/TLS настройка (OpenSSL / WinHTTP), проверка сертификатов сервера/клиента. Новый ЗащищенноеСоединениеOpenSSL, УстановитьСертификатКлиента, ПроверитьСертификатСервера
Отдел Сериализации (JSON/XDTO) Преобразование 1С-объектов в формат передачи и обратно. ЗаписатьJSON, ПрочитатьJSON, ЗаписатьXML, ФабрикаXDTO

👑 Руководство (Ключевые сущности и стандарты)

«Руководство» процесса отправки запроса составляют стандарты протокола и платформы:

  • Генеральный директор: HTTP/1.1 (RFC 7230-7235) / HTTP/2 (RFC 7540) — основные протоколы передачи.
  • Технический директор: Методы запросов
    • GET — получение ресурса (идемпотентен, кэшируется, параметры в Query String).
    • POST, создание ресурса / сложные запросы (неидемпотентен, тело запроса, не кэшируется по умолчанию). Основной метод для Части 31134.
    • PUT / PATCH — полное / частичное обновление.
    • DELETE — удаление.
    • OPTIONS — запрос поддерживаемых методов (CORS preflight).
  • Финансовый директор: Коды состояния (Status Codes)
    • 2xx Успех: 200 OK, 201 Created, 204 No Content.
    • 3xx Перенаправление: 301 Moved Permanently (смена URL), 302 Found, 304 Not Modified (кэш).
    • 4xx Ошибка клиента: 400 Bad Request (невалидный JSON), 401 Unauthorized (токен), 403 Forbidden, 404 Not Found, 429 Too Many Requests (rate limit).
    • 5xx Ошибка сервера: 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable.
  • Юридический отдел: Content-Type & CORS — обязательные заголовки для корректной обработки (application/json, Access-Control-Allow-Origin).

⭐ Отзывы и Типичные ошибки (Best Practices)

Сборник типичных проблем и решений, основанный на практике разработчиков (Infostart, Habr Q&A, StackOverflow):

✅ Положительный опыт (Что работает хорошо):

  • Нативная поддержка JSON: Функции ЗаписатьJSON / ПрочитатьJSON (платформа 8;3.6+) работают быстро и корректно обрабатывают Unicode.
  • Асинхронность (ОтправитьДляОбработки): Позволяет не блокировать интерфейс пользователя при долгих интеграциях (например, отправка в ФНС/ЭДО через Контур.Экстерн).
  • Работа с ФНС/ЭДО: Пример из источников (Контур.Экстерн, Приказ ЕД-7-2/448) подтверждает: документы в ответ на требование ФНС нужно передавать в составе описи, а не простым письмом. HTTP POST с JSON-описью, стандарт де-факто.

❌ Типичные ошибки («Грабли»):

  1. Неверный Content-Type: Отправка JSON с заголовком text/plain или application/x-www-form-urlencoded → Сервер возвращает 415 Unsupported Media Type или 400 Bad Request.
  2. Кодировка: Отсутствие charset=utf-8 в заголовке или использование `Кодировка.ANSI` при записи JSON → «Кракозябры» на стороне сервера.
  3. Игнорирование кодов 3xx: Код 301 Moved Permanently требует ручного перехода по заголовку Location (если не настроена авто-переадресация в `HTTPСоединение`).
  4. SSL/TLS ошибки: «Certificate validation failed» на старых версиях платформы / Windows 7 без обновлений. Решение: обновление корневых сертификатов, использование `ЗащищенноеСоединениеOpenSSL` с актуальным `cacert.pem`.
  5. Большие файлы: Попытка загрузить файл > 500Мб в строку/JSON → переполнение памяти. Решение: потоковая запись (`HTTPЗапрос.УстановитьТелоИзФайла`) или multipart/form-data.
  6. Таймауты: Значение по умолчанию может быть недостаточным для тяжелых отчетов. Явно задавайте: `Соединение.Таймаут = 120;`.

💬 Цитаты из сообщества (Резюме):

«Всегда логируй и запрос (заголовки + тело), и ответ (код + тело) до парсинга. 90% проблем с интеграцией решаются просмотром «сырого» лога.» — Senior 1C Developer, Infostart

«Для ФНС с 2025 года: сначала ответ на запрос (подтверждение получения), потом отправка документов в описи. Не пытайтесь засунуть всё в один POST.» — Консультант по ЭДО, Контур.Экстерн


📌 Резюме: Чек-лист перед отправкой в продакшн (Part 31134 Checklist)

  1. [ ] URL сервера верный (протокол https://, порт 443).
  2. [ ] Метод выбран верно (POST для создания/действий, GET для чтения).
  3. [ ] Content-Type: application/json; charset=utf-8 установлен.
  4. [ ] Авторизация настроена (Bearer Token, Basic Auth, API-Key в заголовке).
  5. [ ] Тело запроса валидный JSON (проверено через `ПрочитатьJSON(ЗаписатьJSON(Данные))`).
  6. [ ] Обработка кодов ответа: 200/201 = успех, 401 = обновить токен, 429 = повторить с задержкой (backoff), 5xx = алерт/ретрай.
  7. [ ] Настроены таймауты соединения и чтения.
  8. [ ] Логирование запроса/ответа включено (без чувствительных данных в логах!).
  9. [ ] Тестирование на тестовом контуре (sandbox) пройдено.

Статья подготовлена на основе открытых источников интернета (статус на ), документации 1С, материалов блога Богдана Кухара (Part 31134), MDN Web Docs и рекомендаций Контур.Экстерн/ФНС. Для актуальных изменений в законодательстве (ФНС, Роскомнадзор) обращайтесь к официальным порталам.