![]() |
|
Программное удаление\добавление полей скд | ☑ | ||
---|---|---|---|---|
0
myr4ik07
22.11.16
✎
14:53
|
Есть отчет на скд
http://prntscr.com/dacqx9 поле Выбранная, от его нужно показывать или не показывать в зависимости от заполненности параметра вроде удаляет норм ЭлементыПараметры = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы; Если Не ЭлементыПараметры.Найти("Выборочная").Использование Тогда КомпоновщикНастроек.Настройки.Выбор.Элементы.Удалить(КомпоновщикНастроек.Настройки.Выбор.Элементы.Получить(3)); КонецЕсли; но вот когда удалил поле то потом добавить его никак не получается, добавляю так ТекущиеНастройки = КомпоновщикНастроек.Настройки; КоллекцияВыбор = ТекущиеНастройки.Выбор.Элементы; НовЭл = КоллекцияВыбор.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); НовЭл.Поле = Новый ПолеКомпоновкиДанных("Выбраннная"); НовЭл.Использование = Истина; как добавить удаленное ранее колонку? |
|||
1
myr4ik07
22.11.16
✎
15:00
|
вышел с ситуации через
Если Не ЭлементыПараметры.Найти("Выборочная").Использование Тогда КомпоновщикНастроек.Настройки.Выбор.Элементы.Получить(3).Использование = Ложь; //КомпоновщикНастроек.Настройки.Выбор.Элементы.Удалить(КомпоновщикНастроек.Настройки.Выбор.Элементы.Получить(3)); Иначе КомпоновщикНастроек.Настройки.Выбор.Элементы.Получить(3).Использование = Истина; КонецЕсли; но все же, а добавить как? |
|||
2
Windyhead
22.11.16
✎
15:04
|
(1)Вот у меня кусочек есть добавлял поля программно, думаю разберешься
Настройки=КомпоновщикНастроек.ПолучитьНастройки(); ..... ....... ....... Для кк=0 по ВыбранныеЭлементы.Количество()-2 Цикл эл=ВыбранныеЭлементы[кк]; Если ВерхняяГруппировка=Неопределено Тогда ТекГруппировка = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); ВыбранноеПоле= ТекГруппировка.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); ВыбранноеПоле.Поле= Новый ПолеКомпоновкиДанных("СистемныеПоля.НомерПоПорядкуВГруппировке"); ВыбранноеПоле.Использование = Истина; Иначе ТекГруппировка = ВерхняяГруппировка.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); КонецЕсли; ТекГруппировка.Имя = эл.Значение; ПолеГруппировки = ТекГруппировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных(эл.Значение); ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы; ПолеГруппировки.ТипДополнения = ТипДополненияПериодаКомпоновкиДанных.БезДополнения; АвтоПоле=ТекГруппировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); АвтоПоле.Использование = Истина; АвтоПолеПорядка=ТекГруппировка.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных")); АвтоПолеПорядка.Использование = Истина; ВерхняяГруппировка=ТекГруппировка; КонецЦикла; |
|||
3
DrShad
22.11.16
✎
15:11
|
ДопСтруктура = Отчет.КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
грВодитель = ДопСтруктура.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); грВодитель.Поле = Новый ПолеКомпоновкиДанных("Задание.Водитель"); грВодитель.Использование = Истина; грВодитель.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы; ВыбранноеПоле = ДопСтруктура.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("Задание.Водитель"); ВыбранноеПоле.Использование = Истина; ВыбранноеПоле.Заголовок = "Водитель"; |
|||
4
DrShad
22.11.16
✎
15:11
|
как то так
|
|||
5
myr4ik07
22.11.16
✎
15:14
|
спасибо чуваки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |