1С 8.3 FTP - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 FTP

Реклама:
В 1С 8.3 FTP используется для организации обмены файлами между компьютерами по локальной сети и интернету. FTP-сервер - это сервер, работающий по протоколу передачи файлов File Transfer Protocol (семейство TCP/IP), который часто используется разными клиентами и программами, в том числе и 1С 8.3 для выгрузки файлов для интернет-магазинов, корпоративных сайтов, прайс-листов, обмена документов, хранения архивов. Главная особенность протокола FTP в том, что он использует множественное (как минимум - двойное) подключение.

Отличие FTP от HTTP:
  • Основан на сессиях работы
  • Встроена аутентификация пользователей
  • Изначально предусмотрен для передачи
  • Модель соединения - двойное подключение
  • Поддерживает текстовый и двоичный режимы передачи
  • Поддерживает операции над файловой системой
Подключение к FTP серверу в 1С 8.3:
&НаКлиенте
Функция ПодключениеКFTPСерверу()

   
// Параметры: IP-адрес, порт, имя, пароль, прокси, пассивный режим, таймаут, незащищенное соединение
   
FTPСоединение = Новый FTPСоединение("192.168.1.100", 21, "user", "123", Неопределено, Истина, 0, Неопределено);
   
// Если у ftp сервера нет возможности обращаться к нам - следует использовать пассивный режим работы.

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

КонецФункции
Поиск файлов по FTP в 1С 8.3:
&НаКлиенте
Процедура ПоискФайловПоFTP(Команда)

   
FTPСоединение = ПодключениеКFTPСерверу();// См.выше
   
FTPСоединение.УстановитьТекущийКаталог("/");

   
// Поиск файла по его полному адресу (используются прямые слеши!)
   
Файлы = FTPСоединение.НайтиФайлы("/BACKUP/05_04_2020.xml");
    Если
Файлы.Количество() > 0 Тогда

       
Файл = Файлы[0];

       
// Получение информации о файле:
       
Сообщить("Имя файла: " + Файл.ПолноеИмя);
       
Сообщить("Это файл: " + Файл.ЭтоФайл());
       
Сообщить("Это каталог: " + Файл.ЭтоКаталог());
       
Сообщить("Размер файла/каталога: " + Файл.Размер() + " байт");
       
Сообщить("...только чтение: " + Файл.ПолучитьТолькоЧтение());
       
Сообщить("...скрытый: " + Файл.ПолучитьНевидимость());
       
Сообщить("...время изменения: " + Файл.ПолучитьВремяИзменения());

    КонецЕсли;

   
// Поиск папок и файлов в корневом каталоге
    // Параметры: Каталог поиска "/"-корень, любые файлы (можно задать маску *)
   
Файлы = FTPСоединение.НайтиФайлы("/", "*");
    Для Каждого
Файл Из Файлы Цикл
       
Сообщить(Файл.ПолноеИмя);// Показ всех файлов в цикле
   
КонецЦикла;

   
// Поиск файлов с расширением .xml в папке BACKUP
   
Файлы = FTPСоединение.НайтиФайлы("/BACKUP","*.xml");

КонецПроцедуры
Скачивание файлов по FTP в 1С 8.3:
&НаКлиенте
Процедура СкачиваниеФайловПоFTP(Команда)

   
FTPСоединение = ПодключениеКFTPСерверу();// См.выше
   
FTPСоединение.УстановитьТекущийКаталог("/");

   
// Внимание: Используются прямые слеши!
   
ОткудаЧтоКачаем="BACKUP/05_04_2020.xml";
   
КудаЧтоКачаем=КаталогДокументов() + "/05_04_2020.xml";

   
FTPСоединение.Получить(ОткудаЧтоКачаем, КудаЧтоКачаем);
   
Сообщить("Файл скачан с FTP и сохранен в " + КудаЧтоКачаем);

КонецПроцедуры
Передача файлов по FTP в 1С 8.3:
&НаКлиенте
Процедура ПередачаФайловПоFTP(Команда)

   
FTPСоединение = ПодключениеКFTPСерверу();// См.выше
   
FTPСоединение.УстановитьТекущийКаталог("/");

   
// Создание  файла
   
ТекстФайл = Новый ТекстовыйДокумент;
   
ТекстФайл.УстановитьТекст("Тестирование работы с FTP");
   
ТекстФайл.Записать(КаталогДокументов() + "\Test_05_04_2020.txt",КодировкаТекста.UTF8);

   
// Внимание: Используются прямые слеши!
   
ОткудаЧтоКачаем=КаталогДокументов() + "/Test_05_04_2020.txt";
   
КудаЧтоКачаем="BACKUP/Test_05_04_2020.txt";

   
FTPСоединение.Записать(ОткудаЧтоКачаем, КудаЧтоКачаем);
   
Сообщить("Файл загружен на FTP и сохранен в " + КудаЧтоКачаем);

КонецПроцедуры
Прочие функции FTP сервера в 1С 8.3:
&НаКлиенте
Процедура ПрочиеФункцииFTPСервера(Команда)

   
FTPСоединение = ПодключениеКFTPСерверу();// См.выше
   
FTPСоединение.УстановитьТекущийКаталог("/");

   
// Создание нового каталога по FTP
   
FTPСоединение.СоздатьКаталог("/Start");

   
// Удаление каталог по FTP (вместе с файлами)
   
FTPСоединение.Удалить("/BACKUP");

   
// Удаление одного файла по FTP (по его пути)
   
FTPСоединение.Удалить( "/BACKUP/Test_05_04_2020.xml");

   
// Удаление нескольких файлов по FTP (по маске)
   
FTPСоединение.Удалить("/BACKUP","*.txt");

   
// Переименование файла или каталога по FTP
    // Параметры: Старое имя. Новое мия
   
FTPСоединение.Переместить("/Start","/Finish");

КонецПроцедуры
Поиск кода
0
комментарии
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 06.04.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому