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