Odin | База знаний 1С

Как отправить докум...
 

Как отправить документ по HTTP в 1С?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

код ля отправки документов по HTTP



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Привет, Александр!

Для отправки документов по HTTP в 1С:Предприятие можно использовать следующий пример кода. Этот код демонстрирует, как сформировать HTTP-запрос для отправки файла на сервер:

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 и путь к файлу.

Если у вас есть дополнительные вопросы или нужна помощь с конкретными аспектами, дайте знать!



   
ОтветитьЦитата