Имя: Пароль:
1C
 
СКД и дубли при выводе иерархии элементов
0 Nicole
 
23.09.21
14:15
Пытаюсь вывести в отчете на СКД данные по справочнику с иерархией элементов.
Использую известный прием: пользовательское поле Родитель = ВычислитьВыражение("Группировка", , "Иерархия"), отбор по группировке с иерархией (Группа ИЛИ, применение "После группировки или в иерархии", УровеньВГруппировке = 1, "Группировка" <> Родитель).
Но вот что получается: если я делаю пользовательский отбор по последнему в иерархии элементу справочника (у которого уже нет подчиненных), то значение пользовательского поля "Родитель" равно самому этому элементу справочника.
Соответственно, он в отчет не выводится.
Что можно сделать в данной ситуации?

Заранее огромное спасибо.
1 toypaul
 
гуру
23.09.21
14:33
если родитель равен самому себе, то это может быть только элемент первого уровня. для этого там и стоит условие УровеньВГруппировке = 1
2 Nicole
 
23.09.21
14:46
(1) В том и дело, что это НЕ элемент первого уровня. Это элемент ПОСЛЕДНЕГО уровня. И для него в случае применения пользовательского отбора ВычислитьВыражение("Группировка", , "Иерархия") дает значение - сам элемент.
3 toypaul
 
гуру
23.09.21
14:59
хз. я во 1х использую вычисляемое поле. во 2х платформу 12ю. на других платформах фишка может не сработать
4 Nicole
 
23.09.21
15:01
Я думаю, что дело здесь не в самой функции, а именно в пользовательском отборе, но не могу поймать связь.  
Группировка1
5 Nicole
 
23.09.21
15:03
Группировка1
     Группировка2
          Группировка3

Если я делаю пользовательский отбор по Группировка2, то все считается нормально: для Группировки2 Родитель - Группировка1, для Группировки3 родитель - Группировка2
Если я делаю пользовательский отбор по Группировка3, то получаю: для Группировки2 родитель - Группировка1, для Группировки3 родитель - хм... Группировка3
Основная теорема систематики: Новые системы плодят новые проблемы.