
Функция ВЫРАЗИТЬ() в языке запросов 1С приводит значения к нужному типу данных. Оптимизирует работу с составными типами и избегая ненужных соединений.
Синтаксис: ВЫРАЗИТЬ(<Выражение> КАК <Тип>)
Если тип не совпадает, возвращает NULL
Ниже рассмотрим 3 основных сценария использования данной функции

Наверное, самое частое использование функции ВЫРАЗИТЬ() это приведение реквизита составного типа данных к конкретному типу. Для чего это нужно? Приведем конкретный пример. Допустим, у документа есть реквизит ДокументОснование составного типа (несколько видом документов). Мы хотим в запросе получить Дату Документа основания. Если сделать просто через точку, то произойдет столько неявных соединений в запросе, из скольких типов данных состоит составной тип данных.
ВЫБРАТЬ
НД.ДокументОснование.Дата КАК Дата
ИЗ
Документ.НашДокумент КАК НДЕсли мы точно знаем, что хотим получить Дату Приходной накладной, которая входит в составной тип реквизита ДокументОснование, то мы получим такой результат:
ВЫБРАТЬ
ВЫРАЗИТЬ(НД.ДокументОснование КАК Документ.Накладная).Дата КАК Дата
ИЗ
Документ.НашДокумент КАК НашДокументВ этом случае мы убираем лишние неявные соединения в запросе. Получаем Дату Документа основания с типом Документ.Накладная.
Формат использования:
ВЫРАЗИТЬ (<РевизитСсылка> КАК Документ.<ИмяДокумента>)
ВЫРАЗИТЬ (<РевизитСсылка> КАК Справочник.<ИмяДокумента>)

Еще один вариант использования функции ВЫРАЗИТЬ() — изменение длины строки. Для чего это может понадобиться? Один из примеров — для сравнения строк неограниченной длины, ведь запросы в 1С запрещают сравнивать строки неограниченной длины. Допустим, в документе есть реквизит «Комментарий» с типом данных Строка неограниченной длины. Если вы попытаетесь выполнить следующий запрос, то получите сообщение об ошибке:
ВЫБРАТЬ
НД.Ссылка КАК Ссылка
ИЗ
Документ.НашДокумент КАК НД
ГДЕ
НД.Комментарий = &КомментарийПоэтому, чтобы это обойти мы можем взять какое то количество первых символов из реквизита Комментарий, преобразовав Строку из неограниченной в строку с определенной длиной. Возьмем первые 150 символов:
ВЫБРАТЬ
НД.Ссылка КАК Ссылка
ИЗ
Документ.НашДокумент КАК НД
ГДЕ
ВЫРАЗИТЬ(НД.Комментарий КАК СТРОКА(150)) = &КомментарийФормат использования:
ВЫРАЗИТЬ(<СтроковыйРеквизит> КАК СТРОКА(<ДлинаСтроки>))

Функция ВЫРАЗИТЬ() может быть также использована для округления чисел. Допустим, в справочнике есть реквизит с типом число с точностью после запятой 5 цифр (123,89364). А мы хотим получить в запросе число с точностью после запятой всего 2 цифры (123,89). Для этого можно использовать указанную функцию следующим образом:
ВЫБРАТЬ
ВЫРАЗИТЬ(НС.ВесДрагметалла КАК ЧИСЛО(15, 2)) КАК ВесДрагметалла
ИЗ
Справочник.НашДокумент КАК НДФормат использования:
ВЫРАЗИТЬ (<Число> как ЧИСЛО(<ДлинаЧисла>, <Точность>))

Важно помнить, что функция ВЫРАЗИТЬ() не может преобразовать один тип данных в другой. Не получится преобразовать строку «123» в число 123. Данная функция обычно используется либо для приведения составного типа данных к какому-то конкретному. Либо для приведения строки неограниченной длины к строке определенной длины, либо для округления чисел. Про «возможности» запросов 1С преобразования строки в число (о наболевшем) вы можете почитать в другой нашей статье Строку в число в запросе 1С.