Пожалуйста помогите с решением.
Есть нетиповая конфигурация(платф 8.3)
Отчет выводится в таком виде:
СкладСельскогоОкруга КРС МРС
План План
Акбастау 35 35
Есенгельды 55 55
Есенгельды 35 35
А нужно:
СкладСельскогоОкруга КРС МРС
План План
Акбастау 35 35
Есенгельды 55 35
Вот код:
Макет = Отчеты.ОтчетПротивоэпизотическихМероприятий.ПолучитьМакет("Макет");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПланОстаткиИОбороты.СкладСельскогоОкруга КАК СкладСельскогоОкруга,
| ПланОстаткиИОбороты.ВидЖивотного КАК ВидЖивотного,
| ПланОстаткиИОбороты.ОтБолезни КАК ОтБолезни,
| ПланОстаткиИОбороты.КоличествоЖивотныхПриход КАК Запланировано,
| ПланОстаткиИОбороты.КоличествоЖивотныхРасход КАК Провакцинировано,
| ОстаткиНаСкладахОстаткиИОбороты.КоличествоПриход КАК Поступило,
| ОстаткиНаСкладахОстаткиИОбороты.КоличествоРасход КАК Использовано
|ИЗ
| РегистрНакопления.План.ОстаткиИОбороты КАК ПланОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНаСкладах.ОстаткиИОбороты КАК ОстаткиНаСкладахОстаткиИОбороты
| ПО ПланОстаткиИОбороты.ВидЖивотного = ОстаткиНаСкладахОстаткиИОбороты.ВидЖивотного
| И ПланОстаткиИОбороты.ОтБолезни = ОстаткиНаСкладахОстаткиИОбороты.Биопрепарат.ОтБолезни
| И ПланОстаткиИОбороты.СкладСельскогоОкруга = ОстаткиНаСкладахОстаткиИОбороты.Склад
|ГДЕ
| ПланОстаткиИОбороты.СкладРегиона = &СкладРегиона
| И ПланОстаткиИОбороты.ОтБолезни = &ОтБолезни
| И ПланОстаткиИОбороты.ПериодПланирования МЕЖДУ &НачалоПериода И &КонецПериода";
Запрос.УстановитьПараметр("КонецПериода",Отчет.КонецПериода);
Год = Формат(Год(Отчет.КонецПериода),"ЧГ = 0");
Отчет.НачалоПериода = Дата(Год+"0101000000");
Запрос.УстановитьПараметр("НачалоПериода",Отчет.НачалоПериода);
Запрос.УстановитьПараметр("ОтБолезни", Отчет.ОтБолезни);
Запрос.УстановитьПараметр("СкладРегиона", Отчет.СкладРегиона);
Результат = Запрос.Выполнить().Выгрузить();
ОбластьШапка = Макет.ПолучитьОбласть("Шапка|Склад");
ОбластьШапкаЗаголовок = Макет.ПолучитьОбласть("ШапкаЗаголовок|Склад");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали|Склад");
ОбластьШапкаД = Макет.ПолучитьОбласть("Шапка|Данные");
ОбластьШапкаЗаголовокД = Макет.ПолучитьОбласть("ШапкаЗаголовок|Данные");
ОбластьДетальныхЗаписейД = Макет.ПолучитьОбласть("Детали|Данные");
ТабДок.Очистить();
Результат1 = Результат.Скопировать();
Результат1.Свернуть("ВидЖивотного");
Табдок.Вывести(ОбластьШапка);
Для каждого Колонка из Результат1 Цикл
ОбластьШапкаД.Параметры.ВидЖивотного = Колонка.ВидЖивотного;
Табдок.Присоединить(ОбластьШапкаД);
КонецЦикла;
Табдок.Вывести(ОбластьШапкаЗаголовок);
Для Каждого Колонка Из Результат1 Цикл
Табдок.Присоединить(ОбластьШапкаЗаголовокД);
КонецЦикла;
Результат2 = Результат.Скопировать();
Для каждого стр из Результат2 Цикл
ОбластьДетальныхЗаписей.Параметры.СкладСельскогоОкруга = стр.СкладСельскогоОкруга;
Табдок.Вывести(ОбластьДетальныхЗаписей);
Для Каждого Колонка из Результат1 Цикл
ОбластьДетальныхЗаписейД.Параметры.План = стр.Запланировано;
ОбластьДетальныхЗаписейД.Параметры.Исполнено = стр.Провакцинировано;
ОбластьДетальныхЗаписейД.Параметры.Поступило = стр.Поступило;
ОбластьДетальныхЗаписейД.Параметры.Использовано = стр.Использовано;
Табдок.Присоединить(ОбластьДетальныхЗаписейД);
КонецЦикла;
КонецЦикла;
Показать