
Решаем задачи автоматизации
На базе программ 1С
И собственных решений
А потом обслуживаем
По разумным ценам
Оперативно настроим 1С под ваши потребности - в офисе или дистанционно. Настройка и доработка любой сложности. Оплата за результат.
Мы часто пользуемся протоколом FTP при передаче файлов или загрузке страниц интернета. В системах 1С тоже достаточно часто используется этот механизм для обмена данными с другими приложениями или между конфигурациями. На практике вы не раз столкнетесь с необходимостью воспользоваться заложенными в платформе 1С 8.3 механизмами работы с FTP. К этому необходимо быть готовым и знать основные приемы и принципы.
Для того чтобы работать с протоколом FTP в технологическую платформу уже заложены некоторые инструменты. Они доступны в любой конфигурации, если версия вашей платформы 8.3 и выше. Рассмотреть их подробнее, узнать их методы и возможности вы сможете с помощью синтакс-помощника, нажав клавиши CTRL + F1 в конфигураторе. Вот эти объекты:
Перед тем как производить какие-либо действия с файлами, нам необходимо осуществить подключение к FTP-серверу или ресурсу в интернете. Для этого нам нужно узнать адрес, логин и пароль, под которыми можно зайти на ресурс, и рабочий каталог. По умолчанию объект FTPСоединение использует 21 порт для FTP и 990 для защищенных FTPS. Если у вас используются другие порты – придется их указывать вручную.
Адрес= "172.16.83.22";
Логин = "administrator ";
Пароль = "pass123";
Каталог = "\testFTPConnect";
FTPСоединение = Новый FTPСоединение(Адрес,,Логин,Пароль);
По результатам выполнения этого кода должно произойти подключение 1С к указанному ресурсу. Зачастую на этом моменте появляется проблема с тем, что программа долго подключается к FTP серверу. С большой долей вероятности решить эту проблему поможет попытка запустить соединение в пассивном режиме. Для этого в момент создания объекта FTPСоединение задать параметр № 6 в значение «Истина».
FTPСоединение = Новый FTPСоединение(Адрес,,Логин,Пароль,,Истина);
После того как FTP соединение установлено, мы можем работать с файлами на удаленном ресурсе из 1С. Перед тем как что-то добавлять или удалять, необходимо посмотреть, какие файлы уже существуют на FTP-сервере. В этом нам поможет метод «НайтиФайлы», который помещает все найденные файлы в общий массив. После этого нам останется только обойти в цикле все элементы на FTP-сервере через 1С:
ФайлыНаРесурсе = FTPСоединение.НайтиФайлы("/");
Для каждого ФайлНаСервере из ФайлыНаРесурсе цикл
// требуемые действия с файлами
КонецЦикла;
Перенести файл с локального компьютера, на котором запущена программа 1С, через FTP на сервер можно несколькими путями. Также вы можете создавать на ресурсе и новые файлы, формируя их программно – этот вариант отлично подойдет для ведения логов. Простые примеры алгоритма выгрузки данных из 1С на FTP создания файлов на сервере:
ФайлСЛокальногоПК = «D:\test1.txt»;
Connect.Записать(ФайлСЛокальногоПК, «test1.txt»);
НовыйДокументFTP = Новый ТекстовыйДокумент;
НовыйДокументFTP.ДобавитьСтроку(«Тестируем создание файла»);
ВременныйФайлFTP = ПолучитьИмяВременногоФайла(«txt»);
НовыйДокументFTP.Записать(ВременныйФайлFTP);
FTPСоединение.Записать(ВременныйФайлFTP, «test1.txt»);
После того как выяснили, как отправить файл через FTP, займемся обратным алгоритмом. Чтобы скачать на свой компьютер файл с сервера, можно воспользоваться следующим алгоритмом:
ВременноеХранДляФайла = ПолучитьИмяВременногоФайла(«txt»);
FTPСоединение.Получить(«test.txt»,ВременноеХранДляФайла);
НовыйТекстДокумент = Новый ТекстовыйДокумент;
НовыйТекстДокумент.Прочитать(ВременноеХранДляФайла,«windows-1251»);
НовыйТекстДокумент.Записать(«C:\textFTP.txt»);
Также необходимо знать, как работать с каталогами на сервере через FTP. Существуют следующие основные операции:
Сообщить(FTPСоединение.ТекущийКаталог());
FTPСоединение.СоздатьКаталог(«/1/new»);
FTPСоединение.УстановитьТекущийКаталог(«/1/new»);
FTPСоединение.Переместить(«/1/new», «/1/new1»)
FTPСоединение.Переместить(«/1/new1/ NewFile1.txt», «/1/old/NewFile1.txt»)
FTPСоединение.Удалить(«/1/old»);
FTPСоединение.Удалить(«/1/ new/ NewFile2.txt»);
В платформе 8.3 существуют все возможности, чтобы организовать обмен данными через FTP прямо из 1С. Помните, что для стабильной работы правильно написанного кода в 1С мало. Необходим доступ к серверу и настройка прав для учетной записи, от которой запускают 1С. После этих действий ничего не помешает вам настроить синхронизацию данных 1С через FTP-протокол.
Подпишитесь на рассылку и получайте самые свежие статьи 1 раз в месяц специально для вас