Содержание:
1. Обмен данными между системами и конфигурациями
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");
Специалист компании «Кодерлайн»
Юрий Сахно