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