Метод Отправить (Send) <FTPСоединение>
Описание:
Отправляет файл со всеми изменениями на FTP-сервер, в корневую папку агента.
Синтаксис:
Отправить(<ПутьОбмена>, <ИмяФайла>)
Send(<ExchangePath>, <FileName>)
Параметры структуры:
ПутьОбмена (ExchangePath) – путь на МУ, где находятся файлы обмена данными. Строковое значение.
ИмяФайла (FileName) – наименование файла, который необходимо передать. Строковое значение.
Возвращаемые значения:
Значение "Истина" ("True"), если обмен запущен. Метод возвращает значение "Ложь" ("False"), если обмен не запущен.
Пример:
//В примере представлено использование методов Отправить (Send)и Получить (Receive).
//За отправку файла с данными из локальной базы на FTP-сервер отвечает функция Отправить(Send).
//За получение данных с FTP-сервера отвечает функция Получить (Receive).
//Для обработки событий окончания обмена и события обновления состояния обмена
//устанавливаются обработчики "ПриСобытии" и "ПриОкончании".
//В процессе соединения с FTP-сервером многократно вызывается функция "ПриСобытии"
//для информирования о текущем состоянии процесса соединения с FTP-сервером
Перем Файл;
Функция КнопкаОтправить_ПриНажатии()
ОтладочноеСообщение("Начало отправки данных на сервер");
Файл.Отправить(Файл.ПолучитьКаталогОбменаПоУмолчанию(), "ToFTP.lng"); //отправка файла
Возврат 0; //на FTP-сервер
КонецФункции
Функция КнопкаПолучить_ПриНажатии()
ОтладочноеСообщение("Начало получения данных с сервера");
Файл.Получить(Файл.ПолучитьКаталогОбменаПоУмолчанию(), "FromFTP.lng"); //получение файла
Возврат 0; //с FTP-сервера
КонецФункции
Функция КнопкаОстановитьОбмен_ПриНажатии()
Файл.ПрерватьОбмен(); //прерывание процесса отправки и получения данных
Возврат 0;
КонецФункции
Процедура ПриСобытии(ТипСобытия, Результат)
Если ТипСобытия = 0 Тогда
ОтладочноеСообщение("Создание соединения с FTP сервером: " + Строка(Результат));
КонецЕсли;
Если ТипСобытия = 1 Тогда
ОтладочноеСообщение("Перед авторизацией на сервере: " + Строка(Результат));
КонецЕсли;
Если ТипСобытия = 2 Тогда
ОтладочноеСообщение("Авторизация на сервере завершена: " + Строка(Результат));
КонецЕсли;
Если ТипСобытия = 3 Тогда
ОтладочноеСообщение("Начало передачи данных: " + Строка(Результат));
КонецЕсли;
Если ТипСобытия = 4 Тогда
ОтладочноеСообщение("Окончание передачи данных: " + Строка(Результат));
КонецЕсли;
Если ТипСобытия = 5 Тогда
ОтладочноеСообщение("Разрыв соединения с FTP сервером: " + Строка(Результат));
КонецЕсли;
КонецПроцедуры
Процедура ПриОкончании(Направление, ТипСобытия)
Если Направление = 1 Тогда
ОтладочноеСообщение("Направление обмена: скачивание с FTP сервера");
Иначе
ОтладочноеСообщение("Направление обмена: отправка на FTP сервер");
КонецЕсли;
Если ТипСобытия = 0 Тогда
ОтладочноеСообщение("Ошибки нет");
КонецЕсли;
Если ТипСобытия = 1 Тогда
ОтладочноеСообщение("Истекло время ожидания (таймаут)");
КонецЕсли;
Если ТипСобытия = 2 Тогда
ОтладочноеСообщение("Ошибка сокета");
КонецЕсли;
Если ТипСобытия = 3 Тогда
ОтладочноеСообщение("Ошибка соединения");
КонецЕсли;
Если ТипСобытия = 4 Тогда
ОтладочноеСообщение("Ошибка");
КонецЕсли;
Если ТипСобытия = 5 Тогда
ОтладочноеСообщение("Не найден файл на МУ");
КонецЕсли;
Если ТипСобытия = 6 Тогда
ОтладочноеСообщение("Прервано пользователем");
КонецЕсли;
Если ТипСобытия = 7 Тогда
ОтладочноеСообщение("Ошибка авторизации");
КонецЕсли;
Если ТипСобытия = 8 Тогда
ОтладочноеСообщение("Нет данных на сервере");
КонецЕсли;
КонецПроцедуры
Файл = Новый("FTPСоединение", "192.168.0.37", 21, "agentp2", "1111", true, 10000);
ОтладочноеСообщение(Файл.ПолучитьКаталогОбменаПоУмолчанию());
Файл.УстановитьПриСобытииСостояния(ПриСобытии);
Файл.УстановитьПриОкончании(ПриОкончании);
Файл.УстановитьРазмерБуфера(16*1024);