Как и где в запросе написать условие с функцией ВЫРАЗИТЬ дабы избежать излишнее разыменование?ОстаткиНоменклатурыОстатки.Номенклатура.ВидНоменклатуры

Примеров кучу насмотрелась, а под свою ситуацию не могу понять как сделать.

Заранее спасибо
---
Выразить надо использовать, когда поле составного типа. Например поле регистратор у регистра накопления, часто имеет несколько типов.

если у вас поле номенклатура составного типа, то надо писать, что бы не было лишнего соединения:

Выразить(ОстаткиНоменклатурыОстатки.Номенклатура как Спаравочник.Номенклатура).ВидНоменклатуры

Вот вам справка:
https://its.1c.ru/db/v8std/content/654/hdoc
---
что нужно получить в итоге, без привязки к ВЫРАЗИТЬ?
Пока не вижу необходимости в ее применении.
---
мне сказали, что в запросе через точку нельзя так обращаться : ОстаткиНоменклатурыОстатки.Номенклатура.ВидНоменклатуры. И скинули статью про излишнее разыменование. Сказали исправить.
---
Если в поле Номенклатура может быть не только номенклатура, тогда нужно. А так ничего криминального.
---
вот в данном конкретном случае это нормально. Оптимизатор сам составит соединение с таблицей справочника Номенклатура.
Выразить тут никак не поможет.
А фразу "в запросе через точку нельзя так обращаться" без конкретики случаев, мог озвучить только "специалист" который что-то слышал краем уха.
---
ну, я вас понимаю, но от его слов зависит мое дальнейшее будущее😅
---
ну, тогда сами добавьте соединение с таблицей номенклатуры. Если поле в регистре не составного типа, то ничего Выразить не требуется.
---
и полностью запрос выложили бы. Может там на другое были замечания.
---
мне сказали, что в запросе через точку нельзя так обращаться : ОстаткиНоменклатурыОстатки.Номенклатура.ВидНоменклатуры. И скинули статью про излишнее разыменование. Сказали исправить
---
ВЫРАЗИТЬ(ОстаткиНоменклатурыОстатки.Номенклатура.ВидНоменклатуры КАК СТРОКА (1024)) КАК НазваниеВидаНом
---
а это в условиях виртуальной таблицы писать?
---
1. Leratur - это вы же?
2. Эта статья? its.1c.ru/db/v8std/content/654/hdoc
3. Судя по всему, возникла путаница с неявными соединениями.
В вашем примере скорее всего скорость работы не будет отличаться используете ли вы неявное (как у вас) соединение со справочником Номенклатура, или будете использовать явное. Справочник-то всего один. Но лучше протестировать )))

А вот если бы было, условно, поле "Документ", вместо поля "Номенклатура" и список возможных документов был бы, например, из 20 разных документов, то неявное соединение заставит выполнить соединение со всеми этими 20 справочниками. И тут надо или явное соединение (и проверку на NULL) или использовать ВЫРАЗИТЬ КАК (НекийДокумент), чтобы произошло только одно дополнительное неявное соединение с одним справочником (см. статью).

Кроме того, ВЫРАЗИТЬ можно использовать для сортировки по названию. Потому что .Номенклатура даст ссылку и сортироваться будут строки ссылок, а ВЫРАЗИТЬ КАК СТРОКА даст именно строку названия. Для номенклатуры это несущественно, т.к. есть поле Наименование, а для документов, например, удобно, чтобы не заниматься построением имени вручную.

Ну и ВЫРАЗИТЬ можно использовать для явного определения типа данных в колонке таблицы, когда это требуется.
---
Про вопрос забыл ))
Да

```1c
    ВЫБРАТЬ
    ВЫРАЗИТЬ(ОстаткиНоменклатурыОстатки.Номенклатура.ВидНоменклатуры КАК Перечисление.ВидыНоменклатуры) КАК ВидНом
    ИЗ ... КАК ОстаткиНоменклатурыОстатки
```

"Перечисление.ВидыНоменклатуры" - у вас может быть другой тип, посмотрите в справочнике номенклатуры тип поля
---
ВидНоменклатуры это же справочник, может ваш "специалист имел ввиду "другое"
Пример

```1c
    ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Ссылка КАК Документ,
    мНоменклатура.Ссылка КАК Номенклатура,
    мНоменклатура.ВидНоменклатуры
    ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК мНоменклатура
    ПО ПоступлениеТоваровУслугТовары.Номенклатура = мНоменклатура.Ссылка
```
---
Выразить надо использовать, когда поле составного типа. Например поле регистратор у регистра накопления, часто имеет несколько типов.

если у вас поле номенклатура составного типа, то надо писать, что бы не было лишнего соединения:

Выразить(ОстаткиНоменклатурыОстатки.Номенклатура как Спаравочник.Номенклатура).ВидНоменклатуры

Вот вам справка:
https://its.1c.ru/db/v8std/content/654/hdoc
---
Друзья, всем спасибо! Ответ нашла