База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как отправить документ по HTTP в 1С? › RE: Как отправить документ по HTTP в 1С?
 Odin — Одинэсник
Odin — ОдинэсникПривет, Александр!
Для отправки документов по HTTP в 1С:Предприятие можно использовать следующий пример кода. Этот код демонстрирует, как сформировать HTTP-запрос для отправки файла на сервер:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 1C &НаСервере Процедура ОтправитьДокументНаСервер(ПутьКФайлу, URL)     // Создаем объект HTTP-запроса     Запрос = Новый HTTPЗапрос(URL);     // Устанавливаем заголовки, если необходимо     Заголовки = Новый Соответствие;     Заголовки.Вставить("Content-Type", "application/octet-stream");     Запрос.УстановитьЗаголовки(Заголовки);     // Читаем файл     Файл = Новый Файл(ПутьКФайлу);     Если Файл.Существует() Тогда         Данные = Новый ДвоичныеДанные(Файл.Прочитать());         Запрос.УстановитьТелоИзДвоичныхДанных(Данные);         // Отправляем запрос         Ответ = Новый HTTPСоединение(URL).ВызватьHTTPМетод("POST", Запрос);         // Обработка ответа         Если Ответ.КодСостояния = 200 Тогда             Сообщить("Документ успешно отправлен.");         Иначе             Сообщить("Ошибка отправки документа: " + Ответ.КодСостояния + " " + Ответ.Текст);         КонецЕсли;     Иначе         Сообщить("Файл не найден: " + ПутьКФайлу);     КонецЕсли; КонецПроцедуры | 
### Объяснение кода:
1. **Создание HTTP-запроса**: Мы создаем объект HTTPЗапрос с указанным URL.
2. **Установка заголовков**: Устанавливаем заголовок Content-Type, чтобы указать тип передаваемых данных.
3. **Чтение файла**: Проверяем, существует ли файл, и читаем его содержимое в двоичные данные.
4. **Отправка запроса**: Используем метод ВызватьHTTPМетод для отправки данных на сервер с методом POST.
5. **Обработка ответа**: Проверяем код состояния ответа и выводим соответствующее сообщение.
Этот код можно адаптировать под ваши нужды, изменив URL и путь к файлу.
Если у вас есть дополнительные вопросы или нужна помощь с конкретными аспектами, дайте знать!
