Есть такое выражение в запросе:

```1c
    ВЫРАЗИТЬ(ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады) КАК Справочник._СпециальныеНастройки).Значение КАК ГруппаЦентральныеСклады
```

Оно прекрасно работает.

Хотел применить его в блоке "ВЫБОР КОГДА" с "В ИЕРАРХИИ":

```1c
    ВЫБОР КОГДА Документы.Склад В ИЕРАРХИИ(ВЫРАЗИТЬ(ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады) КАК Справочник._СпециальныеНастройки).Значение) ТОГДА
```

И 1С не нравится такая конструкция. Сделал через УстановитьПараметр, но хотел обойтись без него.

```1c
    {(49, 147)}: Неверные параметры "В ИЕРАРХИИ"
    КОГДА Документы.Склад В ИЕРАРХИИ(ВЫРАЗИТЬ(ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады) КАК Справочник._СпециальныеНастройки)<<?>>.Значение)
```
---
как вариант:

```1c
    ВЫБОР КОГДА Документы.Склад В ИЕРАРХИИ(Выбрать (ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады)).Значение) ТОГДА
```
---
выражения бредовые
---
Какие 1С придумала, такие и есть.
---
Хотел применить его в блоке "ВЫБОР КОГДА" с "В ИЕРАРХИИ"
Нельзя в таких условиях это применять. Это не предопределенный элемент, а реквизит предопределенного элементы, который нужно сначала получить. А в условии нужно использовать уже известные данные.
ВЫРАЗИТЬ(ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады) КАК Справочник._СпециальныеНастройки).Значение КАК ГруппаЦентральныеСклады
Это несколько избыточно. Тут нет выделения типа из составного типа. Достаточно так:

```1c
    (ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады) ).Значение КАК ГруппаЦентральныеСклады
```
---
как вариант:

```1c
    ВЫБОР КОГДА Документы.Склад В ИЕРАРХИИ(Выбрать (ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады)).Значение) ТОГДА
```
---
Да я к этому уже пришел, мне интересно было мнение остальных программистов. Считаю, что это баг 1С.

```1c
    ВЫБРАТЬ
    (ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады)).Значение КАК Ссылка
    ПОМЕСТИТЬ втТест;
    ....
    ВЫБОР
    КОГДА Документы.Склад В ИЕРАРХИИ (ВЫБРАТЬ Ссылка ИЗ втТест)
```

```1c
    ВЫБОР КОГДА Документы.Склад В ИЕРАРХИИ (ВЫБРАТЬ (ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады)).Значение) ТОГДА
```
---
```1c
    ВЫРАЗИТЬ(ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады) КАК Справочник._СпециальныеНастройки).Значение КАК ГруппаЦентральныеСклады
```

По-моему в данном случае Выразить можно опустить:

```1c
    (ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады)).Значение КАК ГруппаЦентральныеСклады
```
---
Да, при сравнении можно опустить, это надо лишь когда хочешь достучаться до реквизита склада, т.к. "Значение" у меня составного типа.
---
```1c
    В ИЕРАРХИИ(ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады))
```
---
Так Вы получите ссылку на предопределенный элемент справочника _СпециальныеНастройки, а не значение этого предопределенного элемента.
---
пробовали ? и не работает ?
---
Пробовал конечно. Проверяется так:

```1c
    ВЫРАЗИТЬ(ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады) КАК Справочник._СпециальныеНастройки).Значение = ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады) КАК ОдинаковыеСсылки
```

Но я вывел оба результата и перешел по ссылкам. Они разные, как я и говорил, одна ссылка - элемент справочника _СпециальныеНастройки, другая ссылка - ссылка хранящаяся в значении элемента этого предопределенного элемента.
---
а что передаете через УстановитьПараметр ?
---
через УстановитьПараметр - передается ссылка
---
тебе оно зачем?
---
Для работы.
---
```1c
    ВЫБРАТЬ
    Справочник.Ссылка КАК Ссылка
    Из Справочник._СпециальныеНастройки КАК Справочник
    ГДЕ Справочник.Ссылка В ИЕРАРХИИ (Справочник._СпециальныеНастройки.ЦентральныеСклады)
    ПОМЕСТИТЬ втТест;
    ....
    ВЫБОР
    КОГДА Документы.Склад В (ВЫБРАТЬ Ссылка ИЗ втТест)
```
---
Это заведомо нерабочий код, просто потому, что у Вас идет поиск элемента справочника _СпециальныеНастройки в иерархии предопределенного элемента. Меня же интересует ссылка на группу в справочнике СкладыИМагазины, которая находится в реквизите "Значение" предопределенного элемента справочника _СпециальныеНастройки, но по факту там составной тип, т.ч. может быть ссылка на что угодно. Странно то, что 1С не смущает получение реквизитов через несколько точек (Документы.Ссылка.Организация.БанковскийСчет.Банк.ВалютаСчета.Наименование), для которых она делает соединение с таблицами, а вот с конструкцией "ЗНАЧЕНИЕ(Справочник._СпециальныеНастройки.ЦентральныеСклады)).Значение" используемой В ИЕРАРХИИ() у неё уже затык.
---
```1c
    ВЫБРАТЬ
    Справочник.Ссылка КАК Ссылка
    Из Справочник.Склады КАК Справочник
    ГДЕ Справочник.Ссылка В ИЕРАРХИИ (Справочник._СпециальныеНастройки.ЦентральныеСклады)
    ПОМЕСТИТЬ втТест;
    ....
    ВЫБОР
    КОГДА Документы.Склад В (ВЫБРАТЬ Ссылка ИЗ втТест)
```
---
Не вариант, т.к. Вы пытаетесь найти элементы справочника склады в иерархии группы справочника _СпециальныеНастройки ) Типы ссылок заведомо разные