Программно добавить выбранное поле в СКД
☑
0
Neo111
01.11.13
✎
17:40
Программно вывожу отчет на СКД.
Группировки добавляются нормально:
ГруппировкаТов = КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
ПолеГруппировки = ГруппировкаТов.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
ПолеГруппировки.Использование = Истина;
ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("Товар");
ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Иерархия;
ГруппировкаТов.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
ГруппировкаТов.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));
При добавлении же выбранных полей в отчет выводятся только поля, являющиеся ресурсами:
ВыбранноеПоле = КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПоле.Заголовок = "Стоимость";
ВыбранноеПоле.Использование = Истина;
ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("Стоимость");
Если таким образом в выбранные поля пытаться добавлять не ресурсы (например, измерения или прочие поля, не являющиеся ресурсами), то это эффекта не дает.
Например, вот это не работает:
ВыбранноеПоле = КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПоле.Заголовок = "ВидТовара";
ВыбранноеПоле.Использование = Истина;
ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("ВидТовара");
ВидТовара - это выходное поле запроса СКД. Хотя в отладчике в списке выбранных полей оно видно.
Как поправить ситуацию?
1
Neo111
01.11.13
✎
17:43
Если отчет выводить не программно, то нужный эффект достигается простым перетаскиванием нужных полей в настройке отчета в список выбранных полей. А программно пока удалось добавить только ресурсы.
2
Neo111
05.11.13
✎
10:17
Ап
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.