Функции языка запросов 1С 8.3

Курс

Функции ПРЕДСТАВЛЕНИЕ и ПРЕДСТАВЛЕНИЕССЫЛКИ

У реквизитов ссылочного типа есть виртуальное поле Представление, которое можно использовать в запросах. Оно позволяет получить основное представление ссылки, которое было настроено в конфигураторе:

Представление в запросе

Также можно использовать функцию ПРЕДСТАВЛЕНИЕ. Данная функция тоже получает основное представление ссылки. Если в нее передать не ссылку, а примитивный тип, то независимо от типа в результате будет получена строка.

Отличие виртуальное поля Представление от функции ПРЕДСТАВЛЕНИЕ в том, что функция ПРЕДСТАВЛЕНИЕ всегда вернет строку, даже если ей передать NULL, а в поле Представление может быть NULL, например, если ссылка была составного типа и текущий тип является примитивным.

Представление в запросе

Также есть функция ПРЕДСТАВЛЕНИЕССЫЛКИ. Она отличается от функции ПРЕДСТАВЛЕНИЕ только тем, что для ссылочного типа вернет строку, а для примитивного типа — значение того же типа. То есть для значения типа число тип результат будет число, для даты — дата, а для ссылки всегда строка.

Представление в запросе

Функция ЗНАЧЕНИЕ

Функция ЗНАЧЕНИЕ позволяет обращаться в тексте запроса к предопределенным данным, к перечислениям, к пустым ссылкам, к некоторым системным перечислениям:

ЗНАЧЕНИЕ в запросе

Функцию ЗНАЧЕНИЕ можно использовать как в полях выборки, так и в предложении ГДЕ.

Функции работы с датами

В запросе можно от даты получить ее часть: секунду, минуту, час, день, неделю, месяц, квартал, год. А также день года и день недели:

В качестве параметра была передана дата 11.04.2021 11:20:50.

С помощью функций НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА можно получить начало и конец минуты, часа, дня, недели, декады, месяца, квартала, полугодия, года:

Параметром также была передана дата 11.04.2021 11:20:50.

С помощью функции ДОБАВИТЬКДАТЕ можно добавлять к дате и вычитать из даты различные ее части: секунду, минуту, час, день, неделю, декаду, месяц, квартал, полугодие и год:

Параметром все также передавалась дата 11.04.2021.

Также можно использовать функцию РАЗНОСТЬДАТ для того чтобы получить разность между двумя датами. Разность может быть получена в секундах, минутах, часах, днях, месяцах, кварталах и годах. Вторым параметром передается дата из которой вычитаем, первым — которую вычитаем:

Дата1 = 11.04.2021, Дата2 = 01.05.2021.

Если второй параметр будет меньше первого, то результат будет отрицательным:

Дата1 = 11.04.2021, Дата2 = 01.05.2020.

Функция ПОДСТРОКА

Функция ПОДСТРОКА позволяет вырезать из строки какую-то часть. Первым параметром указывается сама строка. Вторым символ, начиная с которого нужно взять строку. Третьим количество символов. Например, если параметром передать строку «Подстрока в запросе» в следующий запрос:

То получим такой результат:

ПОДСТРОКА в запросе

Если длина строки больше 1024 символов (например, реквизит неограниченной длины), то на нее нельзя накладывать условия в предложении ГДЕ (можно только через ПОДОБНО) и нельзя группировать по такому полю. Если попытаться это сделать, то будет ошибка «Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.» или «Недопустимое поле для группировки ИмяПоля».

Чтобы обойти это ограничение можно использовать функцию ПОДСТРОКА, например:

Но нужно учитывать, что если фактическая строка была больше 1024 символов, то символы, начиная с 1025 не попадут в результат запроса.

Функция ВЫРАЗИТЬ

Также можно использовать функцию ВЫРАЗИТЬ, которая позволяет изменить в запросе тип поля, например, уменьшить его длину:

В данном запросе мы привели длину строки к 1024 символам.

Через функцию ВЫРАЗИТЬ нельзя изменить тип поля со строки на число, или наоборот. Можно только изменить длину строки или изменить точность числа в запросе.

Например, функцию ВЫРАЗИТЬ можно использовать для округления числа в запросе:

В запросе выше поле Площадь будет округлено по правилам метематики до двух знаков после запятой.

Также ВЫРАЗИТЬ можно использовать для приведения поля составного типа к одному типу:

Функции ТИП и ТИПЗНАЧЕНИЯ

Функция ТИП позволяет получить в запросе значение типа, переданного параметром. Параметром нужно указать или имя примитивного типа или имя таблицы, тип ссылки которой нужно получить:

Функция ТИПЗНАЧЕНИЯ позволяет получить тип, переданного параметром значения. Совместно с функцией ТИП можно выполнять проверку типа данных:

Для ссылочных типов проверку типа можно выполнять с помощью оператора ССЫЛКА:

ВЫБОР КОГДА ТОГДА

Операция выбора в языке запросов реализуется с помощью ключевых слов ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ. Можно сказать, что это аналог Если Тогда Иначе КонецЕсли из встроенного языка:

Как только результат выражения после КОГДА будет истинным операции сравнения прекращаются.

Операции сравнения ВЫБОР КОГДА ТОГДА могут быть вложенными:

АВТОНОМЕРЗАПИСИ

Функция АВТОНОМЕРЗАПИСИ позволяет сгенерировать последовательность возрастающих чисел:

АВТОНОМЕРЗАПИСИ  в запросе

Функцию АВТОНОМЕРЗАПИСИ можно использовать только в полях выборки и только при формировании временной таблицы. Также не гарантируется, что последовательность всегда будет начинаться с единицы, это зависит от настроек СУБД. Но гарантируется, что значение будет уникальным.


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Здесь может быть Ваша реклама
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok