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