Процедура
ДействияФормыСформироватьОтчет(Кнопка)
СКД = Новый СхемаКомпоновкиДанных;
ИД = СКД.ИсточникиДанных.Добавить();
ИД.Имя
= "ИсточникДанных";
ИД.СтрокаСоединения
= "";
ИД.ТипИсточникаДанных
= "Local";
НД = СКД.НаборыДанных.Добавить(Тип
("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НД.Имя
= "НаборДанных";
НД.Запрос
="ВЫБРАТЬ
| Контрагенты.Код,
| Контрагенты.Наименование
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
НД.ИсточникДанных
= "ИсточникДанных";
//Поля в наборе данных
Поле1 = НД.Поля.Добавить(Тип
("ПолеНабораДанныхСхемыКомпоновкиДанных"));
Поле1.Поле = "Код";
Поле1.ПутьКДанным =
"Код";
Поле1.Заголовок =
"Код";
Поле1 = НД.Поля.Добавить(Тип
("ПолеНабораДанныхСхемыКомпоновкиДанных"));
Поле1.Поле = "Наименование";
Поле1.ПутьКДанным =
"Наименование";
Поле1.Заголовок =
"Наименование";
//Выбранные поля
ВыбранноеПоле
=
СКД.ВариантыНастроек[0].Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПоле.Использование
= Истина;
ВыбранноеПоле.Поле
= Новый ПолеКомпоновкиДанных("Код");
ВыбранноеПоле
=
СКД.ВариантыНастроек[0].Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПоле.Использование
= Истина;
ВыбранноеПоле.Поле
= Новый ПолеКомпоновкиДанных("Наименование");
//Добавляем
группировку
Структура =
СКД.ВариантыНастроек[0].Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
Структура.Использование
= Истина;
Структура.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
Структура.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));
Настройки = СКД.НастройкиПоУмолчанию;
ДанныеРасшифровкиСКД
= Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета
= Новый КомпоновщикМакетаКомпоновкиДанных;
ПроцессорКомпоновкиДанных
= Новый ПроцессорКомпоновкиДанных;
МакетКомпоновки
= КомпоновщикМакета.Выполнить(СКД, Настройки, ДанныеРасшифровкиСКД);
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ,ДанныеРасшифровкиСКД);
ПроцессорВывода
= Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
//Вывод
результата отчета
ЭлементыФормы.Результат.Очистить();
ДР = ЭлементыФормы.Результат;
ПроцессорВывода.УстановитьДокумент(ДР);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
|