Каталог решений - Прием файлов с FTP-сервера и создание их резервных копии на сервере. 1С8

Прием файлов с FTP-сервера и создание их резервных копии на сервере. 1С8

Прием файлов с FTP-сервера и создание их резервных копии на сервере. 1С8

В наличии

Как осуществить загрузку файлов с FTP-сервера на платформе 1С8.

Категория:

Описание

Возникла необходимость в оперативном режиме получать сведения о платежах через ЕРИП (Единое расчетное информационное пространство). Т.к. являюсь программистом старой закалки (DOS и FoxPro), то изначально решил реализовать эту проблему с помощью BAT-ника, но XXI век и 64-разрядные Windows-ы вынуждая предостеречь «старичков» и обогатить знаниями «новичков» решил поделиться свои опытом и опубликовать простое и лаконичное решение по приему файлов с FTP-сервера.

Из кода программы будет понятно предназначение функции  FTPСоединение() и логика обмена информацией.

Все банально просто – файлы с FTP-сервера копируются во временную папку C:\TMP, а дальше по своему усмотрению можно делать с ними все что угодно. Но для подстраховки создаются резервные копии принимаемых файлов out/bak/.

Процедура ОсновныеДействияФормыЗагрузки(Кнопка)
Попытка
        
    FTPКаталогИсточник="out/";        
    КаталогПриемник = "C:\TMP\";
    
    IPCервера="10.10.10.10";
    Порт=21;
    Пользователь="user";
    Пароль="pass";
        
    Соединение = Новый FTPСоединение(IPCервера,Порт,Пользователь,Пароль, ,Ложь);
    Массив = Соединение.НайтиФайлы(FTPКаталогИсточник, "*.*");
    Если Не Массив.Количество() = 0 Тогда
        Для Каждого Стр Из Массив Цикл
            ФайлНаДиске = Новый Файл(КаталогПриемник+Стр.Имя);
            ИмяФайла = КаталогПриемник+Стр.Имя;
            Соединение.Получить(Стр.ПолноеИмя, ИмяФайла);
            Если ФайлНаДиске.Существует() Тогда // Файл принят
                Сообщить("Принят файл "+ФайлНаДиске.ПолноеИмя);
                // Перемещаем полученный файл в каталог резервных копий на FTP-сервере
                FTPФайлРезернойКопии=FTPКаталогИсточник+"bak/"+Стр.Имя;        
                Соединение.Переместить(FTPКаталогИсточник+Стр.Имя,FTPФайлРезернойКопии);
                КопияФайла = Соединение.НайтиФайлы(FTPФайлРезернойКопии);
                Если КопияФайла.Количество()=0 Тогда
                    Сообщить("Резервная копия "+FTPФайлРезернойКопии+ " не создана!!!");
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
    Иначе    
        Сообщить("Нет файлов!");
    КонецЕсли;             
Исключение
    Сообщить("Ошибка подключения FTP!!!");
КонецПопытки;        
Сообщить("--------------------------------------------------------");
КонецПроцедуры

 

has been added to your cart:
Оформление заказа