|   |   | 
| 
 | Как в программно обратиться к группировкам динамического списка? | ☑ | ||
|---|---|---|---|---|
| 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) В этой структуре есть только один элемент типа ГруппировкаКомпоновкиДанных, без имени, его свойство ПоляГруппировки пустое, не содержит элементов. И это не соответствует тому, что задано через конфигуратор - там в группировках добавлено два поля.
 Я не знаю, правильно ли все сделал, но при создании на сервере очищаю структуру и добавляю поля группировки вручную, вроде как работает: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Список.КомпоновщикНастроек.Настройки.Структура.Очистить(); НовГруппировка = Список.КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); НовГруппировка.Имя = "ТипОборудования"; НовГруппировка.Использование = Истина; ПолеПоле = НовГруппировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеПоле.Использование = Ложь; ПолеПоле.Поле = Новый ПолеКомпоновкиДанных("ТипОборудования"); ПолеПоле.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Иерархия; ПолеПоле.ТипДополнения = ТипДополненияПериодаКомпоновкиДанных.БезДополнения; НовГруппировка = Список.КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); НовГруппировка.Имя = "РабочееМесто"; НовГруппировка.Использование = Истина; ПолеПоле = НовГруппировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеПоле.Использование = Ложь; ПолеПоле.Поле = Новый ПолеКомпоновкиДанных("РабочееМесто"); ПолеПоле.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Иерархия; ПолеПоле.ТипДополнения = ТипДополненияПериодаКомпоновкиДанных.БезДополнения; .......... Сей участок кода подсмотрел в отчетах на СКД, там программно добавляются группировки. Возможно, для динамических списков нужно по-другому, буду признателен если подскажите правильное решение. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |