Скд вывод двух макетов в одно поле Табличного документа
Вроде все просто как при смене Скд одну на другую, но что-то не все так очевидно получается.
Задача в следующем имеется две СКД с одинаковыми параметрами (НачалоПериода, КонецПериода), по кнопке сформировать нужно чтобы вывелись данные по СКД1 со своими отборами далее вывелись данные СКД2 без отборов но с аналогичными параметрами по датам, вот какой код у меня
и почему то вот тут
я не получаю параметра хотя в СКД параметры имеются, а в настройкахПоУмолчанию получаю пусто.. подскажите почему нет параметров у схемы
Задача в следующем имеется две СКД с одинаковыми параметрами (НачалоПериода, КонецПериода), по кнопке сформировать нужно чтобы вывелись данные по СКД1 со своими отборами далее вывелись данные СКД2 без отборов но с аналогичными параметрами по датам, вот какой код у меня
Процедура ДействияФормыСформировать(Кнопка)
КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,КомпоновщикНастроек.Настройки,ДанныеРасшифровки);
ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки,Истина);
ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
//*воруем параметры
Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ДатаНач = Параметр.Значение ;
Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ДатаКон = Параметр.Значение;
//**
//Подменяем СКД
СхемаКомпоновкиДанных = ПолучитьМакет("Коэф2_Коэф3");
Настройки = ЭтотОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
//* подставляем параметры
Параметр = Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
Параметр.Значение = ДатаНач;
Параметр.Использование = Истина;
Параметр = Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
Параметр.Значение = ДатаКон;
Параметр.Использование = Истина;
//*
//повторяем вывод по другой СКД
КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки);
ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки,Истина);
ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
Показатьи почему то вот тут
Параметр = Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
я не получаю параметра хотя в СКД параметры имеются, а в настройкахПоУмолчанию получаю пусто.. подскажите почему нет параметров у схемы
По теме из базы знаний
- Редактирование табличной части объекта с помощью СКД
- Полезные процедуры по работе с СКД и табличными документами (часть 2)
- Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП
- Нестандартное использование СКД
- Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) unoDosTres,
я тут намедни тоже подобную хрень делал, скажу одно, отлаживать трудно, победил только когда каждый шаг отладчиком исследовал.
А так, советовать только по тексту, не комильфо ))
но все же. Мне вообще не нравится строка
ты вообще что делаешь ей ?
В переменную настройки вытаскиваешь из схемы ?
Просто метод загрузить, он же наоборот заново заполняет пользовательские настройки.
Может тебе надо ПолучитьНастройки() использовать ?
Я бы поковырял в эту сторону.. может тем временем, еще кто какой совет даст
я тут намедни тоже подобную хрень делал, скажу одно, отлаживать трудно, победил только когда каждый шаг отладчиком исследовал.
А так, советовать только по тексту, не комильфо ))
но все же. Мне вообще не нравится строка
Настройки = ЭтотОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ты вообще что делаешь ей ?
В переменную настройки вытаскиваешь из схемы ?
Просто метод загрузить, он же наоборот заново заполняет пользовательские настройки.
Может тебе надо ПолучитьНастройки() использовать ?
Я бы поковырял в эту сторону.. может тем временем, еще кто какой совет даст
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот