Имя: Пароль:
1C
1С v8
Произвольная группировка в иерархическом динамическом списке
0 LienXo
 
01.06.19
20:34
Захотелось добавить группировку в ДС справочника по реквизиту. добавил в ПриОткрытии
    ГруппировкаДанных = ВидыРабот.КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
    ГруппировкаДанных.ИдентификаторПользовательскойНастройки = "ГруппировкаСвойствПоНаборам";
    ГруппировкаДанных.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
    
    ПоляГруппировки = ГруппировкаДанных.ПоляГруппировки;
    
    ЭлементГруппировкиДанных = ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ЭлементГруппировкиДанных.Поле = Новый ПолеКомпоновкиДанных("Реквизит");
    ЭлементГруппировкиДанных.Использование = Истина;

Все ОК. Пока не добавил в справочник Группу. (использование реквизита "Реквизит" - для справочника и группы, в группе его указал). Элементу указал родителя - созданная группа. Но - группа лежит внутри группировки "Реквизит" рядом с элементом, как при режиме отображения "Список" а не "Иерархический список". Добавил вторую группировку:

    ЭлементГруппировкиДанных = ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ЭлементГруппировкиДанных.Поле = Новый ПолеКомпоновкиДанных("Родитель");
    ЭлементГруппировкиДанных.Использование = Истина;

Почти хорошо - но дополнительно к тому что хочу видеть (Реквизит - Группа - Элемент) висит пустая группировка, внутри которой лежит моя группа. Добавил отбор "ЭтоГруппа = ложь". Почти хорошо. Ничего лишнего. Очередное НО - создаю новую группу, записываю ее, разумеется что внутри нее ничего нет и - разумеется, в списке она не отображается, пока не создашь другой элемент и назначишь ему родителя - "Новая группа".

Вопрос - как правильно сделать список справочника с группировкой по реквизиту и сохранением стандартной иерархии?
AdBlock убивает бесплатный контент. 1Сергей