Работа с протоколом передачи файлов FTP в 1С
-

Работа с протоколом передачи файлов FTP в 1С

0
16103
15.09.2020 Юрий Сахно

Содержание:

1.       Обмен данными между системами и конфигурациями

2.       Создание FTP соединение.  


1.    Обмен данными между системами и конфигурациями


Работа с FTP данными в 1с необходима, когда имеется потребность в пересылке данных, например, обмен данными между системами и конфигурациями. По сути, FTP – это классический протокол, для передачи файлов по сети (File Transfer Protocol).


Чтобы начать производить какие-либо действия с файлами, надо для начала создать соединение. Объект, через который происходит соединение называется FTP соединение. Все параметры указываются вначале работы в конструкторе объекта. Имя файла, путь, размер и прочую информацию можно получить с помощью другого объекта 1С – это FTP Файл. Но об этом позже. Также существует возможность создать защищенное соединение с указанием конкретного сертификата клиента или сертификата удостоверяющего центра. 


2.    Создание FTP соединения


Рассмотрим для примера следующий листинг программы, который был составлен с помощью синтаксис-помощника и внедрен в код модуля. Обращу внимание, что Данная функция работает на клиенте.


&НаКлиенте

ФункцияПодключитьсяКFTPСерверу()

 

    Соединение =НовыйFTPСоединение(

"0.0.0.0",// адрес ftp сервера

21,// порт сервера

"user",// имя пользователя

"123",// пароль пользователя

Неопределено,// прокси не используется

Истина,// пассивный режим работы

0,// таймаут (0 - без ограничений)

Неопределено// незащищенное соединение

);

Возврат Соединение;

КонецФункции

 

Не все параметры являются обязательными: при самом простом раскладе достаточно адреса, логина и пароля. Порт сервера может принимать различные значения, но по умолчанию стандартно используются 21 для ftp и 990 для ftps. Соединение создается в результате выполнения кода. Часто бывает, что при создании подключения с минимальным набором образуется задержка. Такое случается при активном соединении. В этом случае я рекомендую попробовать пассивный режим работы с выставлением нужного атрибута в параметрах сетевого соединения.


Дальнейшая работа будет проходить с помощью установленного соединения. Обычно следующее действие – это поиск нужных файлов. Для этого надо использовать метод НайтиФайлы:  


ФайлыСервера=Соединение.НайтиФайлы("/data/1.txt");


При наличии файла результатом будет его получение в виде переменной типа массив файлыFTP. Для дальнейшего обращения к полученному файлу используем индекс, например:


ФайлСервера = ФайлыСервера[0];


Метод НайтиФайлы может иметь два параметра – маска файлов и путь. Например, для получения файлов типа txt из корневой папки будет использован код:


ФайлыСервера=Соединение.НайтиФайлы("/","*.txt");

Чтобы скачать файлы используется метод «Получить» c двумя параметрами: «Имя файла и путь откуда» и «Путь и имя файла куда».


Соединение.Получить("/folder_1/file_1.txt","C:\file1.txt");

Аналогично происходит передача файлов со схожими параметрами:


Соединение.Записать("/folder_1/file_2.txt","C:\file2.txt") 

Удаление файлов происходит одноименным методом с указанием двух параметров: «Путь» и «Маска удаляемых файлов». Если маску не указать, то удалиться папка. Если необходимо удалить только один файл, то в качестве единственного параметра нужно задать полный путь к этому файлу.


Соединение.Удалить("/Folder1","*.txt");//удалить txtфайлы
Соединение.Удалить("/Folder1/1.txt");// удалить файл
Соединение.Удалить("/Folder1");// удалить папку
 

Переименовать файл можно с помощью метода «Переместить» с указаниям параметров «старое имя» и «новое имя»:


Соединение.Переместить("/NewBin","/OldBin");


Специалист компании «Кодерлайн»

Юрий Сахно

 

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.