Кроме преобразования строк и числа функция применяется для выделения одного типа в составных реквизитах.

Зачем использовать ВЫРАЗИТЬ для полей составного типа?

Поля составного типа – реквизиты, в которых допустимо указание значения различных типов. 

В случае, когда такое поле не заполнено в нём хранится НЕОПРЕДЕЛЕНО, с которым не совсем удобно работать на выходе:

  • необходимо постоянно проверять на заполнено
  • если используется обращение к реквизитам через точку, при обращении возможно появление ошибки.

Пример №1: 

Есть реквизит составного типа: Число+Перечисление

Если выполнить ВЫРАЗИТЬ(Реквизит как ЧИСЛО(15,0)) тогда на выходе получится NULL, что ничем не лучше.

Если вызвать ВЫРАЗИТЬ(Реквизит КАК Перечисление.ВидыЗаявок), в результате получится значение Перечисления.ВидыЗаявок.Пустая(), что вполне удобно.

vyrazit-kak-ssylka
Вышестоящий пример я привел для ситуации, когда удобство не так заметно.

Пример №2:

Реквизит составного типа: Справочник.ФизическиеЛица+Справочник.Сотрудники

Если вы сделаете отбор в запросе: 

ГДЕ
    Сотрудник ССЫЛКА Справочник.Сотрудник

У вас на выходе получатся только записи, где реквизит Сотрудник типа сотрудники, но если это поле пустое, там будет Неопределено.

В случае использования конструкции 

ВЫРАЗИТЬ (Сотрудник как Справочник.Сотрудники) как ПолеСотрудник

В данном поле всегда будет значение ссылки и допустимо обращение к нему: в момент обработки результата запроса “ПолеСотрудник.Наименование”, ПолеСотрудник.Пустая(), не вызывая ошибки.

Дополнительное преимущество такого использования:

В случае если составное поле имеет тип Справочник.Ссылка или Документ.Ссылка  (любой справочник и любой документ, совместно) при выполнении запроса 1С присоединит все  связанные таблицы:

  • В лучшем случае это замедлит выполнение запроса.
  • В больших конфигурациях типа УПП или ERP, такие запросы могут вызвать ошибку превышения количества таблиц в запросе – он попросту не выполнится.

Если же вы знаете, что там будет и ограничите значения функцией ВЫРАЗИТЬ, такого не происходит – и вы помогаете оптимизатору запросов, а для файловой версии это может оказаться критичным.

В типовых конфигурациях реквизит “ДокументОснование”,”ДокументОприходования”, “Партия” или “Сделка”,  торговых документов чаще всего нуждается в таком преобразовании, т.к. составные поля используются редко: чаще разносят по различным реквизитам, которые видимы в зависимости от вида операции/ситуации.

Другие статьи про работу с ВЫРАЗИТЬ:

Реклама — самая интересная и самая трудная форма современной литературы.

— Олдос Леонард Хаксли