Возможности СКД можно использовать не только для создания отчетов, но и для произвольных отборов.
На форме документа необходимо поместить реквизит с типом КомпоновщикНастроекКомпоновкиДанных.

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