public object ПолучитьМакетКомпоновки(/*ОтчетОбъект, СхемаКомпоновкиДанных, КомпоновщикНастроек, ДанныеРасшифровки, ВнешниеНаборыДанных, ВыводВТабличныйДокумент*/)
{
//ЗначенияНастроек = ТиповыеОтчеты.ПолучитьЗначенияНастроекПанелиПользователяОбъекта(ОтчетОбъект);
//ТипОбработки = ПолучитьСтруктуруТипОбработки(ЗначенияНастроек, КомпоновщикНастроек);
//Дорабатывать = ТипОбработки.Количество() > 0;
/*// Проверяем, количество наборов данных и их тип. Допустим один - запрос
*/
if(true/*Дорабатывать И Не ВОбъектеОдинНаборДанных(СхемаКомпоновкиДанных)*/)
{
//ТекстСообщения = "Допустим только один набор данных. Дополнительные возможности недоступны.";
//ОбщегоНазначения.Сообщение(ТекстСообщения,,"Формирование отчета", ОтчетОбъект.Ссылка);
//Дорабатывать = Ложь;
}
/*// Если дорабатывать компоновщик не надо, сразу возвращаем макет компоновки
*/
if(true/*Не Дорабатывать*/)
{
//КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
if(true/*ВыводВТабличныйДокумент*/)
{
//МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
}
}
/*// Добавляем элементы структуры, чтобы поля попали в выполняемый запрос
*/
/*//Если ТипОбработки.Свойство("ABCКлассификация") Тогда
*/
/*// ДобавитьЭлементСтруктурыДляABCКЛассификации(КомпоновщикНастроек);
*/
/*//КонецЕсли;
*/
//КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
/*// Получаем таблицу результата
*/
//ТЗ = ПолучитьТаблицуРезультатПоМакетуКомпоновки(МакетКомпоновки.НаборыДанных, МакетКомпоновки.ЗначенияПараметров, ВнешниеНаборыДанных);
if(true/*ТЗ = Неопределено*/)
{
}
//СписокНовыхПолей = Новый СписокЗначений;
/*// Отработка ТОП
*/
if(true/*ТипОбработки.Свойство("Топ")*/)
{
//ОтработатьОпциюТоп(ЗначенияНастроек, ТЗ, КомпоновщикНастроек);
}
/*// Отработка Порог
*/
if(true/*ТипОбработки.Свойство("Порог")*/)
{
//ОтработатьОпциюПорог(ЗначенияНастроек, ТЗ, КомпоновщикНастроек);
}
/*// Отработка скрыть нулевые
*/
if(true/*ТипОбработки.Свойство("СкрытьНулевые")*/)
{
//ОтработатьОпциюСкрытьНулевые(ТЗ, КомпоновщикНастроек, СписокНовыхПолей);
}
/*// Добавляем в таблицу результата ABC классификацию
*/
if(true/*ТипОбработки.Свойство("ABCКлассификация")*/)
{
//ДобавитьВТаблицуРезультатаABCКлассификацию(ТЗ, КомпоновщикНастроек, СписокНовыхПолей);
}
/*// Формируем внешний набор данных
*/
//ВнешниеНаборыДанных = Новый Структура;
//ВнешниеНаборыДанных.Вставить("Результат", ТЗ);
/*// Добавим в один из наборов новые поля
*/
/*// Это необходимо для успешной инициализации компоновщика настроек
*/
//НаборДанныхСКД = СхемаКомпоновкиДанных.НаборыДанных[0];
if(true/*ТипЗнч(НаборДанныхСКД) = Тип("НаборДанныхОбъединениеСхемыКомпоновкиДанных")*/)
{
}
if(true/*ТипЗнч(НаборДанныхСКД) = Тип("НаборДанныхЗапросСхемыКомпоновкиДанных")*/)
{
//НаборДанныхСКД.Запрос = ПолучитьТекстВнешнегоЗапроса(НаборДанныхСКД.Запрос, СписокНовыхПолей, НаборДанныхСКД.Поля);
}
/*// Схема компоновки изменилась, переинициализируем компоновщик настроек
*/
//КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
/*// Перенастраиваем пользовательские поля для ABC классификации
*/
//ПеренастроитьПользовательскиеПоляДляABCКлассификации(КомпоновщикНастроек);
/*// Установим отбор на группировки - не выводить нулевые строки
*/
if(true/*ТипОбработки.Свойство("СкрытьНулевые")*/)
{
//УстановитьОтборНаНулевыеГруппировки(КомпоновщикНастроек);
}
//ТиповыеОтчеты.ДобавитьПолеИтога(СхемаКомпоновкиДанных, "СуммаРесурсовПоМодулю");
/*// Получим Макет компоновки
*/
//КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
if(true/*ВыводВТабличныйДокумент*/)
{
//МакетКомпоновкиНовый = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
}
/*// Добавляем новый набор данных в макет (схему лучше не изменять)
*/
//СтарыйНаборДанных = МакетКомпоновкиНовый.НаборыДанных[0];
//НаборДанныхОбъект = МакетКомпоновкиНовый.НаборыДанных.Добавить(Тип("НаборДанныхОбъектМакетаКомпоновкиДанных"));
//НаборДанныхОбъект.Имя = СтарыйНаборДанных.Имя;
//НаборДанныхОбъект.ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных[0].Имя;
//НаборДанныхОбъект.ИмяОбъекта = "Результат";
//МакетКомпоновкиНовый.НаборыДанных.Удалить(СтарыйНаборДанных);
return null;
}