Вход | Регистрация
 

СКД и дубли при выводе иерархии элементов

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

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

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

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.