![]() |
![]() |
![]() |
|
СКД Добавить программно ресурс | ☑ | ||
---|---|---|---|---|
0
Sereja
05.02.14
✎
16:05
|
Добрый день. Есть отчет, СКД. НаборНаддых = Объект(ТаблицаЗначений)
Хочу добавить программно ресурс и измерение. Ресурс1 и Измерение1 Добавил вручную в СКД. Ресурс2 и Измерени2 хочу вывести программно. Никак не получается. Посмотрите код: Таблица = Новый ТаблицаЗначений; Таблица.Колонки.Добавить("Измерение1"); Таблица.Колонки.Добавить("Измерение2"); Таблица.Колонки.Добавить("Ресурс1"); Таблица.Колонки.Добавить("Ресурс2"); нс = Таблица.Добавить(); нс.Измерение1 = "ааа"; нс.Измерение2 = "ббб"; нс.Ресурс1 = 1; нс.Ресурс2 = 2; ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("Перевозки",Таблица); СхемаКомпоновкиДанных = ПолучитьМакет("Макет"); НаборДанных = СхемаКомпоновкиДанных.НаборыДанных[0]; Поле1 = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); Поле1.Поле = "Измерение2"; Поле1.ПутьКДанным = "Измерение2"; Поле1.Заголовок = "Измерение2"; Поле2 = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); Поле2.Поле = "Ресурс2"; Поле2.ПутьКДанным = "Ресурс2"; Поле2.Заголовок = "Ресурс2"; ПолеРесурса = СхемаКомпоновкиДанных.ПоляИтога.Добавить(); ПолеРесурса.ПутьКДанным = "Ресурс2"; ПолеРесурса.Выражение = "Сумма(Ресурс2)"; // ЭлементыФормы.Результат.Очистить(); Настройки = СхемаКомпоновкиДанных.ВариантыНастроек.Основной.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ЭлементыФормы.Результат.ТолькоПросмотр = Истина; |
|||
1
szhukov
05.02.14
✎
16:11
|
(0) Как в любом запросе, колонки должны быть типизированными в таблице значений. Укажи тип колонок.
|
|||
2
Sereja
05.02.14
✎
16:15
|
(1) Типизировал. Измерени1 и Ресурс1 выводятся и не типизированными.
Измерения2 и Ресурс2 не выводятся ни так, ни так |
|||
3
vicof
05.02.14
✎
16:18
|
И как измерение1 выводится, если оно к этому коду вообще никакого отношения не имеет?
|
|||
4
Sereja
05.02.14
✎
16:23
|
(3)Измерение1 и Ресурс1 я вручную добавил в схему
А Измерени2 и Ресурс2 хотел добавить программно Вопрос решен. Не хватало 2 строчек ВыбранноеПоле = НастройкиКомпоновкиДанных.Выбор.Элементы.Добавить( Тип("ВыбранноеПолеКомпоновкиДанных")); ВыбранноеПоле.Заголовок = "Ресурс2"; ВыбранноеПоле.Использование = Истина; ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("Ресурс2"); |
|||
5
Sereja
05.02.14
✎
16:23
|
Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |