#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
РеквизитыСправочника = Метаданные.Справочники.РассылкиОтчетов.Реквизиты;
Элементы.СерверИКаталог.Подсказка = РеквизитыСправочника.FTPКаталог.Подсказка;
Элементы.Порт.Подсказка = РеквизитыСправочника.FTPПорт.Подсказка;
Элементы.Логин.Подсказка = РеквизитыСправочника.FTPЛогин.Подсказка;
Элементы.ПассивноеСоединение.Подсказка = РеквизитыСправочника.FTPПассивноеСоединение.Подсказка;
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры, "Сервер, Каталог, Порт, Логин, Пароль, ПассивноеСоединение");
Если Сервер = "" Тогда
Сервер = "сервер";
КонецЕсли;
Если Каталог = "" Тогда
Каталог = "/каталог/";
КонецЕсли;
ВидимостьДоступность(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура СерверИКаталогПриИзменении(Элемент)
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РассылкаОтчетовКлиент.РазобратьFTPАдрес(СерверИКаталог), "Сервер, Каталог");
ВидимостьДоступность(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Заполнить(Команда)
Если Сервер = "" Тогда
ПолныйАдрес = НСтр("ru = 'ftp://логин:пароль@сервер:порт/каталог/'");
Иначе
Если Логин = "" Тогда
ПолныйАдрес = "ftp://"+ Сервер +":"+ Формат(Порт, "ЧН=21; ЧГ=0") + Каталог;
Иначе
ПолныйАдрес = "ftp://"+ Логин +":"+ ?(ЗначениеЗаполнено(Пароль), ПарольСкрыт(), "") +"@"+ Сервер +":"+ Формат(Порт, "ЧН=0; ЧГ=0") + Каталог;
КонецЕсли;
КонецЕсли;
Обработчик = Новый ОписаниеОповещения("ЗаполнитьЗавершение", ЭтотОбъект);
ПоказатьВводСтроки(Обработчик, ПолныйАдрес, НСтр("ru = 'Введите полный ftp адрес'"))
КонецПроцедуры
&НаКлиенте
Процедура ОК(Команда)
ЗначениеВыбора = Новый Структура("Сервер, Каталог, Порт, Логин, Пароль, ПассивноеСоединение");
ЗаполнитьЗначенияСвойств(ЗначениеВыбора, ЭтотОбъект);
ОповеститьОВыборе(ЗначениеВыбора);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиентеНаСервереБезКонтекста
Процедура ВидимостьДоступность(Форма, Изменения = "")
Если Не СтрЗаканчиваетсяНа(Форма.Каталог, "/") Тогда
Форма.Каталог = Форма.Каталог + "/";
КонецЕсли;
Форма.СерверИКаталог = "ftp://"+ Форма.Сервер + Форма.Каталог;
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьЗавершение(РезультатВвода, ДополнительныеПараметры) Экспорт
Если РезультатВвода <> Неопределено Тогда
ПарольДоВвода = Пароль;
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РассылкаОтчетовКлиент.РазобратьFTPАдрес(РезультатВвода));
Если Пароль = ПарольСкрыт() Тогда
Пароль = ПарольДоВвода;
КонецЕсли;
ВидимостьДоступность(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ПарольСкрыт()
Возврат "********";
КонецФункции
#КонецОбласти