вывод СКД Таблицы

Отзывов (2)FavoriteLoadingВ закладки

Необходимо вывести СКД в таблицу значений. СКД содержит в себе 3 набора данных. В настройках указана таблица (Строки и Колонки).

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

2 Коммент.

  1. Так попробуй:

    // Заполняет переданный объект на основани СКД
    //
    // Параметры
    //
    // СКД – собствеено настройки СКД
    //
    // ОбъектДляЗагрузки – объект в который выгружаются данные, таблица значений, дерево значений, табличный документ
    //
    // ИсполняемыеНастройки – Пользовательские настройки СКД если не указаны будут использованы настроки СКД по умолчанию
    //
    // СтруктураПараметров – Структура – Передаваемые для СКД параметры
    //
    // краткий лекбез, поправлю позже
    //
    Процедура ПолучитьДанныеНаОснованииСКД(СКД, ИсполняемыеНастройки = Неопределено, ОбъектДляЗагрузки, СтруктураПараметров = Неопределено, РасшифровкаСКД = Неопределено, МакетКомпоновки = Неопределено, ВнешниеНаборыДанных = Неопределено) Экспорт

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

    Если ТипЗнч(ОбъектДляЗагрузки) = Тип(“ПолеТабличногоДокумента”) ИЛИ ТипЗнч(ОбъектДляЗагрузки) = Тип(“ТабличныйДокумент”) Тогда
    ТипГенератора = Тип(“ГенераторМакетаКомпоновкиДанных”);
    Иначе
    ТипГенератора = Тип(“ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений”);
    КонецЕсли;

    Если ИсполняемыеНастройки = Неопределено Тогда

    ИсполняемыеНастройки = СКД.НастройкиПоУмолчанию;

    КонецЕсли;

    Если СтруктураПараметров Неопределено Тогда

    КоллекцияЗначенийПараметров = ИсполняемыеНастройки.ПараметрыДанных.Элементы;

    Для каждого Параметр Из СтруктураПараметров Цикл

    НайденноеЗначениеПараметра = КоллекцияЗначенийПараметров.Найти(Параметр.Ключ);

    Если НайденноеЗначениеПараметра Неопределено Тогда

    НайденноеЗначениеПараметра.Использование = Истина;

    НайденноеЗначениеПараметра.Значение = Параметр.Значение;

    КонецЕсли;

    КонецЦикла;

    КонецЕсли;

    МакетКомпоновкиСКД = КомпоновщикМакета.Выполнить(СКД, ИсполняемыеНастройки, РасшифровкаСКД, МакетКомпоновки, ТипГенератора);

    ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных;

    ПроцессорКомпановки.Инициализировать(МакетКомпоновкиСКД, ВнешниеНаборыДанных, РасшифровкаСКД);

    Если ТипЗнч(ОбъектДляЗагрузки) = Тип(“ПолеТабличногоДокумента”) ИЛИ ТипЗнч(ОбъектДляЗагрузки) = Тип(“ТабличныйДокумент”) Тогда

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

    ПроцессорВывода.УстановитьДокумент(ОбъектДляЗагрузки);

    Иначе

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

    ПроцессорВывода.УстановитьОбъект(ОбъектДляЗагрузки);

    КонецЕсли;

    ПроцессорВывода.ОтображатьПроцентВывода = Истина;

    ПроцессорВывода.Вывести(ПроцессорКомпановки, Истина);

    КонецПроцедуры // ПолучитьДанныеНаОснованииСКД()

    // Пример использования
    //ДеревоЗначений = Новый ТаблицаЗначений;
    //СхемаКомпоновкиДанных = ПолучитьМакет(“ОсновнаяСхемаКомпоновкиДанных”);
    ////СтруктураПараметров = Новый Структура(“ДатаОтчета”, НашаДата);
    //ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, ДеревоЗначений, Неопределено);
    //
    //ДеревоЗначений.ВыбратьСтроку();

  2. При СКД с группировкой по строкам и колонкам вывод в таблицу будет ограничен

Оставить комментарий

RSSКомментарии в RSS

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.