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