gifts2017

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

Опубликовал Игорь Сухоруков (ig1082) в раздел Программирование - Практика программирования

Избавлению от дублей при выводе иерархии в СКД посвящается.
Сеть пестрит вопросами о том, как предотвратить дубли строк при выводе иерархического справочника в СКД (в том числе и Инфостарт).
Суть в следующем: при наличии вложенных элементов сначала выводится сам элемент, а на следующем уровне иерархии опять же он и подчиненные элементы.

Данное "странное" поведении СКД  - не ошибка. Таким образом учитывается ситуация, когда родитель является не только группировкой данных, но и тоже данными.
Один из примеров - иерархия подразделений предприятия. Однако часто учет ведется только по детальным элементам, а родитель играет роль группировки.
Например, номенклатура или проектные задачи.

Для справочника с иерархией групп и элементов наиболее простой способ: добавление условия НЕ Номенклатура.ЭтоГруппа в текст запроса.

В целом же верное решение является весьма неочевидным.  
Суть: отбор записей группировки, в которых значение в иерархической записи совпадает со значением самой записи.

Источник данного способа:
https://partners.v8.1c.ru/forum/topic/1035968
В файлах - выгрузка базы, демонстрирующей решение.
(Справочник1, Отчет1)

Скачать файлы

Наименование Файл Версия Размер
Иерархия.dt 29
.dt 20,51Kb
24.08.14
29
.dt 1 20,51Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Максим Полянский (yandextesting) 11.09.14 15:35
Во вложении схема СКД с решением этого вопроса на примере справочника Номенклатура как раз из https://partners.v8.1c.ru/forum/topic/1035968
Прикрепленные файлы:
Схема СКД - Решение, как избавиться от дублей строк иерархии в СКД.xml
2. Андрей Иваненко (AnderWonder) 05.01.16 15:02
Только, к большому сожалению, это решение не позволяет использовать отборы в СКД. Любой отбор ломает отчет полностью, данные не выводятся.
Т.о. решение проблемы отсутствует. Непонятно, о чем думали разработчики платформы когда меняли механизм вывода иерархии таким образом, очевидно, крупный баг преподносится как фича.
Теперь элементарная ранее задача по формированию отчета на базе иерархического справочника в СКД стала не решаемой.
3. Андрей Иваненко (AnderWonder) 12.01.16 10:58
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа