0
Перем СписокДок;
Перем мСписокВидовОпераций;
Перем мВалютаРегламентированногоУчета;
Процедура КнопкаНастройкаПериодаНажатие(Элемент)
ТиповыеОтчеты.НастроитьПериод(НастройкаПериода, ДатаНачала, ДатаОкончания);
КонецПроцедуры
Функция ВернутьУчреждение()
СтрокаТаблицы = ЭлементыФормы.АнализВыгрузки.ТекущиеДанные;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| яяСоответствиеУчреждений.КодУчреждения
|ИЗ
| РегистрСведений.яяСоответствиеУчреждений КАК яяСоответствиеУчреждений
|ГДЕ
| яяСоответствиеУчреждений.Учреждение В (&Учреждение)";
Запрос.УстановитьПараметр("Учреждение",СтрокаТаблицы.Учреждение);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
РезультатВыборки= Выборка.КодУчреждения;
КонецЕсли;
//Сообщить("Не найдено соответствие учреждения по коду: "+СокрЛП(КодУчреждения));
Возврат РезультатВыборки;
КонецФункции
Функция ПолучитьИННУчрежденияДляВыгрузкиВФайл()
СтрокаТаблицы = ЭлементыФормы.АнализВыгрузки.ТекущиеДанные;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Организации.ИНН КАК ИННУчреждения
|ИЗ
| Справочник.Организации КАК Организации
|ГДЕ
| Организации.Ссылка В (&Учреждение)";
Запрос.УстановитьПараметр("Учреждение",СтрокаТаблицы.Учреждение);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
РезультатВыборки = ВыборкаДетальныеЗаписи.ИННУчреждения;
КонецЦикла;
Возврат РезультатВыборки;
КонецФункции
Процедура КнопкаВыгрузитьНажатие(Кнопка)
Текст = Новый ТекстовыйДокумент;
Запрос = Новый Запрос;
ТекстЗапроса = "ВЫБРАТЬ
| СоответствиеУчреждений.КодУчреждения КАК Код,
| РП_ВыпискаКвитанций.Учреждение.Наименование КАК Наименование,
| ВЫБОР
| КОГДА (ВЫРАЗИТЬ(РП_ВыпискаКвитанций.РеквизитыЛицевогоСчета.КорреспондентТекст КАК СТРОКА(1000))) = """"
| ТОГДА РП_ВыпискаКвитанций.Учреждение.НаименованиеПолное
| ИНАЧЕ РП_ВыпискаКвитанций.РеквизитыЛицевогоСчета.КорреспондентТекст
| КОНЕЦ КАК НаименованиеПолное,
| ВЫБОР
| КОГДА РП_ВыпискаКвитанций.РеквизитыЛицевогоСчета.КорреспондентИНН = """"
| ТОГДА РП_ВыпискаКвитанций.Учреждение.ИНН
| ИНАЧЕ РП_ВыпискаКвитанций.РеквизитыЛицевогоСчета.КорреспондентИНН
| КОНЕЦ КАК ИНН,
| ВЫБОР
| КОГДА РП_ВыпискаКвитанций.РеквизитыЛицевогоСчета.КорреспондентКПП = """"
| ТОГДА РП_ВыпискаКвитанций.Учреждение.КПП
| ИНАЧЕ РП_ВыпискаКвитанций.РеквизитыЛицевогоСчета.КорреспондентКПП
| КОНЕЦ КАК КПП,
| РеквизитыЛицевыхСчетов.БИК,
| РеквизитыЛицевыхСчетов.КоррСчет,
| РеквизитыЛицевыхСчетов.НаименованиеБанка,
| РеквизитыЛицевыхСчетов.РасчетныйСчет,
| РП_ВыпискаКвитанций.Учреждение.КодОКАТО КАК ОКАТО,
| РП_ВыпискаКвитанций.КБКСчетУчетаРП,
| РП_ВыпискаКвитанций.Ссылка
|ИЗ
| Документ.РП_ВыпискаКвитанций КАК РП_ВыпискаКвитанций
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| РеквизитыЛицевыхСчетов.СчетКазначейства.КассовыйОрган.Код КАК БИК,
| РеквизитыЛицевыхСчетов.СчетКазначейства.КассовыйОрган.КоррСчет КАК КоррСчет,
| РеквизитыЛицевыхСчетов.СчетКазначейства.КассовыйОрган.Наименование КАК НаименованиеБанка,
| РеквизитыЛицевыхСчетов.СчетКазначейства.Код КАК РасчетныйСчет,
| РеквизитыЛицевыхСчетов.Ссылка КАК Ссылка
| ИЗ
| Справочник.РеквизитыЛицевыхСчетов КАК РеквизитыЛицевыхСчетов
| ГДЕ
| РеквизитыЛицевыхСчетов.Владелец.ТипЛицевогоСчета = ЗНАЧЕНИЕ(Перечисление.ТипыЛицевыхСчетов.Казначейский)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РеквизитыЛицевыхСчетов.КассовыйОрган.Код,
| РеквизитыЛицевыхСчетов.КассовыйОрган.КоррСчет,
| РеквизитыЛицевыхСчетов.КассовыйОрган.Наименование,
| РеквизитыЛицевыхСчетов.Владелец.Код,
| РеквизитыЛицевыхСчетов.Ссылка
| ИЗ
| Справочник.РеквизитыЛицевыхСчетов КАК РеквизитыЛицевыхСчетов
| ГДЕ
| РеквизитыЛицевыхСчетов.Владелец.ТипЛицевогоСчета = ЗНАЧЕНИЕ(Перечисление.ТипыЛицевыхСчетов.Банковский)) КАК РеквизитыЛицевыхСчетов
| ПО РП_ВыпискаКвитанций.РеквизитыЛицевогоСчета.Ссылка = РеквизитыЛицевыхСчетов.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| яяСоответствиеУчреждений.КодУчреждения КАК КодУчреждения,
| яяСоответствиеУчреждений.Учреждение КАК Учреждение
| ИЗ
| РегистрСведений.яяСоответствиеУчреждений КАК яяСоответствиеУчреждений) КАК СоответствиеУчреждений
| ПО РП_ВыпискаКвитанций.Учреждение.Ссылка = СоответствиеУчреждений.Учреждение.Ссылка
|ГДЕ
| РП_ВыпискаКвитанций.Дата >= &НачПериода
| И РП_ВыпискаКвитанций.Дата <= &КонПериода
| И РП_ВыпискаКвитанций.Проведен = ИСТИНА
| И РП_ВыпискаКвитанций.Учреждение В(&Учреждение)
|
|УПОРЯДОЧИТЬ ПО
| Код";
Запрос.Текст = ТекстЗапроса;
Для Каждого СтрокаТаблицы ИЗ АнализВыгрузки Цикл;
Запрос.УстановитьПараметр("Учреждение",СтрокаТаблицы.Учреждение);
КонецЦикла;
Запрос.УстановитьПараметр("НачПериода", НачалоДня(ДатаНачала));
Запрос.УстановитьПараметр("КонПериода", КонецДня(ДатаОкончания));
ВыборкаДокументов = Запрос.Выполнить().Выбрать();
ТекстЗапроса = "ВЫБРАТЬ
| РП_ВыпискаКвитанцийКвитанции.Ребенок.Код КАК ЛицевойСчет,
| РП_ВыпискаКвитанцийКвитанции.Ссылка.ГруппаДетскогоУчреждения.Наименование КАК Группа,
| ВложенныйЗапрос.ЗначениеХарактеристики КАК ДатаРождения,
| РП_ВыпискаКвитанцийКвитанции.Ребенок.Контрагент.Фамилия + "" "" + РП_ВыпискаКвитанцийКвитанции.Ребенок.Контрагент.Имя + "" "" + РП_ВыпискаКвитанцийКвитанции.Ребенок.Контрагент.Отчество КАК ФИО,
| РП_ВыпискаКвитанцийКвитанции.Сумма,
| РП_ВыпискаКвитанцийКвитанции.Ссылка.КБКСчетУчетаРП КАК КБК,
| яяСоответствиеУчреждений.КодУчреждения КАК КодУчреждения,
| яяСоответствиеУчреждений.Учреждение КАК УЧРЕЖДЕНИЕ
|ИЗ
| Документ.РП_ВыпискаКвитанций.Квитанции КАК РП_ВыпискаКвитанцийКвитанции
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ХарактеристикиКонтрагентов.ЗначениеХарактеристики КАК ЗначениеХарактеристики,
| Дети.Ссылка КАК Ссылка
| ИЗ
| Справочник.Дети КАК Дети
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ХарактеристикиКонтрагентов КАК ХарактеристикиКонтрагентов
| ПО Дети.Контрагент = ХарактеристикиКонтрагентов.Контрагент
| ГДЕ
| ХарактеристикиКонтрагентов.ВидХарактеристики = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыХарактеристикКонтрагентов.ДатаРождения)) КАК ВложенныйЗапрос
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.яяСоответствиеУчреждений КАК яяСоответствиеУчреждений
| ПО ВложенныйЗапрос.Ссылка.Учреждение = яяСоответствиеУчреждений.Учреждение
| ПО РП_ВыпискаКвитанцийКвитанции.Ребенок.Ссылка = ВложенныйЗапрос.Ссылка
|ГДЕ
| РП_ВыпискаКвитанцийКвитанции.Ссылка = &Ссылка";
СчетчикЗадолженностей = 0;
Пока ВыборкаДокументов.Следующий() Цикл
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Ссылка", ВыборкаДокументов.Ссылка);
ВыборкаДети = Запрос.Выполнить().Выбрать();
Пока ВыборкаДети.Следующий() Цикл
СчетчикЗадолженностей = СчетчикЗадолженностей + 1;
Текст.ДобавитьСтроку(СокрЛП(ВыборкаДети.ЛицевойСчет)+
";"+СокрЛП(ВыборкаДети.ФИО)+
";"+СокрЛП(СтрокаТаблицы.Учреждение)+
";"+СокрЛП("000"+ВыборкаДети.КБК)+
";"+СокрЛП("04701000")+
";"+Формат(ВыборкаДети.Сумма, "ЧГ=0; ЧН=0.00; ЧРД='.'; ЧЦ=15; ЧДЦ=2"));
КонецЦикла;
КонецЦикла;
Для Каждого СтрокаТаблицы ИЗ АнализВыгрузки Цикл;
Текст.Записать((СтрокаТаблицы.ИмяФайлаВыгрузки), "windows-1251");
КонецЦикла;
Сообщить("Выгрузка успешно выполнена",СтатусСообщения.Информация);
ОбработкаПрерыванияПользователя();
КонецПроцедуры
Процедура ОткрытьФайлДляПросмотра(Элемент, Заголовок)
СтандартнаяОбработка = Ложь;
ФайлНаДиске = Новый Файл(Элемент.Значение);
Если Не ФайлНаДиске.Существует() Тогда
Предупреждение("Не найден файл!");
Возврат;
КонецЕсли;
Текст = Новый ТекстовыйДокумент();
Текст.Прочитать(Элемент.Значение);
Текст.Показать(Заголовок,Элемент.Значение);
КонецПроцедуры
Процедура ПриОткрытии()
УдалятьФайлы = Истина;
КонецПроцедуры
Процедура АнализВыгрузкиУчреждениеПриИзменении(Элемент)
СтрокаТаблицыВыгрузки = ЭлементыФормы.АнализВыгрузки.ТекущиеДанные;
СтрокаТаблицыВыгрузки.КодУчреждения = ВернутьУчреждение();
СтрокаТаблицыВыгрузки.ИНН = ПолучитьИННУчрежденияДляВыгрузкиВФайл();
КонецПроцедуры
Процедура АнализВыгрузкиИмяФайлаВыгрузкиНачалоВыбора(Элемент, СтандартнаяОбработка)
//
СтрокаТаблицы = ЭлементыФормы.АнализВыгрузки.ТекущиеДанные;
СтандартнаяОбработка = Ложь;
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогВыбораФайла.МножественныйВыбор = Ложь;
ДиалогВыбораФайла.Заголовок = "Укажите имя файла выгрузки";
ДиалогВыбораФайла.ПолноеИмяФайла = СокрЛП(СтрокаТаблицы.ИНН)+"_sberbank_RP_Plata";
ДиалогВыбораФайла.Фильтр = "Текстовые(*.txt)|*.txt";
Если ДиалогВыбораФайла.Выбрать() Тогда
СтрокаТаблицы.ИмяФайлаВыгрузки = ДиалогВыбораФайла.ПолноеИмяФайла;
КонецЕсли;
КонецПроцедуры
Процедура АнализВыгрузкиИмяФайлаВыгрузкиОткрытие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
ОткрытьФайлДляПросмотра(Элемент,"Файл выгрузки");
КонецПроцедуры
Процедура АнализВыгрузкиИННПриИзменении(Элемент)
СтрокаТаблицыВыгрузки = ЭлементыФормы.АнализВыгрузки.ТекущиеДанные;
СтрокаТаблицыВыгрузки.КодУчреждения = ВернутьУчреждение();
СтрокаТаблицыВыгрузки.ИНН = ПолучитьИННУчрежденияДляВыгрузкиВФайл();
КонецПроцедуры
Процедура АнализВыгрузкиУчреждениеОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
СтрокаТаблицыВыгрузки = ЭлементыФормы.АнализВыгрузки.ТекущиеДанные;
СтрокаТаблицыВыгрузки.КодУчреждения = ВернутьУчреждение();
КонецПроцедуры
Процедура АнализВыгрузкиПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
СтрокаТаблицыВыгрузки = ЭлементыФормы.АнализВыгрузки.ТекущиеДанные;
СтрокаТаблицыВыгрузки.КодУчреждения = ВернутьУчреждение();
КонецПроцедуры
СписокДок = Новый СписокЗначений;
НастройкаПериода = Новый НастройкаПериода;
мВалютаРегламентированногоУчета = Константы.ВалютаРегламентированногоУчета.Получить();