![]() |
![]() |
![]() |
|
при выводе СКД в таблицу не учитываются параметры | ☑ | ||
---|---|---|---|---|
0
SvoyaSistema
29.04.14
✎
14:02
|
Есть СКД. Управляемые формы УТ11. Необходимо результат вывода СКД перехватить и вывести в таблицу. Всё работает с приведённым кодом ниже, но не учитываются параметры, которые есть в быстром выводе , доступные в пользовательских настройках. То есть даты фильтра при вывода на экран - одни, а в таблице данные по другим датам и так по другим параметрам, существующим в СКД. Мало того , в быстрых настройках есть параметр Календарь - Справочник.Ссылка.Календари Так вот по этому параметру вообще ругается - не установлен параметр. Хотя , если не перехватывать - то всё установлено и работает. Если настройки убрать - то есть запрос без параметров, то в таблицу попадает всё, что есть на экране в результатах СКД. Вот код в Модуле объекта отчета.
// Перехват вывода отчета Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; // отключаем стандартный вывод отчета - будем выводить программно Настройки = КомпоновщикНастроек.ПолучитьНастройки() ;// Получаем настройки отчета ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; // Создаем данные расшифровки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Создаем компоновщик макета // Инициализируем макет компоновки используя схему компоновки данных // и созданные ранее настройки и данные расшифровки СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); // Скомпонуем результат ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); ДокументРезультат.Очистить(); // Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); ДокументРезультат.ФиксацияСлева = 1; // Устанавливаем фиксацию в табличном документе СформироватьОтчетВТаблицуЗначений(); КонецПроцедуры Процедура СформироватьОтчетВТаблицуЗначений(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина, ВнешниеНаборыДанных = Неопределено) Экспорт ТаблицаЗаказов = Новый ТаблицаЗначений ; // - > результат отчета в таблицу значений Настройки = КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(ТаблицаЗаказов); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); // < - результат отчета в таблицу значений КонецПроцедуры |
|||
1
Поpyчик-4
29.04.14
✎
15:00
|
Вот код, который я использую в отчетах. Параметры учитываются. ЧЯДНТ?
/////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки(); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); //Создадим и инициализируем процессор компоновки ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина); //Создадим и инициализируем процессор вывода результата ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры |
|||
2
SvoyaSistema
29.04.14
✎
17:27
|
А где тут таблица со значениями результатов СКД ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |