|
Как в программно обратиться к группировкам динамического списка? | ☑ | ||
---|---|---|---|---|
0
dave2000
29.12.16
✎
11:05
|
1С8.3.
В динамическом списке есть произвольный запрос, в его настройках в конфигураторе были добавлены группировки. Как программно обратиться к этим группировкам? Нежно включать/отключать их использование. |
|||
1
dave2000
29.12.16
✎
11:06
|
(0) > нУжно включать/отключать их использование.
|
|||
2
Allexe
29.12.16
✎
11:13
|
v8: Изменение текста запроса динамического списка после создания формы
Так надо сделать? |
|||
3
singlych
29.12.16
✎
11:14
|
через КомпоновщикНастроек списка
|
|||
4
dave2000
29.12.16
✎
14:22
|
(2) Нет, в настройках произвольного запроса есть закладка "Группировка", там добавлны группировка по полям. Вот мне эти группировки нужно "щупать" из кода программно.
(3) Можно подробнее, где именно? Я его там нигде не нахожу. По идее группировки должно быть тут: Список.КомпоновщикНастроек.Настройки.Структура Список.КомпоновщикНастроек.ФиксированныеНастройки.Структура Но в этих структурах я не нахожу своих группировок. |
|||
5
dave2000
29.12.16
✎
14:30
|
Если не сложно, проверьте у себя: возьмите любой динамический список с произвольным запросом, в настройках на закладке "Группировки" добавьте 2-3 поля и попробуйте в отладчике добраться к ним через КомпоновщикНастроек списка. Я перелазил всё, у меня не получилось там ничего найти :(
|
|||
6
Cool_Profi
29.12.16
✎
14:32
|
(4) А ПользовательскиеНастройки там есть?
|
|||
7
dave2000
29.12.16
✎
14:43
|
(6) Есть, но там тоже этого нет. И вроде как не должно быть.
|
|||
8
Allexe
29.12.16
✎
15:17
|
Попробуй программно в серверной процедуре добавлять удалять группировки
СтрДоб = Список.Группировка.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); СтрДоб.Поле = Новый ПолеКомпоновкиДанных("Склад"); СтрДоб.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Иерархия; |
|||
9
singlych
29.12.16
✎
15:53
|
(4) Должны быть в Список.КомпоновщикНастроек.Настройки.Структура
|
|||
10
dave2000
29.12.16
✎
16:40
|
(9) В этой структуре есть только один элемент типа ГруппировкаКомпоновкиДанных, без имени, его свойство ПоляГруппировки пустое, не содержит элементов. И это не соответствует тому, что задано через конфигуратор - там в группировках добавлено два поля.
Я не знаю, правильно ли все сделал, но при создании на сервере очищаю структуру и добавляю поля группировки вручную, вроде как работает: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Список.КомпоновщикНастроек.Настройки.Структура.Очистить(); НовГруппировка = Список.КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); НовГруппировка.Имя = "ТипОборудования"; НовГруппировка.Использование = Истина; ПолеПоле = НовГруппировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеПоле.Использование = Ложь; ПолеПоле.Поле = Новый ПолеКомпоновкиДанных("ТипОборудования"); ПолеПоле.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Иерархия; ПолеПоле.ТипДополнения = ТипДополненияПериодаКомпоновкиДанных.БезДополнения; НовГруппировка = Список.КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); НовГруппировка.Имя = "РабочееМесто"; НовГруппировка.Использование = Истина; ПолеПоле = НовГруппировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеПоле.Использование = Ложь; ПолеПоле.Поле = Новый ПолеКомпоновкиДанных("РабочееМесто"); ПолеПоле.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Иерархия; ПолеПоле.ТипДополнения = ТипДополненияПериодаКомпоновкиДанных.БезДополнения; .......... Сей участок кода подсмотрел в отчетах на СКД, там программно добавляются группировки. Возможно, для динамических списков нужно по-другому, буду признателен если подскажите правильное решение. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |