Пример использования внешнего набора данных
Для использования в схеме компоновки данных внешнего набора данных сначала необходимо создать набор данных объект, и указать имя объекта, содержащего данные:
Далее необходимо программно выполнить формирование отчета, заполнив внешний набор данных:
ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТЗ", ТЗ); СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных); ТабличныйДокумент = Новый ТабличныйДокумент; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
В данном примере ТЗ – переменная с типом таблица значений.
При попытке вывести отчет в сводную таблицу возникает ошибка:
Ошибка получения данных источника
по причине:
Ошибка создания набора данных “ТЗ”
по причине:
Не найден внешний набор данных “ТЗ””
Кто-нибудь знает, как решить эту проблему?
Вывод в сводную таблицу делается так:
ИсточникСводнойТаблицы = Новый ИсточникДанныхСводнойТаблицыКомпоновкиДанных;
ИсточникСводнойТаблицы.УстановитьСхему(СКД);
ЭлементыФормы.Результат1.ВстроенныеТаблицы.СводнаяТаблица1.ИсточникДанных = ИсточникСводнойТаблицы;
ИсточникСводнойТаблицы.УстановитьНастройки(КомпоновщикНастроек.Настройки);
У меня такая же ошибка.
не поэтому? https://1cskd.ru/2010/08/neponyatka-pri-podklyuchenii-k-zaprosu-vneshnej-tablicy-perestali-rabotat-vneshnie-funkcii/
У меня изначально в коде было инициировать… Не работает.
И параметр был Истина?
Упс. Дописал “Истина” – заработало.
Спасибо!
Думаю, что у nikav тоже самое
Да. Спасибо.
А как же быть с расшифровками? Может есть какой способ их добавить?
Ошибка исполнения отчета
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных “НаборДанных2”
по причине:
Не найден внешний набор данных “Данные”
Что у меня тут не так?
Функция ЗагрузитьПоказатели2() возвращает таблицу значений
СхемаКомпоновкиДанных=ЭтотОбъект.СхемаКомпоновкиДанных;
Настройки = ЭтотОбъект.КомпоновщикНастроек.Настройки;
ПараметрНачало = Настройки.ПараметрыДанных.Элементы[0];
ПараметрНачало.Значение = НачалоДня(ЭтотОбъект.НачПериода);
ПараметрНачало.Использование = Истина;
ПараметрКонец = Настройки.ПараметрыДанных.Элементы[1];
ПараметрКонец.Значение = КонецДня(ЭтотОбъект.КонПериода);
ПараметрКонец.Использование = Истина;
ВыводЗаголовка = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(“Заголовок”));
ВыводЗаголовка.Значение = “Анализ анализа”;
ВыводЗаголовка.Использование = Истина;
ВнешниеНаборыДанных = Новый Структура;
Данные=ЗагрузитьПоказатели2();
ВнешниеНаборыДанных.Вставить(“Данные”,Данные);
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки,Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);