#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
ПриЧтенииСозданииНаСервере();
КонецЕсли;
ОсновнаяСтрана = Константы.ОсновнаяСтрана.Получить();
Элементы.СтраницыРеквизитовБанка.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет;
ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПриСозданииНаСервере(ЭтотОбъект);
СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
УстановитьУсловноеОформление();
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
ПриЧтенииСозданииНаСервере();
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПередЗаписью(Отказ)
Если Объект.РучноеИзменениеРеквизитовБанка Тогда
ЗаполнитьЗначенияСвойств(Объект, ЭтотОбъект, ДенежныеСредстваКлиентСервер.РеквизитыБанка(Истина));
КонецЕсли;
Объект.НаименованиеБанкаМеждународное = НаименованиеБанкаМеждународное;
Если ПустаяСтрока(Объект.Наименование) Тогда
Объект.Наименование = СформироватьАвтоНаименование(ЭтотОбъект);
КонецЕсли;
Если ИспользоватьТекстКорреспондента Тогда
Объект.ТекстКорреспондента = ТекстКорреспондента;
Иначе
Объект.ТекстКорреспондента = "";
КонецЕсли;
Если ИспользоватьИННКорреспондента Тогда
Объект.ИННКорреспондента = ИННКорреспондента;
Иначе
Объект.ИННКорреспондента = "";
КонецЕсли;
Если ИспользоватьКППКорреспондента Тогда
Объект.КППКорреспондента = КППКорреспондента;
Иначе
Объект.КППКорреспондента = "";
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи);
ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтотОбъект, ПараметрыЗаписи);
ПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
УстановитьЗаголовокФормы();
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
ДенежныеСредстваКлиентЛокализация.ПередЗакрытиемФормыБанковскогоСчета(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ВладелецПриИзменении(Элемент)
ВладелецПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура БанкПриИзменении(Элемент)
ПриИзмененииБанка();
КонецПроцедуры
&НаКлиенте
Процедура БанкВГруппеПриИзменении(Элемент)
ПриИзмененииБанка();
КонецПроцедуры
&НаКлиенте
Процедура ИдентификаторСчетаЦифровогоРубляПриИзменении(Элемент)
ИдентификаторСчетаПриИзмененииСервер();
КонецПроцедуры
&НаКлиенте
Процедура СпособУказанияБанкаПриИзменении(Элемент)
Объект.РучноеИзменениеРеквизитовБанка = СпособУказанияБанка = "РучноеЗаполнениеРеквизитов";
ПриИзмененииРучноеИзменениеРеквизитовБанка()
КонецПроцедуры
&НаКлиенте
Процедура БИКБанкаПриИзменении(Элемент)
ДенежныеСредстваКлиентСервер.ЗаполнитьОсновныеРеквизитыБанка(ЭтотОбъект)
КонецПроцедуры
&НаКлиенте
Процедура КоррСчетБанкаПриИзменении(Элемент)
ДенежныеСредстваКлиентСервер.ЗаполнитьОсновныеРеквизитыБанка(ЭтотОбъект)
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеБанкаПриИзменении(Элемент)
ДенежныеСредстваКлиентСервер.ЗаполнитьОсновныеРеквизитыБанка(ЭтотОбъект);
СформироватьАвтоНаименование(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СВИФТБанкаПриИзменении(Элемент)
ДенежныеСредстваКлиентСервер.ЗаполнитьОсновныеРеквизитыБанка(ЭтотОбъект)
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеБанкаМеждународноеПриИзменении(Элемент)
ДенежныеСредстваКлиентСервер.ЗаполнитьОсновныеРеквизитыБанка(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьТекстКорреспондентаПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьИННКорреспондентаПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьКППКорреспондентаПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ИННКорреспондентаПриИзменении(Элемент)
ТекстСообщения = "";
Если Не РегламентированныеДанныеКлиентСервер.ИННСоответствуетТребованиям(ИННКорреспондента, Не СчетФизЛица, ТекстСообщения) Тогда
ОчиститьСообщения();
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,, "ИННКорреспондента",,);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура КППКорреспондентаОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
ТекстСообщения = "";
Если Не ПустаяСтрока(Текст) И
Не РегламентированныеДанныеКлиентСервер.КППСоответствуетТребованиям(Текст, ТекстСообщения)
И Текст <> "0" Тогда
ОчиститьСообщения();
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,, "КППКорреспондента",,);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
Если Не Объект.Ссылка.Пустая() Тогда
ОткрытьФорму("Справочник.БанковскиеСчетаКонтрагентов.Форма.РазблокированиеРеквизитов",,,,,,
Новый ОписаниеОповещения("Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение", ЭтотОбъект),
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если ТипЗнч(Результат) = Тип("Массив") И Результат.Количество() > 0 Тогда
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(ЭтотОбъект, Результат);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)
ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиент.ВыполнитьПодключаемуюКомандуИнтеграции(Команда, ЭтотОбъект, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтотОбъект, Команда);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ВладелецПриИзмененииСервер()
СформироватьАвтоНаименование(ЭтотОбъект);
СчетФизЛица = (ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.ФизическиеЛица"));
КонтрагентФизЛицо = Ложь;
Если Не СчетФизЛица И ЗначениеЗаполнено(Объект.Владелец) Тогда
КонтрагентФизЛицо = (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Владелец, "ЮрФизЛицо") = Перечисления.ЮрФизЛицо.ФизЛицо);
КонецЕсли;
НастроитьЗависимыеЭлементыФормыНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииСозданииНаСервере()
НастройкиПолейФормы = Справочники.БанковскиеСчетаКонтрагентов.НастройкиПолейФормыСчетаЦифровогоРубля();
ЗначениеВРеквизитФормы(НастройкиПолейФормы, "НастройкиПолей");
ЗависимостиПолейФормы = ДенежныеСредстваСервер.ЗависимостиПолейФормы(НастройкиПолейФормы);
ЗначениеВРеквизитФормы(ЗависимостиПолейФормы, "ЗависимостиПолей");
НациональныеРеквизитыБанковскихСчетов = ПолучитьФункциональнуюОпцию("НациональныеРеквизитыБанковскихСчетов");
ЧтениеФизическихЛиц = ПравоДоступа("Чтение", Метаданные.Справочники.ФизическиеЛица);
Если ЗначениеЗаполнено(Объект.Ссылка) ИЛИ ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда
Если Объект.РучноеИзменениеРеквизитовБанка Тогда
Элементы.Банк.ПодсказкаВвода = НСтр("ru = '<реквизиты банка введены вручную>'");
КонецЕсли;
Иначе
Объект.СтранаБанка = ОсновнаяСтрана;
Если Не ЗначениеЗаполнено(Объект.Банк) Тогда
Объект.РучноеИзменениеРеквизитовБанка = Истина;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(Объект.Наименование) Тогда
СформироватьАвтоНаименование(ЭтотОбъект);
КонецЕсли;
СпособУказанияБанка = ?(Объект.РучноеИзменениеРеквизитовБанка, "РучноеЗаполнениеРеквизитов", "ВыборИзСправочника");
ЗаполнитьРеквизитыБанка();
Если Не ЗначениеЗаполнено(Объект.Ссылка) И НЕ ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда
Объект.ИностранныйБанк = Ложь;
КонецЕсли;
ИспользоватьТекстКорреспондента = ЗначениеЗаполнено(Объект.ТекстКорреспондента);
Если ИспользоватьТекстКорреспондента Тогда
ТекстКорреспондента = Объект.ТекстКорреспондента;
Иначе
ЗаполнитьТекстКорреспондента();
КонецЕсли;
ИспользоватьИННКорреспондента = ЗначениеЗаполнено(Объект.ИННКорреспондента);
Если ИспользоватьИННКорреспондента Тогда
ИННКорреспондента = Объект.ИННКорреспондента;
Иначе
ЗаполнитьИННКорреспондента();
КонецЕсли;
ИспользоватьКППКорреспондента = ЗначениеЗаполнено(Объект.КППКорреспондента);
Если ИспользоватьКППКорреспондента Тогда
КППКорреспондента = Объект.КППКорреспондента;
Иначе
ЗаполнитьКППКорреспондента();
КонецЕсли;
СчетФизЛица = (ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.ФизическиеЛица"));
КонтрагентФизЛицо = Ложь;
Если Не СчетФизЛица И ЗначениеЗаполнено(Объект.Владелец) Тогда
КонтрагентФизЛицо = (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Владелец, "ЮрФизЛицо") = Перечисления.ЮрФизЛицо.ФизЛицо);
КонецЕсли;
Элементы.Банк.ПодсказкаВвода = НСтр("ru = 'БИК или наименование'");
Элементы.БанкВГруппе.ПодсказкаВвода = НСтр("ru = 'БИК или наименование'");
НастроитьЗависимыеЭлементыФормыНаСервере();
ДенежныеСредстваКлиентСервер.ЗаполнитьОсновныеРеквизитыБанка(ЭтотОбъект);
УстановитьЗаголовокФормы(Параметры.Ключ.Пустая());
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьРеквизитыБанка()
НаименованиеБанкаМеждународное = Объект.НаименованиеБанкаМеждународное;
Если Объект.РучноеИзменениеРеквизитовБанка Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Объект, ДенежныеСредстваКлиентСервер.РеквизитыБанка(Истина));
Иначе
Если Не Объект.Банк.Пустая() Тогда
ЗаполнитьРеквизитыБанкаПоБанку("Банк", Объект.Банк, Ложь);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныйРеквизит = "")
НастроитьЭлементыФормы(ЭтотОбъект, ИзмененныйРеквизит, РеквизитыФормы(ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура НастроитьЗависимыеЭлементыФормы(ИзмененныйРеквизит = "")
НастроитьЭлементыФормы(ЭтотОбъект, ИзмененныйРеквизит, РеквизитыФормы(ЭтотОбъект));
КонецПроцедуры
&НаСервере
Процедура УстановитьЗаголовокФормы(ЭтоНовыйСчет = Ложь)
Если ЭтоНовыйСчет Тогда
Заголовок = НСтр("ru = 'Счет цифрового рубля (создание)'");
Иначе
Заголовок = Объект.Наименование;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция СформироватьАвтоНаименование(Форма, ИзменятьНаименование = Истина)
Форма.Элементы.Наименование.СписокВыбора.Очистить();
ШаблонНаименования = НСтр("ru = 'Счет цифрового рубля *%1'");
СтрокаНаименования = СтрШаблон(ШаблонНаименования,
Прав(СокрЛП(Форма.Объект.ИдентификаторСчетаЦифровогоРубля), 4));
СтрокаНаименования = Лев(СтрокаНаименования, 150);
Форма.Элементы.Наименование.СписокВыбора.Добавить(СтрокаНаименования);
Если ИзменятьНаименование Тогда
Форма.Объект.Наименование = СтрокаНаименования;
КонецЕсли;
Возврат СтрокаНаименования;
КонецФункции
&НаКлиенте
Процедура ПриИзмененииБанка()
Элементы.Банк.ПодсказкаВвода = "";
Если ЗначениеЗаполнено(Объект.Банк) Тогда
Объект.РучноеИзменениеРеквизитовБанка = Ложь;
СпособУказанияБанка = "ВыборИзСправочника";
ЗаполнитьРеквизитыБанкаПоБанку("Банк", Объект.Банк, Истина);
Иначе
Объект.РучноеИзменениеРеквизитовБанка = Истина;
СпособУказанияБанка = "РучноеЗаполнениеРеквизитов";
ЗаполнитьРеквизитыБанкаПоБанку("Банк", ПредопределенноеЗначение("Справочник.КлассификаторБанков.ПустаяСсылка"), Истина);
КонецЕсли;
НастроитьЭлементыФормы(ЭтотОбъект, , РеквизитыФормы(ЭтотОбъект));
Если ЗначениеЗаполнено(Объект.Банк) Тогда
ДенежныеСредстваКлиентСервер.ЗаполнитьОсновныеРеквизитыБанка(ЭтотОбъект);
Иначе
ЗаголовокСтраницаБанк = НСтр("ru = 'Ввести реквизиты банка вручную...'");
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура НастроитьЭлементыФормы(Форма, ИзмененныйРеквизит = "", ДополнительныеРеквизиты = Неопределено)
ДенежныеСредстваКлиентСервер.НастроитьЭлементыФормы(Форма, ИзмененныйРеквизит, ДополнительныеРеквизиты);
Если Не ЗначениеЗаполнено(ИзмененныйРеквизит) Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы,
"КоррСчетБанкаМеждународный", "Видимость",
Не Форма.Элементы.ГруппаБанк.Видимость И Форма.Элементы.КоррСчетБанка.Видимость);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы,
"КоррСчетБанкаМеждународныйПоСсылке", "Видимость",
Не Форма.Элементы.ГруппаБанкПоСсылке.Видимость И Форма.Элементы.КоррСчетБанкаПоСсылке.Видимость);
КонецЕсли;
Если Форма.Объект.РучноеИзменениеРеквизитовБанка Тогда
Форма.Элементы.СтраницыРеквизитовБанка.ТекущаяСтраница = Форма.Элементы.РучныеРеквизитыБанка;
Иначе
Форма.Элементы.СтраницыРеквизитовБанка.ТекущаяСтраница = Форма.Элементы.РеквизитыБанкаПоСсылке;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция РеквизитыФормы(Форма)
РеквизитыФормы = Новый Структура;
РеквизитыФормы.Вставить("ИспользоватьТекстКорреспондента");
РеквизитыФормы.Вставить("ИспользоватьИННКорреспондента");
РеквизитыФормы.Вставить("ИспользоватьКППКорреспондента");
РеквизитыФормы.Вставить("СчетФизЛица");
РеквизитыФормы.Вставить("КонтрагентФизЛицо");
РеквизитыФормы.Вставить("МеждународныеРеквизитыБанковскихСчетов");
РеквизитыФормы.Вставить("НациональныеРеквизитыБанковскихСчетов");
ЗаполнитьЗначенияСвойств(РеквизитыФормы, Форма);
Возврат РеквизитыФормы;
КонецФункции
&НаСервере
Процедура ЗаполнитьРеквизитыБанкаПоБанку(ТипБанка, Банк = "", ПеренестиЗначенияРеквизитов = Ложь)
СоответствиеРеквизитовБанка = ДенежныеСредстваСервер.РеквизитыСчетаПоКлассификаторуБанков();
Если ТипБанка = "Банк" Тогда
СтруктураРеквизитов = Новый Структура;
ИменаРеквизитов = СтрРазделить(ДенежныеСредстваКлиентСервер.РеквизитыБанка(), ",", Ложь);
Для каждого ИмяРеквизита Из ИменаРеквизитов Цикл
СтруктураРеквизитов.Вставить(ИмяРеквизита, СоответствиеРеквизитовБанка[СокрЛП(ИмяРеквизита)]);
КонецЦикла;
СтруктураРеквизитов.Вставить("БИКБанка", "Код");
СтруктураРеквизитов.Вставить("СВИФТБанка", "СВИФТБИК");
СтруктураРеквизитов.Вставить("НаименованиеБанкаМеждународное", "МеждународноеНаименование");
РеквизитыБанка = ДенежныеСредстваСервер.БанковскиеРеквизиты(Банк, СтруктураРеквизитов);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РеквизитыБанка);
СтранаБанка = ДенежныеСредстваСервер.СтранаБанкаПоКоду(РеквизитыБанка.КодСтраны);
Если ПеренестиЗначенияРеквизитов Тогда
ЗаполнитьЗначенияСвойств(Объект, РеквизитыБанка);
Объект.СтранаБанка = СтранаБанка;
Объект.Банк = Неопределено;
КонецЕсли;
Объект.СчетВБанкеДляРасчетов = РеквизитыБанка.КоррСчетБанка;
КонецЕсли;
СформироватьАвтоНаименование(ЭтотОбъект, ПеренестиЗначенияРеквизитов);
КонецПроцедуры
&НаСервере
Процедура ИдентификаторСчетаПриИзмененииСервер()
СформироватьАвтоНаименование(ЭтотОбъект);
НастроитьЭлементыФормы(ЭтотОбъект, , РеквизитыФормы(ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененииРучноеИзменениеРеквизитовБанка()
РеквизитыФормы = РеквизитыФормы(ЭтотОбъект);
Если Объект.РучноеИзменениеРеквизитовБанка Тогда
Элементы.Банк.ПодсказкаВвода = НСтр("ru = '<реквизиты банка введены вручную>'");
Объект.Банк = Неопределено;
Иначе
Элементы.Банк.ПодсказкаВвода = "";
КонецЕсли;
РучноеИзменениеРеквизитовБанкаПриИзмененииНаСервере();
ДенежныеСредстваКлиентСервер.ЗаполнитьОсновныеРеквизитыБанка(ЭтотОбъект);
НастроитьЭлементыФормы(ЭтотОбъект, , РеквизитыФормы);
КонецПроцедуры
&НаСервере
Процедура РучноеИзменениеРеквизитовБанкаПриИзмененииНаСервере()
Если Объект.РучноеИзменениеРеквизитовБанка Тогда
ЗаполнитьРеквизитыБанкаПоБанку("Банк", Справочники.КлассификаторБанков.ПустаяСсылка(), Истина);
КонецЕсли;
НастроитьЗависимыеЭлементыФормыНаСервере();
Если НЕ Объект.РучноеИзменениеРеквизитовБанка Тогда
ЗаполнитьРеквизитыБанкаПоБИК("Банк", БИКБанка, Истина)
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ЗаполнитьРеквизитыБанкаПоБИК(ТипБанка, Знач БИК = "", ПеренестиЗначенияРеквизитов = Ложь)
НашлиПоБИК = Ложь;
ЗаписьОБанке = Неопределено;
ИменаРеквизитов = ДенежныеСредстваКлиентСервер.РеквизитыБанка(Истина, ТипБанка <> "Банк");
ДенежныеСредстваКлиентСервер.ОчиститьБанковскиеРеквизитыНаФорме(ЭтотОбъект, ИменаРеквизитов);
Если ЗначениеЗаполнено(БИК) Тогда
ТаблицаБанков = РаботаСБанками.СведенияБИК(БИК);
Если ТаблицаБанков.Количество() Тогда
ЗаписьОБанке = ТаблицаБанков[0].Ссылка;
ЗаполнитьРеквизитыБанкаПоБанку(ТипБанка, ЗаписьОБанке, ПеренестиЗначенияРеквизитов);
Объект[ТипБанка] = ЗаписьОБанке;
НашлиПоБИК = Истина;
КонецЕсли;
КонецЕсли;
Возврат НашлиПоБИК;
КонецФункции
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТекстКорреспондента.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИспользоватьТекстКорреспондента");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Ложь;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля.FormBackColor);
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.BorderColor);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьТекстКорреспондента()
Если ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.Контрагенты") Тогда
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДанныеСправочника.НаименованиеПолное КАК НаименованиеПолное
|ИЗ
| Справочник.Контрагенты КАК ДанныеСправочника
|ГДЕ
| ДанныеСправочника.Ссылка = &Ссылка
|");
ИначеЕсли ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.ФизическиеЛица") И ЧтениеФизическихЛиц Тогда
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДанныеСправочника.Наименование КАК НаименованиеПолное
|ИЗ
| Справочник.ФизическиеЛица КАК ДанныеСправочника
|ГДЕ
| ДанныеСправочника.Ссылка = &Ссылка
|");
Иначе
Запрос = Неопределено;
КонецЕсли;
Если Запрос <> Неопределено Тогда
Запрос.УстановитьПараметр("Ссылка", Объект.Владелец);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
ТекстКорреспондента = СокрЛП(Выборка.НаименованиеПолное);
КонецЕсли;
Если (ЗначениеЗаполнено(Объект.БанкДляРасчетов)) ИЛИ (ЗначениеЗаполнено(Объект.БИКБанкаДляРасчетов)) Тогда
Если Объект.РучноеИзменениеРеквизитовБанка Тогда
ТекстКорреспондента = ТекстКорреспондента
+ " р/с " + СокрЛП(Объект.НомерСчета)
+ " в " + Строка(Объект.НаименованиеБанка)
+ " " + Объект.ГородБанка;
Иначе
ТекстКорреспондента = ТекстКорреспондента
+ " р/с " + СокрЛП(Объект.НомерСчета)
+ " в " + Строка(Объект.Банк);
Если ЗначениеЗаполнено(Объект.Банк) Тогда
ТекстКорреспондента = ТекстКорреспондента
+ " " + ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Банк, "Город");
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьИННКорреспондента()
Если ЗначениеЗаполнено(Объект.Владелец)
И (ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.Контрагенты")
Или ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.ФизическиеЛица") И ЧтениеФизическихЛиц) Тогда
ИННКорреспондента = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Владелец, "ИНН");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьКППКорреспондента()
Если ЗначениеЗаполнено(Объект.Владелец) И ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.Контрагенты") Тогда
КППКорреспондента = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Владелец, "КПП");
КонецЕсли;
КонецПроцедуры
#КонецОбласти