# Форум 1С > Конфигурирование, программирование 1С - Предприятие >  Передача файла, используя HTTP POST запрос.

## Галина111

Здравствуйте. Нобходимо организовать отправку данных , используя HTTP POST запрос. Я не могу разобраться - как формируется этот запрос? Т.е. есть сформированный файл с определенным именем. Надо его отправить.



        HTTPСервер = "Сервер куда отправляю.ru";
        ПостФайл = "C:\data\файл_ккоторый_нужно_от  править.csv";
        ФайлРезультат = "C:\result.xml";              
        Попытка   
            Соединение = Новый HTTPСоединение(HTTPСервер,80,"ЛО  ГИН","ПАРОЛЬ",,Истина);
             Исключение             
  Сообщить(ОписаниеОшибки());
              Соединение = Неопределено;
      КонецПопытки;   
                    Если Соединение = Неопределено Тогда     
          Сообщить("Не удалось подключиться к серверу, указанному в настройке обмена! Обработка прервана!");

    КонецЕсли;   

    ИмяФайла = ФайлРезультат;  


  А далее - я должна применить - ОтправитьДЛяОбработка(HTTPЗ  прос, ФайлРезультата)

Как сформировать HTTPЗапрос для имеющегося для отправки файла?


-  Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет:  SSL connect error

----------


## avm3110

> -  Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет:  SSL connect error


Диагностика говорит, что у вас проблемы с установлением коннекта по SSL
А вы и действительно обращаетесь через http ("Соединение = Новый HTTPСоединение") через 80-й порт. Для установления связи через SSL нужно иметь соответствующий сертификат и "связь" идет посредством https

----------


## Галина111

Здравствуйте. Спасибо за ответ. А можно поподробнее - про сертификат. КУда и как этот сертификат нужно установить? Я вижу этот сертитификат, когда вхожу на этот зайт.

----------


## avm3110

> КУда и как этот сертификат нужно установить? Я вижу этот сертитификат, когда вхожу на этот зайт.


Почитайте:
http://1c-pro.ru/threads/priem-i-otp...y-s-ssl.51306/
http://infostart.ru/public/303044/
А можно и дальше поискать что интересное по данной теме
https://www.google.ru/webhp?sourceid...-8#q=ssl%201c8

Удачи

----------


## Галина111

Первые два- использование сторонней программы ? Ну и неужели Вы думаете, что я не искала в Интернете? Не поняла - как устанавливать сертификат.

----------


## Галина111

Я вошла на сайт, куда необходимо передавать файл, в сертификатате - у меня запустился Мастер экспорта сертификата, выбрала Экспорт в кодировке Base64 и экспортировала, сохранила на рабочий стол , как файл , например 1.cer. Затем, в конфе 1с открыла файл cacert.pem и этот файл - 1.cer и данный из него - скопировала в cacert.pem (добавила).
Но ошибку  (SSL - соединения все равно выдает ). Что не так?

----------


## avm3110

> Первые два- использование сторонней программы ?


Вы не указали какия у вас платформа 1С - 8.2 или 8.3
Если 8.2 и вам нужно работать через ssl, то без сторонней програмы вам не обойтись.


Хотя... Подождите.... Мне кажется мы друг-друга наверное не совсем понимаем.
Уточните - у вас не получается сформировать эл. письмо "внутри" корпоративной сети (к своему например ms exchange) или же отправить письмо "наружу" например на yandex.ru? или же вы хотите общаться с внешними сервисами?





> Не поняла - как устанавливать сертификат.


Чтобы "установить сертификат" вначале нужно его "получить".
В этой части сертификаты бывают 2-видов: самоподписанные ("самостоятельно сделанные") и полученные от удостоверяющего центра.
И только после того как у вас будет этот сертификат, вы сможете его установить

А так, может поможет тут - http://infostart.ru/public/79494/
или тут - http://its.1c.ru/db/metod8dev#content:1581:hdoc

----------


## Галина111

У меня  - 8.2 .Есть файл(файлы), которые я отправляю на некий сайт- они там попадают в их базу. Сейчас для этого я использую некий файл с расширением *.jar , который запускаю в командной строке с некими ключами и именем каталога, в котором лежат файлы. Все срабатывает, все передается. Теперь надо это же сделать из 1с.

----------


## avm3110

> Есть файл(файлы), которые я отправляю на некий сайт- они там попадают в их базу.


Т.е. вам нужно грузить информацию (файл) в сервис, который находится "снаружи".




> У меня - 8.2


А насколько сложно перейти на 8.3? Я сталкивался с проблемами при работе с сервисами на 8.2

Возможно вам поможет это - https://helpf.pro/faq/view/1298.html

----------


## Галина111

После произведенных действий с сертификатом - теперь выдает другую ошибку
{Форма.Форма.Форма(43)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Несоответствие типов (параметр номер '1'). И это правильно.
Я делаю
ИмяФайла = ФайлРезультат;
        ИмяПостФайла = ПостФайл;
        ФайлОтправки = Новый Файл(ИмяПостФайла);
        РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Разм  р());
        Заголовки = Новый Соответствие();
        Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
        Заголовки.Вставить("Content-Lenght", РазмерФайлаОтправки);
        Попытка
        Соединение.ОтправитьДляОб  аботки(ФайлОтправки,ИмяФа  ла);
        Исключение
                Сообщить(ОписаниеОшибки());
        КонецПопытки
ОтправитьДЛяОбработки(HTTPЗ  прос, ФайлРезультата)
Теперь не понимаю - как сделать этот HTTP-запрос.

----------


## Галина111

Не пойму = на сайте -https://helpf.pro/faq/view/1298.html  - я рассматриваю *Загрузка файлов (изображений, документов и т.п.) на веб-сервер методом POST.*
в Методе ОтправитьДляОбработки - 4 параметра.

----------


## avm3110

> в Методе ОтправитьДляОбработки - 4 параметра.


Это разбежка между разными релизами 8.2
Сейчас в синтакс-помощнике - 2 параметра, но раньше использовалось 4

----------


## Галина111

Здравствуйте. Продолжаю свои изыскания. В Помощнике - есть действительно 2 варианта -
HTTPСоединение (HTTPConnection)
ОтправитьДляОбработки (Post)
Вариант синтаксиса: По HTTP-запросу

Синтаксис:

ОтправитьДляОбработки(<HTTPЗ  апрос>, <ИмяВыходногоФайла>) 
Параметры:

<HTTPЗапрос> (обязательный)

Тип: HTTPЗапрос. 
HTTP-запрос. 
<ИмяВыходногоФайла> (необязательный)

Тип: Строка. 
Имя файла, в который следует записать тело ответа. 
Если не задан, то тело ответа может быть получено из объекта HTTPОтвет. 
Описание варианта метода:

Отправляет ресурс по HTTP-запросу. 
Вариант синтаксиса: По файлу-источнику и адресу ресурса

Синтаксис:

ОтправитьДляОбработки(<Ист  очник>, <АдресРесурса>, <ИмяВыходногоФайла>, <Заголовки>) 
Параметры:

<Источник> (обязательный)

Тип: Строка. 
Адрес файла-источника. 
<АдресРесурса> (обязательный)

Тип: Строка. 
Адрес ресурса на сервере, в который посылаются данные из источника. 
<ИмяВыходногоФайла> (обязательный)

Тип: Строка. 
Имя выходного файла, в который записываются полученные с сервера данные. 
<Заголовки> (необязательный)

Тип: Соответствие; Строка. 
Позволяет добавлять к запросу на сервер заголовки в виде строки, содержащей текстовые пары "Заголовок" - "Значение", разделяемые комбинацией символов ВК + ПС, или в виде cоответствия "Заголовок" - "Значение заголовка". 

Я взяла пример с рассматриваемой статьи -

Загрузка файлов (изображений, документов и т.п.) на веб-сервер методом POST.
Зачастую возникает необходимость загрузки файлов на веб-сервер. Это может быть, например, изображение к статье на сайте, или фотография для альбома, или архив для файлообменника. Ранее мы рассматривали передачу методом POST параметров или просто файлов. Таким же образом можно и передавать двоичные файлы. Но как быть, если файлы необходимо отправлять вместе с параметрами? Для возможности отправки файлов в этом случае используется HTTP заголовок ContentType:multipart/form-data. Следует заметить, что обычно таким способом передаются файлы через веб-браузеры. Т.е. когда на сайте вы выбираете файл и нажимаете кнопку "Загрузить", то файл передается способом описанным ниже. При таком способе сам файл также задается как переменная, т.е., например, файл передается через параметр file или image. Однако, мы не можем просто передать file=<Двоичные_Данные>. А вот как все таки передать файл мы и рассмотрим ниже.

Для возможности вместе с параметрами передавать и двоичные данные (файлы) необходимо сформировать HTTP заголовок Content-Type следующим образом:
Content-Type: multipart/form-data, boundary=<уникальные_данные>
где <уникальные_данные> - это любой набор цифр и/или символов, который будет служить для отделения значений друг от друга. Значение boundary должно быть уникальным в пределах пересылаемой информации, т.е. таких символов не должно встречаться в пересылаемых файлах и переменных.

Bounday можно сформировать, например, таким образом
Код 1C v 8.х
 boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");   


Все данные отделяются друг от друга разделителем boundary. Начинать разделитель нужно с "--":
Код
--<boundary>
Content-Disposition: form-data; name="<имя_переменной>"
<пустая_строка>
<значение_переменной> 
Для отправки файла необходимо еще добавить тип и имя файла:

--<boundary>
Content-Disposition: form-data; name="<имя_переменной>"; filename="<имя_файла>"
Content-Type: <тип_файла> (например image/jpeg или text/plain)
<пустая_строка>
<данные_файла>

В конце данных нужно закрыть разделитель, добавили в конце разделителя "--", т.е. вид будет "--<boundary>--".

Итак, например, нам нужно передать на веб-сервер текстовый файл через параметр "text", его описание через параметр "desc" и id пользователя через параметр "uid", для которого будет загружен наш файл.

Предположим, что файл содержит следующий текст:
Мороз и солнце; день чудесный!
Еще ты дремлешь, друг прелестный -
Пора, красавица, проснись:
Открой сомкнуты негой взоры
Навстречу северной Авроры,
Звездою севера явись!
Описание должно содержать "Стих А.С. Пушкина", а id пользователя равно "0123456". Тогда файл должен быть сформирован следующим образом (для упрощения предположим, что bounday мы уже сформировали и он равен "ccf8111910")
Код
--ccf8111910
Content-Disposition: form-data; name="uid"

0123456
--ccf8111910
Content-Disposition: form-data; name="desc"

Стих А.С. Пушкина
--ccf8111910
Content-Disposition: form-data; name="text"; filename="stih.txt"
Content-Type: text/plain

Мороз и солнце; день чудесный!
Еще ты дремлешь, друг прелестный -
Пора, красавица, проснись:
Открой сомкнуты негой взоры
Навстречу северной Авроры,
Звездою севера явись!
--ccf8111910--

А теперь перейдем непосредственно к 1С. Пусть у нас будет форма с реквизитами "Пользователь", "Описание" и "ИмяФайла". Реализуем отправку данных, описанным выше способом
Код 1C v 8.х
 // подготовим файл с данными для отправки
имяФайлаОтправки = ПолучитьимяВременногоФайл  а("txt");
Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");

ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтпр  вки);

// параметр "uid"
ЗаписьТекста.ЗаписатьСтро  у("--"+boundary);
ЗаписьТекста.ЗаписатьСтро  у("Content-Disposition: form-data; name=""uid""");
ЗаписьТекста.ЗаписатьСтро  у("");
ЗаписьТекста.ЗаписатьСтро  у(Пользователь);

// параметр "desc"
ЗаписьТекста.ЗаписатьСтро  у("--"+boundary);
ЗаписьТекста.ЗаписатьСтро  у("Content-Disposition: form-data; name=""desc""");
ЗаписьТекста.ЗаписатьСтро  у("");
ЗаписьТекста.ЗаписатьСтро  у(Описание);

// параметр "text"
ФайлДляПередачи = Новый ТекстовыйДокумент;
ФайлДляПередачи.Прочитать(  имяФайла);

ЗаписьТекста.ЗаписатьСтро  у("--"+boundary);
ЗаписьТекста.ЗаписатьСтро  у("Content-Disposition: form-data; name=""text""; filename=""stih.txt""");
ЗаписьТекста.ЗаписатьСтро  у("Content-Type: text/plain");
ЗаписьТекста.ЗаписатьСтро  у("");
ЗаписьТекста.Записать(Файл  ДляПередачи.ПолучитьТекст(  ));
ЗаписьТекста.ЗаписатьСтро  у("");

// закроем разделитель
ЗаписьТекста.ЗаписатьСтро  у("--"+boundary+"--");

ЗаписьТекста.Закрыть();

ФайлОтправки = Новый Файл(имяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Разм  р());

// передадим данные на сервер 
Заголовки = Новый Соответствие();
Заголовки.Вставить("Content-Type", "multipart/form-data, boundary="+boundary);
Заголовки.Вставить("Content-Lenght", РазмерФайлаОтправки);

Соединение = Новый HTTPСоединение("www.mysite.com");
Соединение.ОтправитьДляОб  аботки(имяФайлОтправки, "postFile.php", имяВыходногоФайла, Заголовки);  

Естественно - немного переделав. Вот что получилось.

    HTTPСервер = "сайт_куда_отправляю.ru";
    ИМяФайла = "C:\Каталог\файл.csv";
    ФайлРезультат = "C:\result.xml";

	    Попытка
                Соединение = Новый HTTPСоединение(HTTPСервер,80,"По  льзователь","Пароль",,Истина  );

		Исключение
                Сообщить(ОписаниеОшибки());
                Соединение = Неопределено;
        КонецПопытки;


	Если Соединение = Неопределено Тогда
                Сообщить("Не удалось подключиться к серверу, указанному в настройке обмена! Обработка прервана!");

    КонецЕсли;

имяФайлаОтправки = ПолучитьимяВременногоФайл  а("txt");
Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");

ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтпр  вки);

// параметр "uid"
ЗаписьТекста.ЗаписатьСтро  у("--"+boundary);
ЗаписьТекста.ЗаписатьСтро  у("Content-Disposition: form-data; name=""uid""");
ЗаписьТекста.ЗаписатьСтро  у("");
ЗаписьТекста.ЗаписатьСтро  у("Пользователь");

// параметр "desc"
ЗаписьТекста.ЗаписатьСтро  у("--"+boundary);
ЗаписьТекста.ЗаписатьСтро  у("Content-Disposition: form-data; name=""desc""");
ЗаписьТекста.ЗаписатьСтро  у("");
ЗаписьТекста.ЗаписатьСтро  у("Описание");

// параметр "text"
ФайлДляПередачи = Новый ТекстовыйДокумент;
ФайлДляПередачи.Прочитать(  имяФайла);

ЗаписьТекста.ЗаписатьСтро  у("--"+boundary);
ЗаписьТекста.ЗаписатьСтро  у("Content-Disposition: form-data; name=""csv""; filename=""файл.csv""");
ЗаписьТекста.ЗаписатьСтро  у("Content-Type: text/plain");
ЗаписьТекста.ЗаписатьСтро  у("");
ЗаписьТекста.Записать(Файл  ДляПередачи.ПолучитьТекст(  ));
ЗаписьТекста.ЗаписатьСтро  у("");

// закроем разделитель
ЗаписьТекста.ЗаписатьСтро  у("--"+boundary+"--");

ЗаписьТекста.Закрыть();

ФайлОтправки = Новый Файл(имяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Разм  р());

// передадим данные на сервер 
Заголовки = Новый Соответствие();
Заголовки.Вставить("Content-Type", "multipart/form-data, boundary="+boundary);
Заголовки.Вставить("Content-Lenght", РазмерФайлаОтправки);


Попытка
		Соединение.ОтправитьДляОб  аботки(ИмяФайлаОтправки,Ф  йлРезультат);
		Исключение
				Сообщить(ОписаниеОшибки());
		КонецПопытки

Дает ошибку 
{Форма.Форма.Форма(96)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Неправильный путь к файлу. В чем подвох?

----------


## avm3110

> Дает ошибку 
> {Форма.Форма.Форма(96)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Неправильный путь к файлу. В чем подвох?


А зайти отладчиком и посмотреть что там в переменной имяФайлаОтправки находиться?

----------


## Галина111

"C:\Users\xxxxx\AppData\Local\Temp\v8_B981_49.  txt" - вот что там находится, но такого файла - нет. Я не пойму саму суть - что там должно быть.

----------


## Галина111

так, нет вру - файл создается (он - временный и имя - все время разное), он просто по поиску имени - не ищется. Но в папке он есть - и там, действительно записана та информация, что и записали. Это раз. Тогда не пойму - почему такая ошибка? И еще далее - мы формируем Заголовок - который вообще - у меня не участвует нигде.

----------


## avm3110

> Тогда не пойму - почему такая ошибка?


Если я правильно читаю коменты, то Ключевая фраза
*// передадим данные на сервер* 
т.е. отправка идет с сервера, а ваш файл как я понимаю находится на вашей локальной машине.
Наверное пример давался на файловой базе (когда комп на все случаи жизни тот же самый), а вы небось работаете в клиент-сервере. Нет?




> И еще далее - мы формируем Заголовок - который вообще - у меня не участвует нигде


(задумчиво) Ну-у-у.. как бы это объяснить :blush:
*Синтаксис:*
ОтправитьДляОбработки(<HTTPЗ  апрос>, <ИмяВыходногоФайла>) 

А <HTTPЗапрос> - это ведь не файл, это некая структура, которая имеет как заголовок, так и "тело" куда вы должны "погрузить" свой файл для передачи.

Вот например что говорит нам синтаксис-помощник
*Пример:*

// инициализируем объект для записи XML

ИмяФайлаЗапроса = ПолучитьИмяВременногоФайл  а();
ОбъектЗапись = Новый ЗаписьXML;
ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("windows-1251", , Ложь);
ОбъектЗапись.ОткрытьФайл(И  мяФайлаЗапроса, ПараметрыЗаписиXML);
ОбъектЗапись.ЗаписатьОбъя  лениеXML();

// выводим корневой элемент Request

ОбъектЗапись.ЗаписатьНача  оЭлемента("Request");

// выводим элемент ClientInfo

ОбъектЗапись.ЗаписатьНача  оЭлемента("ClientInfo");
ОбъектЗапись.ЗаписатьАтри  ут("email", АдресОтправителя);
ОбъектЗапись.ЗаписатьКоне  Элемента();

Если ИмяФайлаСертификата <> Неопределено Тогда

    // кодируем в Base64 сертификат

    ДвДанные.Прочитать(ИмяФайл  аСертификата);
    ФайлСертификатаBase64 = ДвДанные.ПолучитьСтрокуBase6  4();

    // выводим элемент Certificate

    ОбъектЗапись.ЗаписатьНача  оЭлемента("Certificate");
    ОбъектЗапись.ЗаписатьТекс  (ФайлСертификатаBase64);
    ОбъектЗапись.ЗаписатьКоне  Элемента();

КонецЕсли;

Если ИмяФайлаЗашифрованногоКон  тейнера <> Неопределено Тогда

    // кодируем в Base64 зашифрованный контейнер

    ДвДанные.Прочитать(ИмяФайл  аЗашифрованногоКонтейнера  );
    ФайлЗашифрованногоКонтейн  ераBase64 = ДвДанные.ПолучитьСтрокуBase6  4();

    // выводим элемент Data

    ОбъектЗапись.ЗаписатьНача  оЭлемента("Data");
    ОбъектЗапись.ЗаписатьТекс  (ФайлЗашифрованногоКонтей  нераBase64);
    ОбъектЗапись.ЗаписатьКоне  Элемента();

КонецЕсли;

// записываем конец для корневого элемента

ОбъектЗапись.ЗаписатьКоне  Элемента();

ОбъектЗапись.Закрыть();

АдресСервераОнлайнПроверк  и = "onlinefc.taxcom.ru";
РесурсНаСервере = "/online_fc/online_fc.dll" + ?(ПолучитьСертификат, "?IncludeCertificate", "");

// устанавливаем соединение с сервером

Попытка
    Соединение = Новый HTTPСоединение(АдресСервера  нлайнПроверки, , , , Прокси);
Исключение
    Сообщить("Не удалось установить соединение с сервером онлайн-проверки:" 
        + Символы.ПС + ИнформацияОбОшибке().Описа  ие, СтатусСообщения.Важное);
    Возврат;
КонецПопытки;

// посылаем запрос

Попытка
    HTTPЗапрос = Новый HTTPЗапрос(РесурсНаСервере);
    HTTPЗапрос.УстановитьИмяФай  аТела(ИмяФайлаЗапроса);
    Результат  = Соединение.ОтправитьДляОб  аботки(HTTPЗапрос);
    Соединение = Неопределено;
    Если Результат.КодСостояния > 299 Тогда
       Сообщить("Код состояния " + Результат.КодСостояния + ". Проверка не выполнена");
    КонецЕсли;
Исключение
    Сообщить(ИнформацияОбОшиб  е().Описание, СтатусСообщения.Важное);
КонецПопытки;


Т.е. вам нужно читать про HTTPЗапрос (там и адрес ресурса и заголовок и тело)

----------


## Галина111

Ну я и прошу помощи - в составлении HTTPзапроса для отправки файла, поскольку в ранее рассмотренных примерах - я ничего не поняла.

----------


## Галина111

В приведенном выше примере - мне как-бы все понятно и ясно - кроме 2 заключительных строк.


Соединение = Новый HTTPСоединение("www.mysite.com");
Соединение.ОтправитьДляОб  аботки(имяФайлОтправки, "postFile.php", имяВыходногоФайла, Заголовки);   

"postFile.php" - что это, где это?

----------


## avm3110

> прошу помощи - в составлении HTTPзапроса для отправки файла, поскольку в ранее рассмотренных примерах - я ничего не поняла.


Давайте по "кусочкам"

Как делать заголовки - разобрались?
Как работать с сертификатом - разобрались?
С параметрами ОтправитьДляОбработки - разобрались?
Остались вопросы по созданию HTTPЗапроса - правильно?

Попробуем опять:

// передадим данные на сервер 
НашиСозданныеЗаголовки= Новый Соответствие();
НашиСозданныеЗаголовки.Вс  авить("Content-Type", "multipart/form-data, boundary="+boundary);

АдресСервераОнлайнПроверк  и = "onlinefc.taxcom.ru";
РесурсНаСервере = "/online_fc/online_fc.dll" + ?(ПолучитьСертификат, "?IncludeCertificate", "");

// устанавливаем соединение с сервером

Попытка
Соединение = Новый HTTPСоединение(АдресСервера  лайнПроверки, , , , Прокси);
Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:" 
+ Символы.ПС + ИнформацияОбОшибке().Описа  ие, СтатусСообщения.Важное);
Возврат;
КонецПопытки;

// посылаем запрос

HTTPЗапрос = Новый HTTPЗапрос(РесурсНаСервере);
HTTPЗапрос.Заголовки(НашиСоз  данныеЗаголовки);
HTTPЗапрос.УстановитьИмяФай  Тела(ИмяФайлаЗапроса);
Результат = Соединение.ОтправитьДляОб  ботки(HTTPЗапрос);

Соединение = Неопределено;
Если Результат.КодСостояния > 299 Тогда
Сообщить("Код состояния " + Результат.КодСостояния + ". Проверка не выполнена");
КонецЕсли;
Исключение
Сообщить(ИнформацияОбОшиб  е().Описание, СтатусСообщения.Важное);
КонецПопытки;

----------


## avm3110

> В приведенном выше примере - мне как-бы все понятно и ясно - кроме 2 заключительных строк.
> 
> Соединение.ОтправитьДляОб  аботки(имяФайлОтправки, "postFile.php", имяВыходногоФайла, Заголовки);   
> 
> "postFile.php" - что это, где это?


У вас какой релиз платформы? (полное количество цифр)

Зайдите в синтаксис помощник и посмотрите какое количество параметров у ОтправитьДляОбработки
Если два, то первый параметр это не "строка", а объект "НТТРЗапрос"
И мы "заворачиваем" все наши параметры в этот объект

HTTPЗапрос (HTTPRequest)
Описание:

Предназначен для описания HTTP-запросов, отправляемых через объект HTTPСоединение. Позволяет задать адрес запрашиваемого ресурса, заголовки и тело запроса.

----------

