Пытаюсь вывести в отчете на СКД данные по справочнику с иерархией элементов.
Использую известный прием: пользовательское поле Родитель = ВычислитьВыражение("Группировка", , "Иерархия"), отбор по группировке с иерархией (Группа ИЛИ, применение "После группировки или в иерархии", УровеньВГруппировке = 1, "Группировка" <> Родитель).
Но вот что получается: если я делаю пользовательский отбор по последнему в иерархии элементу справочника (у которого уже нет подчиненных), то значение пользовательского поля "Родитель" равно самому этому элементу справочника.
Соответственно, он в отчет не выводится.
Что можно сделать в данной ситуации?
(1) В том и дело, что это НЕ элемент первого уровня. Это элемент ПОСЛЕДНЕГО уровня. И для него в случае применения пользовательского отбора ВычислитьВыражение("Группировка", , "Иерархия") дает значение - сам элемент.
Если я делаю пользовательский отбор по Группировка2, то все считается нормально: для Группировки2 Родитель - Группировка1, для Группировки3 родитель - Группировка2
Если я делаю пользовательский отбор по Группировка3, то получаю: для Группировки2 родитель - Группировка1, для Группировки3 родитель - хм... Группировка3
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший