#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
РучноеИзменение = Ложь;
ВКлассификаторе = Ложь;
БИК = "";
КоррСчет = "";
Наименование = "";
Город = "";
Адрес = "";
Телефоны = "";
Регион = "";
Если Не Параметры.Свойство("РучноеИзменение") Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
РучноеИзменение = Параметры.РучноеИзменение;
РеквизитВладельца = Параметры.Реквизит;
Если Параметры.ЗначенияПолей.Свойство("БИК") Тогда
БИК = Параметры.ЗначенияПолей.БИК;
КонецЕсли;
Если Параметры.ЗначенияПолей.Свойство("КоррСчет") Тогда
КоррСчет = Параметры.ЗначенияПолей.КоррСчет;
КонецЕсли;
Если ПустаяСтрока(РучноеИзменение) Тогда
РучноеИзменение = Ложь;
КонецЕсли;
Если РучноеИзменение Тогда
ЗаполнитьЗначенияСвойств(ЭтаФорма, Параметры.ЗначенияПолей,
"БИК, КоррСчет, Наименование, Город, Адрес, Телефоны");
Иначе
Банк = Параметры.Банк;
Если ТипЗнч(Банк) = Тип("СправочникСсылка.КлассификаторБанков") Тогда
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(Банк,
"Код, КоррСчет, Наименование, Город, Адрес, Телефоны, Родитель");
БИК = Реквизиты.Код;
КоррСчет = Реквизиты.КоррСчет;
Наименование = Реквизиты.Наименование;
Город = Реквизиты.Город;
Адрес = Реквизиты.Адрес;
Телефоны = Реквизиты.Телефоны;
Регион = Реквизиты.Родитель;
ВКлассификаторе = Истина;
КонецЕсли;
КонецЕсли;
ОбработатьФлагРучногоИзменения();
БылиНажатыКнопкиЗакрытия = Ложь;
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытий
&НаКлиенте
Процедура КомандаОК(Команда)
БылиНажатыКнопкиЗакрытия = Истина;
Закрыть();
ОповеститьОВыборе(ПолучитьЗначенияПараметров());
КонецПроцедуры
&НаКлиенте
Процедура КомандаОтмена(Команда)
БылиНажатыКнопкиЗакрытия = Истина;
Закрыть();
КонецПроцедуры
#Область ВспомогательныеПроцедурыИФункции
&НаСервере
Процедура ОбработатьФлагРучногоИзменения()
Если РучноеИзменение Тогда
Элементы.ПоясняющийТекст.Заголовок = НСтр("ru = 'Автоматическое обновление элемента отключено.'");
ТолькоПросмотр = Ложь;
Иначе
Если ВКлассификаторе Тогда
Элементы.ПоясняющийТекст.Заголовок = НСтр("ru = 'Элемент обновляется автоматически.'");
ТолькоПросмотр = Истина;
Иначе
Элементы.ПоясняющийТекст.Заголовок = НСтр("ru = 'Элемент не найден в классификаторе. Автоматическое обновление элемента отключено.'");
ТолькоПросмотр = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ПолучитьЗначенияПараметров()
Результат = Новый Структура;
Результат.Вставить("Реквизит", РеквизитВладельца);
Если РучноеИзменение Тогда
Результат.Вставить("РучноеИзменение", РучноеИзменение);
ЗначенияПолей = Новый Структура;
ЗначенияПолей.Вставить("БИК", БИК);
ЗначенияПолей.Вставить("Наименование", Наименование);
ЗначенияПолей.Вставить("КоррСчет", КоррСчет);
ЗначенияПолей.Вставить("Город", Город);
ЗначенияПолей.Вставить("Адрес", Адрес);
ЗначенияПолей.Вставить("Телефоны", Телефоны);
ЗначенияПолей.Вставить("РучноеИзменение", РучноеИзменение);
Результат.Вставить("ЗначенияПолей", ЗначенияПолей);
Иначе
Если ВКлассификаторе Тогда
Результат.Вставить("РучноеИзменение", РучноеИзменение);
Результат.Вставить("Банк", Банк);
Иначе
Результат.Вставить("РучноеИзменение", Истина);
ЗначенияПолей = Новый Структура;
ЗначенияПолей.Вставить("БИК", БИК);
ЗначенияПолей.Вставить("Наименование", Наименование);
ЗначенияПолей.Вставить("КоррСчет", КоррСчет);
ЗначенияПолей.Вставить("Город", Город);
ЗначенияПолей.Вставить("Адрес", Адрес);
ЗначенияПолей.Вставить("Телефоны", Телефоны);
ЗначенияПолей.Вставить("РучноеИзменение", РучноеИзменение);
Результат.Вставить("ЗначенияПолей", ЗначенияПолей);
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
КонецПроцедуры
#КонецОбласти