Пример использования СКД отчета для заполнения табличного документа.
Заполняем табличный документ при помощи отчета СКД.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Отчет = Отчеты.МаркетинговыйПлан.Создать(); Схема = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ТабДок = Новый ТабличныйДокумент; // Типы переменных: // Схема - СхемаКомпоновкиДанных // Настройки - НастройкиКомпоновкиДанных // ЗначениеЧегоТо - ЗначениеПараметраНастроекКомпоновкиДанных // Макет - МакетКомпоновкиДанных ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема); КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек); // --- установка параметров Настройки = Схема.НастройкиПоУмолчанию; Приоритет = Настройки.ПараметрыДанных.Элементы.Найти("Приоритет"); Приоритет.Использование = Истина; Приоритет.Значение = Веротяность; // --- установка отборов Если ЗначениеЗаполнено(ТГП) тогда ПолеОтбораТГП = Новый ПолеКомпоновкиДанных("Основание.МВЗ.ТГП"); ОтборПоТГП = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборПоТГП.ЛевоеЗначение = ПолеОтбораТГП; ОтборПоТГП.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборПоТГП.ПравоеЗначение = ТГП; ОтборПоТГП.Использование = Истина; КонецЕсли; // --- компануем Макет = КомпоновщикМакета.Выполнить(Схема, Настройки); ПроцессорКомпоновки.Инициализировать(Макет,,,Истина); ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновки); |