Добрый день. Делаю отчет на СКД. На закладке "Макет" сделал шапку и поля для данных. А вот как вывести значения отбора (те что пользователь указывает в настройках "отбор") не пойму.
я скорей всего сделал бы это программно, по аналогии с передачей в СКД данных с формы
<code>
ВАЖНО: отчет = реквизиты - внешниеОбработки - эта обработка
Процедура КнопкаВыполнитьНажатие(Кнопка)
СхемаКомпоновкиДанных = отчет.ПолучитьМакет("запросПоОстаткам");
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ПараметрСКД = Настройки.ПараметрыДанных.Элементы.Найти("период");
ПараметрСКД.Использование = Истина;
ПараметрСКД.Значение = конецДня(текущаяДата());
ПараметрСКД = Настройки.ПараметрыДанных.Элементы.Найти("выбСклад") ;
ПараметрСКД.Использование = Истина;
ПараметрСКД.Значение = справочники.Склады.НайтиПоКоду("000000007");
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ВнешниеНаборыДанных = неопределено;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных);
ТабДок = Новый ТабличныйДокумент;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.НачатьВывод();
Пока Истина Цикл
ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
Если ЭлементРезультата = Неопределено Тогда
Прервать;
Иначе
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЕсли;
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
ТабДок.ОтображатьСетку = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.Показать("Отчет");
КонецПроцедуры
</code>
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший