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