Untitled
unknown
plain_text
2 years ago
6.6 kB
11
Indexable
&НаСервере
Функция СформироватьНаСервере()
Обработка = РеквизитФормыВЗначение("Объект");
ТабДок = Новый ТабличныйДокумент;
Макет = Обработка.ПолучитьМакет("Макет");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
| ХозрасчетныйОстаткиИОбороты.Субконто1 КАК НаименованиеБанка,
| СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт) КАК НачальныйОстаток,
| ХозрасчетныйОстаткиИОбороты.Период КАК ПериодНеделя
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Неделя, , Счет В (&НомерСчета), &ВидыСубконто, ) КАК ХозрасчетныйОстаткиИОбороты
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОстаткиИОбороты.Счет,
| ХозрасчетныйОстаткиИОбороты.Субконто1,
| ХозрасчетныйОстаткиИОбороты.Период
|ИТОГИ
| СУММА(НачальныйОстаток)
|ПО
| ПериодНеделя ПЕРИОДАМИ(НЕДЕЛЯ, , )";
Запрос.УстановитьПараметр("ВидыСубконто", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.БанковскиеСчета);
СписокСчетовДляПараметра = Новый Массив;
СписокСчетовДляПараметра.Добавить(ПланыСчетов.Хозрасчетный.РасчетныеСчета);
СписокСчетовДляПараметра.Добавить(ПланыСчетов.Хозрасчетный.ВалютныеСчета);
Запрос.УстановитьПараметр("НомерСчета",СписокСчетовДляПараметра);
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
РезультатЗапроса = Запрос.Выполнить();
ОбластьСтатичнаяКолонка = Макет.ПолучитьОбласть("СтатичнаяКолонка");
ТабДок.Вывести(ОбластьСтатичнаяКолонка);
ОбластьКолонка = Макет.ПолучитьОбласть("Колонка");
ВыборкаПериодНеделя = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПериодНеделя.Следующий() Цикл
Если ВыборкаПериодНеделя.ПериодНеделя >= Объект.Период.ДатаНачала Тогда
ВыборкаДетальныеЗаписи = ВыборкаПериодНеделя.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
НеделяПоСчету = НеделяГода(ВыборкаДетальныеЗаписи.ПериодНеделя);
ОбластьКолонка.Параметры.Неделя = Формат(ВыборкаДетальныеЗаписи.ПериодНеделя, "ДФ=dd.MM.yyyy");
ОбластьКолонка.Параметры.НомерНедели = НеделяПосчету;
Если ВыборкаДетальныеЗаписи.НаименованиеБанка = Справочники.БанковскиеСчетаОрганизаций.НайтиПоНаименованию("р/с ""КОММЕРЦБАНК (ЕВРАЗИЯ)""") Тогда
ОбластьКолонка.Параметры.БКР = ВыборкаДетальныеЗаписи.НачальныйОстаток;
ИначеЕсли ВыборкаДетальныеЗаписи.НаименованиеБанка = Справочники.БанковскиеСчетаОрганизаций.НайтиПоНаименованию("RUR Расчетный в АО ""РАЙФФАЙЗЕНБАНК"" (Расчетный)")Тогда
ОбластьКолонка.Параметры.БРР = ВыборкаДетальныеЗаписи.НачальныйОстаток;
ИначеЕсли ВыборкаДетальныеЗаписи.НаименованиеБанка = Справочники.БанковскиеСчетаОрганизаций.НайтиПоНаименованию("RUR Расчетный в ПАО ""ПРОМСВЯЗЬБАНК""") Тогда
ОбластьКолонка.Параметры.БПР = ВыборкаДетальныеЗаписи.НачальныйОстаток;
ИначеЕсли ВыборкаДетальныеЗаписи.НаименованиеБанка = Справочники.БанковскиеСчетаОрганизаций.НайтиПоНаименованию("EUR КОММЕРЦБАНК (валютный текущий)") Тогда
ОбластьКолонка.Параметры.БКЕ = ВыборкаДетальныеЗаписи.НачальныйОстаток;
ИначеЕсли ВыборкаДетальныеЗаписи.НаименованиеБанка = Справочники.БанковскиеСчетаОрганизаций.НайтиПоРеквизиту("НомерСчета","40702978400000011129") Тогда
ОбластьКолонка.Параметры.БРЕ = ВыборкаДетальныеЗаписи.НачальныйОстаток;
КонецЕсли;
КонецЦикла;
ОбластьКолонка.Параметры.БББ = ВыборкаПериодНеделя.НачальныйОстаток;
ТабДок.Вывести(ОбластьКолонка);
КонецЕсли;
КонецЦикла;
Возврат ТабДок;
КонецФункции
Editor is loading...