Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД: иерархический справочник (дубли и условие)

СКД: иерархический справочник (дубли и условие)
Я
   Айвонттубифри
 
22.03.21 - 20:56
Есть иерархический справочник "СтруктураПредприятия" (иерархия элементов). Чтобы в СКД обойти проблему дублей (сначала выводится сам элемент, а на следующем уровне иерархии опять же он и подчиненные элементы), написала код, который выводит данные как надо (без дублей), но стоит добавить какое-либо условие (в условие или в отбор), как данные перестают вообще выводиться. Вопрос, как надо добавлять условие в СКД для иерархического справочника?


ВЫБРАТЬ РАЗЛИЧНЫЕ
    СтруктураПредприятия.Родитель КАК Ссылка
ПОМЕСТИТЬ ВТ_Родители
ИЗ
    Справочник.СтруктураПредприятия КАК СтруктураПредприятия
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СтруктураПредприятия.Ссылка КАК Структура
{ВЫБРАТЬ
    Структура.*}
ИЗ
    Справочник.СтруктураПредприятия КАК СтруктураПредприятия
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Родители КАК ВТ_Родители
        ПО СтруктураПредприятия.Ссылка = ВТ_Родители.Ссылка
ГДЕ
    ВТ_Родители.Ссылка ЕСТЬ NULL
{ГДЕ
    СтруктураПредприятия.Ссылка.* КАК Структура}
   Айвонттубифри
 
1 - 22.03.21 - 21:17
+(0) Добавлю, что в настройках этого отчета на СКД всего одна группировка "Структура" с типом группировки "Иерархия".

Такой замысловатый код в (0) я сделала, поскольку иначе каждый элемент-родитель дублируется: отображается как группа и как подчиненный элемент. Но минус такого способа - не получается использовать отбор в СКД. Кто-нибудь смог побороть такую проблему, как мне выводить не весь справочник, а определенный элементы в иерархии, при этом избежать дублей?
   Айвонттубифри
 
2 - 22.03.21 - 22:20
Добавила условие &Ссылка, отбор не срабатывает, как это побороть???


ВЫБРАТЬ РАЗЛИЧНЫЕ
    СтруктураПредприятия.Родитель КАК Ссылка
ПОМЕСТИТЬ ВТ_Родители
ИЗ
    Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
    СтруктураПредприятия.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    СтруктураПредприятия.Ссылка КАК Структура
{ВЫБРАТЬ
    Структура.*}
ИЗ
    Справочник.СтруктураПредприятия КАК СтруктураПредприятия
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Родители КАК ВТ_Родители
        ПО СтруктураПредприятия.Ссылка = ВТ_Родители.Ссылка
ГДЕ
    ВТ_Родители.Ссылка ЕСТЬ NULL
{ГДЕ
    СтруктураПредприятия.Ссылка.* КАК Структура}
   Айвонттубифри
 
3 - 23.03.21 - 10:26
Up!
   toypaul
 
4 - 23.03.21 - 10:33
не получается какой отбор использовать

зачем добавила условие
какой отбор не срабатывает
   toypaul
 
5 - 23.03.21 - 10:35
в иерархии вполне себе срабатывает http://prntscr.com/10t7b8v

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