Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Несовместимые типы ВЫРАЗИТЬ в запросе 1С

Несовместимые типы «ВЫРАЗИТЬ» — такое сообщение появляется когда программист 1С 8.2 или 8.3 в запросе пытается сравнить два различных типа.

Несовместимые типы ВЫРАЗИТЬ

Функция Выразить() позволяет привести значение поля запроса 1С к определенному типу. Это может понадобится в двух случаях:

1. Получить нужную разрядность числа или нужное количество символов строкового значения. Количество символов полей неограниченного типа приходится ограничить, из-за определенных особенностей.

Например:

ВЫРАЗИТЬ(Номенклатура.Комментарий КАК СТРОКА(300))
ВЫРАЗИТЬ(Номенклатура.Цена КАК ЧИСЛО(15, 2)) КАК Сумма

2. Преобразовать поле составного типа в поле с одним типом. Это может понадобится в целях оптимизации запросов. Если в типизированное поле попадёт значение другого типа, то система вернёт NULL, поэтому всегда необходимо дополнительно устанавливать условие в секции «ГДЕ» ограничивая его оператором ССЫЛКА.

Например:

ВЫБРАТЬ

ВЫРАЗИТЬ(Продажи.Регистратор КАК Документ.Реализация)

ИЗ

ГДЕ Продажи.Регистратор ССЫЛКА Документ.Реализация

Как избежать ошибок

Ошибки типа «Несовместимые типы ВЫРАЗИТЬ …» могу возникать при неправильном использования синтаксиса.

К примеру, конструкция «ВЫРАЗИТЬ(«123″ КАК ЧИСЛО(5, 2)) КАК Сумма» считается ошибочной, так как в запросе нельзя штатными способами преобразовывать из одного типа в другой.

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

Задайте ВОПРОС на нашем форуме 1С! ››

СПРОСИТЕ в комментариях!

Добавить комментарий:

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*