|
СКД : Программно включить / выключить использование выбранных полей в настройках | ☑ | ||
|---|---|---|---|---|
|
0
bvb
18.03.26
✎
10:54
|
Добрый день
Не могу добраться до выбранных полей обозначенных в самом отчете и в общем вертикальном итоге (на картинке выделено красным) Могу добраться только до полей обозначенных в таблице (на картинке выделено зеленым) Управляю ими так : Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) //СхемаКомпоновкиДанных ВключатьПоказательРуб = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(КомпоновщикНастроек,"ВключатьПоказательРуб").Значение; ВключатьПоказательEUR = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(КомпоновщикНастроек,"ВключатьПоказательEUR").Значение; МассивПолейРуб = Новый Массив; МассивПолейРуб.Добавить("СуммаПоказателяРуб"); МассивПолейРуб.Добавить("СуммаПоказателяСреднееРуб"); МассивПолейEUR = Новый Массив; МассивПолейEUR.Добавить("СуммаПоказателяEUR"); МассивПолейEUR.Добавить("СуммаПоказателяСреднееEUR"); Настройки = КомпоновщикНастроек.ПолучитьНастройки(); Для Каждого ЭлементСтруктурыНастроек ИЗ Настройки.Структура Цикл ВыбраныеПоля = ЭлементСтруктурыНастроек.Выбор.Элементы; Для Каждого ВыбраноеПоле ИЗ ВыбраныеПоля Цикл Если KMS_ОбщийМодульСервер.ЕстьРеквизитОбъекта(ВыбраноеПоле, "Поле") Тогда Если МассивПолейРуб.Найти(Строка(ВыбраноеПоле.Поле)) <> Неопределено И ВыбраноеПоле.Использование <> ВключатьПоказательРуб Тогда ВыбраноеПоле.Использование = ВключатьПоказательРуб; КонецЕсли; Если МассивПолейEUR.Найти(Строка(ВыбраноеПоле.Поле)) <> Неопределено И ВыбраноеПоле.Использование <> ВключатьПоказательEUR Тогда ВыбраноеПоле.Использование = ВключатьПоказательEUR; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); КонецПроцедуры |
|||
|
1
Волшебник
18.03.26
✎
10:55
|
Нет картинки
|
|||
|
2
bvb
18.03.26
✎
10:56
|
Картинка не вставляется
Пишет "Не удалось сохранить картинку (6)" Раньше вставлялась пробовал и .jpg .png на разных компах под разными браузерами |
|||
|
3
Мультук
гуру
18.03.26
✎
11:19
|
(0)
ЭлементСтруктурыНастроек тоже имеет свойство "Структура", внезапно правда? А еще есть ТаблицаКомпоновкиДанных, которая имеет Строки и Колонки, которые опять же имеют свойство "Структура". Итого: RTFM Рекурсия |
|||
|
4
bvb
18.03.26
✎
11:50
|
(3) Спасибо
Осилил : Для Каждого ЭлементСтруктурыНастроек ИЗ Настройки.Структура Цикл ВыбраныеПоля = ЭлементСтруктурыНастроек.Выбор.Элементы; Для Каждого ВыбраноеПоле ИЗ ВыбраныеПоля Цикл Если KMS_ОбщийМодульСервер.ЕстьРеквизитОбъекта(ВыбраноеПоле, "Поле") Тогда Если МассивПолейРуб.Найти(Строка(ВыбраноеПоле.Поле)) <> Неопределено И ВыбраноеПоле.Использование <> ВключатьПоказательРуб Тогда ВыбраноеПоле.Использование = ВключатьПоказательРуб; КонецЕсли; Если МассивПолейEUR.Найти(Строка(ВыбраноеПоле.Поле)) <> Неопределено И ВыбраноеПоле.Использование <> ВключатьПоказательEUR Тогда ВыбраноеПоле.Использование = ВключатьПоказательEUR; КонецЕсли; КонецЕсли; КонецЦикла; //по полям ВыбранныеКолонки = ЭлементСтруктурыНастроек.Колонки; Для Каждого ВыбранаяКолонка ИЗ ВыбранныеКолонки Цикл ВыбраныеПоля = ВыбранаяКолонка.Выбор.Элементы; Для Каждого ВыбраноеПоле ИЗ ВыбраныеПоля Цикл Если KMS_ОбщийМодульСервер.ЕстьРеквизитОбъекта(ВыбраноеПоле, "Поле") Тогда Если МассивПолейРуб.Найти(Строка(ВыбраноеПоле.Поле)) <> Неопределено И ВыбраноеПоле.Использование <> ВключатьПоказательРуб Тогда ВыбраноеПоле.Использование = ВключатьПоказательРуб; КонецЕсли; Если МассивПолейEUR.Найти(Строка(ВыбраноеПоле.Поле)) <> Неопределено И ВыбраноеПоле.Использование <> ВключатьПоказательEUR Тогда ВыбраноеПоле.Использование = ВключатьПоказательEUR; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; //по колонкам КонецЦикла; //По элементам структуры настроек |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |