Функция ВЫРАЗИТЬ в запросе 1С 8.3
-

Функция ВЫРАЗИТЬ в запросе 1С 8.3

1
153377
25.06.2020 Горбунов Иван

Содержание:

1.    Основное применение функции ВЫРАЗИТЬ в 1С

2.    Дополнительное применение функции ВЫРАЗИТЬ в запросе 1С 8.3 


1.    Основное применение функции ВЫРАЗИТЬ в 1С


Основное применение функции ВЫРАЗИТЬ() в запросе 1С:Предприятия – выделять из значений составного типа значение требуемого типа.


Синтаксис функции следующий:



 

Если преобразуемое выражение имеет тип значения отличный от того, к которому требуется привести, то функция вернет NULL.


Проблема выглядит так: при попытке получить данные через точку от полей составного типа происходит соединение со всеми таблицами объектов 1С, входящих в составной тип. А если нужные реквизиты есть не у всех регистраторов или реквизиты имеют различные имена? В таких ситуациях рекомендуется сообщить системе, к какой таблице объектов 1С мы хотим обратиться, чтобы оптимизировать запрос.


Например, допустим, что при выборке данных из регистра «Оплата счетов в 1С 8.3» нам потребовалось получить сумму документа регистратора. Мы сталкиваемся с ситуацией, что в документе «Списание с расчетного счета» есть реквизит «Сумма документа», а в документе «Операция» этот реквизит называется «СуммаОперации». Здесь нам поможет следующий запрос 1С Предприятия:



 

            Здесь для каждого выбранного типа ссылки мы обращаемся к своей таблице, чтобы из нее выбрать нужный нам реквизит.


Но у функции ВЫРАЗИТЬ() есть еще несколько областей применения.  


2.    Дополнительное применение функции ВЫРАЗИТЬ в запросе 1С 8.3 

 

1. Для строковых типов:


·         Если нужно получить подстроку слева (аналог функции Лев()). Приведение строкового типа к «более короткому» строковому типу приводит к обрезанию «не уместившейся» правой части строки.



 

·         Приведение неограниченной строки к строке фиксированной длины. Строки неограниченной длины не могут быть обработаны в запросах 1С:Предприятия при сравнении значений, группировке, если требуется получить РАЗЛИЧНЫЕ. Чтобы обойти эти ограничения нужно преобразовать неограниченную строку к ограниченной:



 

2. Для числовых типов:

Округление числовых значений в запросе до определенного знака:



 

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


Специалист компании «Кодерлайн»

Горбунов Иван

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Guest
Картинки! Ну вы ппц!
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.