Работа с ftp в языке 1С 8.3

Aug 15, 2022 12:34


/// Как подлючиться к FTP серверу из 1с 8.3, 8.2

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

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

// Для случаев, когда у ftp сервера нет возможности
// обращаться к нам (мы находимся за межсетевым экраном)
// следует использовать пассивный режим работы.

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

КонецФункции
 
/// Как искать файлы по FTP из 1с 8.3, 8.2

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

// Функция подключения определена выше.
Соединение = ПодключитьсяКFTPСерверу();

// Установим текущий каталог.
Соединение.УстановитьТекущийКаталог("/");

// Найдём конкретный файл по его полному адресу.
// Внимание! Используем прямые слеши.
НайденныеФайлы = Соединение.НайтиФайлы("/data/1.txt");

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

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

// Найдём все файлы с расширением .txt в папке data
НайденныеФайлы = Соединение.НайтиФайлы(
"/data", // ищём в определенной папке
"*.txt" // по определенной маске
);

КонецПроцедуры

/// Как скачивать файлы по FTP из 1с 8.3, 8.2

&НаКлиенте
Процедура ПолучениеФайловПоFTP(Команда)

// Функция подключения определена выше.
Соединение = ПодключитьсяКFTPСерверу();

// Установим текущий каталог.
Соединение.УстановитьТекущийКаталог("/");

ПапкаДляСохранения = СлужебныйНаКлиенте.СоздатьПапкуДляЭкспериментов();

// Скачаем "trade_exchange/01.01.2017.xml"
// Внимание! Используем прямые слеши.
Соединение.Получить(
"trade_exchange/01.01.2017.xml", // что качаем
ПапкаДляСохранения + "/01.01.2017.xml" // куда качаем
);

Сообщить("Сохранили файл в " + ПапкаДляСохранения);

КонецПроцедуры

/// Как передавать файлы по FTP из 1с 8.3, 8.2

&НаКлиенте
Процедура ПередачаФайловПоFTP(Команда)

// Функция подключения определена выше.
Соединение = ПодключитьсяКFTPСерверу();

// Установим текущий каталог.
Соединение.УстановитьТекущийКаталог("/");

// Создадим случайный текстовый файл.
Папка = СлужебныйНаКлиенте.СоздатьПапкуДляЭкспериментов();
Служебный.СоздатьПроизвольныйТекстовыйФайл(
Папка + "/info.txt");

// Запишем этот файл на сервер по ftp в папку trade_exchange
// Внимание! Используем прямые слеши.
Соединение.Записать(
Папка + "/info.txt", // что записываем
"/trade_exchange/info.txt" // куда записываем
);

Сообщить("Передали файл по FTP.");

КонецПроцедуры

&НаКлиенте
Процедура ДругиеОперацииПоFTP(Команда)

// Функция подключения определена выше.
Соединение = ПодключитьсяКFTPСерверу();

// Установим текущий каталог.
Соединение.УстановитьТекущийКаталог("/");

/// Как создать новый каталог по FTP из 1с 8.3, 8.2

Соединение.СоздатьКаталог("/NewBin");

/// Как удалить каталог по FTP вместе с содержимым из 1с 8.3, 8.2

Соединение.Удалить("/trade_exchange");

/// Как удалить файлы по FTP из 1с 8.3, 8.2

Соединение.Удалить(
"/trade_exchange/01.01.2017.xml"
); // удаляем один файл по его адресу

Соединение.Удалить(
"/trade_exchange", // путь к удаляемым файлам
"*.xml" // маска для выбора
); // или несколько файлов поиском по маске

/// Как переименовать файл или каталог по FTP из 1с 8.3, 8.2

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

КонецПроцедуры

Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, ни­дер­ландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С
Программирование в 1С 8.3 с нуля - краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

программирование

Previous post Next post
Up