Запись файла на FTP сервер с архивацией ZIP из 1С 8.1,8.2

Представляю кусок готового кода записывающего файл, архивированный ZIP, на FTP сервер, который вы легко адаптируете под себя:


//Входные параметры:
// ИмяСервераFTP
// ПортFTP
// ИмяПользователяFTP
// ПарольFTP
// ТекущийКаталогFTP
// ИмяФайлаСообщения

Сервер = Новый FTPСоединение(СокрЛП(ИмяСервераFTP),ПортFTP,
                            
СокрЛП(ИмяПользователяFTP),
                            
СокрЛП(ПарольFTP),,Ложь);
Сервер.УстановитьТекущийКаталог(СокрЛП(ТекущийКаталогFTP));
МассивФТП=Сервер.НайтиФайлы(ИмяФайлаСообщения + ".zip",);
Если
МассивФТП.ВГраница()<> -1 Тогда
   
Сообщить("На FTP есть не загруженный файл. Отправку нового файла производить не нужно.");
    Возврат; 
// на сервере есть не загруженный файл
КонецЕсли;

ИмяВременнойПапки = ПолучитьИмяВременногоФайла();
СоздатьКаталог(ИмяВременнойПапки);
ИмяВременногоФайла = ИмяВременнойПапки + "\" + ИмяФайлаСообщения + ".xml";

//здесь надо произвести запись любых данных в ИмяВременногоФайла
//для отправки на FTP сервер

ИмяZIPФайла = ПолучитьИмяВременногоФайла(".zip");

ФайлАрхива = Новый ЗаписьZipФайла(ИмяZIPФайла, , ,
                                 
МетодСжатияZIP.Сжатие,
                                 
УровеньСжатияZIP.Оптимальный);
ФайлАрхива.Добавить(ИмяВременногоФайла,
                   
РежимСохраненияПутейZIP.СохранятьОтносительныеПути,
                   
РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
ФайлАрхива.Записать();
Сервер.Записать(ИмяZIPФайла,ИмяФайлаСообщения + ".zip");
УдалитьФайлы(ИмяВременногоФайла);
УдалитьФайлы(ИмяВременнойПапки);
УдалитьФайлы(ИмяZIPФайла);

Похожие материалы

Справочники

Документы

Отчеты

Обработки