Работа с FTP в 1С

Работа с FTP в 1СВ 1С очень часто возникает необходимость воспользоваться протоколом передачи данных в интернете FTP (File transfer protocol). Это может потребоваться при настройке обмена данными между узлами распределенной информационной базы (РИБ), при обмене данными между различными конфигурациями системы 1С:Предприятие или с другими информационными системами, при выгрузке информации на сайт и т.д.

Рассмотрим основные методы работы с FTP в системах 1С:Предприятие. Для работы нам понадобится адрес сервера FTP, с которым мы будем работать (это может быть IP-адрес, либо буквенный домен), номер порта для доступа к серверу, логин и пароль. Теперь мы можем установить соединение с сервером FTP.

Адрес = «1.1.1.1″ ;
Порт = 21;
Логин = «login»;
Пароль = «password»;
FTPСоединение = Новый FTPСоединение(Адрес,Порт,Логин,Пароль);

Все остальные действия будем производить с созданным объектом FTPСоединение.

После установления связи с сервером нужно перейти в интересующий нас каталог (папку).

Каталог = «/data/1c»;
FTPСоединение.УстановитьТекущийКаталог(Каталог);

Запись файла на FTP из 1С производится следующим образом.

Если на диске уже есть файл, который нужно передать на сервер, то достаточно пары строчек:

АдресФайла = «C:\1C\file.txt»;
FTPСоединение.Записать(АдресФайла,»file_upload.txt»);

Первый параметр функции Записать должен содержать адрес файла на диске, а второй — имя файла, которое будем ему присвоено на FTP-сервере.

Если необходимый файл на диске отсутствует, то его нужно сначала создать, а потом отправить на FTP-сервер.

ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.ДобавитьСтроку(«текст»);
ВременныйФайл = ПолучитьИмяВременногоФайла(«txt»);
ТекстовыйДокумент.Записать(ВременныйФайл);
FTPСоединение.Записать(ВременныйФайл,»file.txt»);

Получение файла с FTP производится так.

Если FTPСоединение .НайтиФайлы(«file.txt»).Количество() = 0 тогда
Возврат;
КонецЕсли;
ВременныйФайл = ПолучитьИмяВременногоФайла(«txt»);
FTPСоединение.Получить(«file.txt»,ВременныйФайл);
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ВременныйФайл, «windows-1251»);
ТекстовыйДокумент.Записать(«C:\file.txt»);

Переименование и перемещение файла на FTP производится с помощью одной функции Переместить.

Перемещение:

FTPСоединение.Переместить(«/data/file.txt»,»/data/1c/file_new.txt»);

Переименование:

FTPСоединение.Переместить(«file.txt»,»file_new.txt»);

Можно совместить перемещение и переименование.

Удаление файла с FTP производится очень просто.

FTPСоединение.Удалить(«/data/file.txt»);

При возникновении вопросов, вы всегда можете обратиться к нашим специалистам за помощью.

 

Работа с FTP в 1С: 6 комментариев

  1. Любовь

    Какие библиотеки нужно использовать для работы с ftp из 1С 7.7?

  2. Dm

    а если сделать это регламентным заданием — каждый раз будет создаваться новое соединение?
    надо ли завершать соединение и если да, то как правильно?

    1. Нестандартные решения в 1С Автор записи

      Если делать регламентным заданием, то скорее всего у вас будет каждый раз создаваться переменная с типом FTPСоединение. Соединение устанавливается при создании этой переменной. Эта переменная перестает существовать после выполнения задания, соответственно перестает существовать и соединение. Кроме того, сам FTP-сервер закроет соединение через определенный период времени бездействия.

  3. Dm

    и еще вопрос — если файл существует — будет он перезаписываться или нужны доп. команды типа DisplayAlerts = False?

    1. Нестандартные решения в 1С Автор записи

      Существующий файл перезаписывается.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *