Есть внешний отчет созданный в СКД. Добавляю кнопку на форму отчета для обработки результата отчета. Как можно программно получить таблицу выведенную в отчете для дальнейшей обработки?
---
В итоге таблицу получил следующим кодом:
В модуле формы:

 ДокументОбъект = РеквизитФормыВЗначение("Отчет");
 ТЗ = ДокументОбъект.ПолучениеРезультатаСКД();

в модуле отчета:

Функция ПолучениеРезультатаСКД() Экспорт
 КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

    // Инициализация процессора компоновки
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,,);

    Таблица = Новый ТаблицаЗначений;

    // Получение результата
    ПроцессорВыводаРезультатаКомпоновкиДанных = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ПроцессорВыводаРезультатаКомпоновкиДанных.УстановитьОбъект(Таблица);
    ПроцессорВыводаРезультатаКомпоновкиДанных.Вывести(ПроцессорКомпоновкиДанных);
 Возврат Таблица

КонецФункции // ()
---
Если запрос и результат в СКД линейный еще реально получить ТЗ
а если какие то группировки и по строкам и по столбцам то может и не выгрузиться

проще уже сам запрос из СКД вытаскивать и использовать его в обработке
(да вроде так и правильнее )
---
И ещё есть вопрос, после выведения отчета можно ли выделить несколько строк и нажатием на кнопку получить данные этих строк для дальнейшей обработки?
---
проще уже сам запрос из СКД вытаскивать и использовать его в обработке
А если пользователь в отчет добавит отборы, как их получить для того чтобы УстановитьПараметр в запросе?
---
При программном выводе можно вывести отчет в таблицу значений в событии "ПриКомпоновкеРезультата". Но оно кросс-таблицы не умеет, если не научили еще.
---
можно вывести отчет в таблицу значений
А как можно потом получить эту таблицу, нажав на новую кнопку на форме?
---
В итоге таблицу получил следующим кодом:
В модуле формы:

 ДокументОбъект = РеквизитФормыВЗначение("Отчет");
 ТЗ = ДокументОбъект.ПолучениеРезультатаСКД();

в модуле отчета:

Функция ПолучениеРезультатаСКД() Экспорт
 КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

    // Инициализация процессора компоновки
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,,);

    Таблица = Новый ТаблицаЗначений;

    // Получение результата
    ПроцессорВыводаРезультатаКомпоновкиДанных = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ПроцессорВыводаРезультатаКомпоновкиДанных.УстановитьОбъект(Таблица);
    ПроцессорВыводаРезультатаКомпоновкиДанных.Вывести(ПроцессорКомпоновкиДанных);
 Возврат Таблица

КонецФункции // ()
---
А кнопка точно нужна? Может стоит погуглить ПриКомпоновкеРезультата?
Или тут (ссылка) почитать, если лень искать.
---
еще как вариант, в СКД можно вклиниваться в обработку расшифровки и добавлять свои команды в контекстное меню
по ПКМ при кликанье на поле/ячейки отчета.
в своей процедуре обработке, получив данные расшифровки можно выполнить нужную обработку.
---
https://infostart.ru/1c/articles/1223500/