В этой статье мы хотим обсудить с Вами все функции языка запросов 1с, а также конструкции языка запросов.
Функции запросов 1с работы со строками
Функции запросов работы со строками частично совпадают со строковыми функциями. Подробнее о строковых функциях 1с можно в статье “строковые функции 1с“.
Функция СТРОКА()
Преобразовывает выражение в тип данных Строка. Синтаксис:
СТРОКА(<Выражение>)
Пример:
ВЫБРАТЬ
СТРОКА(5) КАК Оценка
Функция ДЛИНАСТРОКИ()
Возвращает количество символов в строке. Синтаксис:
ДЛИНАСТРОКИ(<Строка>)
Пример кода:
ВЫБРАТЬ
ДЛИНАСТРОКИ("Отлично")
Функция ЛЕВ() и Функция ПРАВ()
Выводят заданное количество символов с лева и с права соответственно.
Функции СОКРЛ(), СОКРП(), СОКРЛП() запросов 1с.
Функции удаление пробелов и незначащих символов.
Функция НРЕГ() и Функция ВРЕГ()
Эти функции преобразуют строку в нижний и верхний регистр соответственно.
Функция ПОДСТРОКА()
Строковая функция ПОДСТРОКА по действию функции Сред(), т. е. выделяет подстроку из заданной строки.
Функция СТРНАЙТИ() И Функция СТРЗАМЕНИТЬ()
Функция СТРНАЙТИ() ищет, а Функция СТРЗАМЕНИТЬ() заменяет заданные символы с исходной строке.
Агрегатные функции запросов 1с
В языке запросов 1С:Предприятие 8 предусмотрено использование агрегатных функций.
Существует шесть видов агрегатных функций, применяемых при группировках:
СУММА — суммирует значения группируемого столбца, применяется только для числовых значений.
СРЕДНЕЕ — вычисляет среднее арифметическое из значений группируемого столбца, применяется только для числовых значений.
МАКСИМУМ — может применяться для любых типов значений группируемого столбца, при этом возвращается максимальное значение из всех группируемых. Если значения не числовые, то возвращается последнее при сортировке по возрастанию.
МИНИМУМ — может применяться для любых типов значений группируемого столбца, при этом возвращается минимальное значение из всех группируемых. Если значения не числовые, то возвращается первое при сортировке по возрастанию.
КОЛИЧЕСТВО — возвращает количество значений в группируемом столбце, может использоваться для любых типов значений. В расчет не берутся значения типа NULL.
КОЛИЧЕСТВО РАЗЛИЧНЫЕ — возвращает количество различных значений в группируемом столбце, может использоваться для любых типов значений. В расчет не берутся значения типа NULL.
Агрегатные функции запросов позволяют вычислить какое-то одиночное значение из набора значений. Например, у Вас есть некоторый набор цен (1500, 1000, 1200, 5000), с помощью агрегатных функций мы можем их просуммировать, получив число 7700, или вычислить минимум – число 1000.
Каждая из этих функций имеет аналогичный синтаксис и используются похожим образом. Синтаксис
НазваниеФункции(ИмяПоля)
Функция Количество() в запросе 1с
ВЫБРАТЬ
КОЛИЧЕСТВО(ДвоичныеДанныеФайлов.Файл) КАК Файл
ИЗ
РегистрСведений.ДвоичныеДанныеФайлов КАК ДвоичныеДанныеФайлов
Прочие функции запросов 1с.
Функция ЕСТЬNULL()
ЕстьNULL(ПроверяемоеВыражение, ВыражениеЗамены) – Где ПроверяемоеВыражение это поле таблицы результата запроса, а ВыражениеЗамены определяет какое значение будет подставлено в поле, если вдруг там попалось значение NULL
ЕСТЬNULL(<ПроверяемоеВыражение>, <ВыражениеЗамены>)
Функция ПРЕДСТАВЛЕНИЕ()
Представление поля это значение поля преобразованное к строке. В платформе 1С есть множество сложных типов значений, которые для своего базового отображения поставляют функционал представлений.
В языке запросов существует два способа получения представления поля:
Через точку с указанием поля Представление например:
ВЫБРАТЬ
Сотрудники.Представление КАК Представление
ИЗ
Справочник.Сотрудники КАК Сотрудники
Или с помощью функции ПРЕДСТАВЛЕНИЕ()
ВЫБРАТЬ
ПРЕДСТАВЛЕНИЕ(Сотрудники.Ссылка) КАК Представление
ИЗ
Справочник.Сотрудники КАК Сотрудники
Функция ПРЕДСТАВЛЕНИЕССЫЛКА()
Данная функция, аналогично функции Представление в 1С 8.3, необходима для перевода значения в строковой вид. Отличие лишь в том, что в функцию представление ссылки можно подставлять только типы данных ссылки, иные же значения она вернёт без преобразований.
Функция ТИПЗНАЧЕНИЯ()
Для определения типа значения в запросе. Возвращаемое значение: тип значения.
Функция АВТОНОМЕРЗАПИСИ()
Возвращает номер записи в запросе. Работает только во временных таблицах.
Оператор ВЫБОР в запросе 1с
Оператор выбора очень похож на оператор условия и используется для выбора варианта в зависимости от <Выражение1>
ВЫБОР
КОГДА <Выражение1> ТОГДА <Выражение>
ИНАЧЕ <Выражение>
КОНЕЦ