Условия отбора данных в запросе 1С

Внешняя обработка "Консоль запросов" для управляемого приложения

Механизм запросов - это один из способов доступа к данным, которые поддерживает платформа 1С:Предприятие. Используя этот механизм, разработчик может читать и обрабатывать данные, хранящиеся в информационной базе.

Подробнее о запросах 1С

Условия, задаваемые в конструкции ВЫБРАТЬ

  • ВЫБРАТЬ ПЕРВЫЕ <количество> - задает предельное количество строк в результате запроса (если нужно с конца - поменять упорядочивание УБЫВ или ВОЗР). Указывается на закладке "Дополнительно" конструктора запросов.
  • ВЫБРАТЬ РАЗЛИЧНЫЕ - исключение дублей в результате запроса (если в списке выборки указано несколько полей, то в результат запроса отбираются записи, содержащие неповторяющиеся комбинации значений сразу по нескольким полям). Указывается на закладке "Дополнительно" конструктора запросов - флаг  "Без повторяющихся".
  • ВЫБРАТЬ РАЗРЕШЕННЫЕ — используется при применении ограничения прав пользователей на уровне записей (RLS). Использование данного ключевого слова позволяет избежать получения записей, прав на которых у пользователя нет. Если ограничение прав не используется - не применять, снижает быстродействие.

Особенность ВЫБРАТЬ РАЗЛИЧНЫЕ и Количество()

Количество всевозможных значений, отличных от NULL, для некоторого поля в таблице:

  • КОЛИЧЕСТВО(<Имя поля>)

Для определения числа различных записей:

Определение числа различных записей 1С

Неверно (выведет общее число записей):

Вывод числа записей в таблице 1С

[свернуть]

Условия, задаваемые в конструкции ГДЕ

ГДЕ - условия отбора данных из таблицы, причем поле конструкции ГДЕ может не входить в список выборки, например:

Особенности использования конструкции ГДЕ:

  1. В предложении ГДЕ можно использовать как имена полей, так и их псевдонимы.
  2. Условие отбора может определяться и как простое логическое выражение, и как сложное, в котором простые логические выражения соединяются между собой логическими операторами И, ИЛИ, НЕ. Порядок можно менять с использованием круглых скобок.
  3. Допускается использование оператора МЕЖДУ, который проверяет результат вхождения значения в указанный диапазон.
  4. Допускается использование оператора ПОДОБНО для сравнения значения со строкой шаблона вида "%строка%".
  5. Допускается использование параметров, которые обозначаются символом «&» (например, параметр &Клиент или &Цена).

Особенности использования оператора ПОДОБНО:

  1. может размещаться:
    • в блоке условий, обозначенном ключевым словом ГДЕ;
    • в конструкции Выбор Когда Тогда Иначе Конец;
    • непосредственно в полях выборки, как результат сравнения полей;
  2. специальные символы, облегчающие разработку:
    • «%»– последовательность любых символов произвольной длины, используется для поиска отдельных слов или цифр в строке;
    • «_»– любой единичный символ для обозначения наличия одного знака;
    • «[…]»– последовательность символов для сравнения со знаком в строке, проверяется соответствие любому из перечисленных в скобках знаков (можно задать диапазон цифр или букв - [а-г] или [1-7]);
    • «[^…]» – шаблон, противоположный предыдущему, проверяется отличие указанного в строке символа от перечисленных в скобках.

Конструкция ВЫБОР (КОГДА … ТОГДА) ИНАЧЕ … КОНЕЦ

Для формирования поля выборки может использоваться операция выбора ВЫБОР (КОГДА … ТОГДА) ИНАЧЕ … КОНЕЦ, в которой:

  • после ключевого слова КОГДА записывается условие выбора;
  • после ключевого слова ТОГДА следует значение поля выборки в случае, если условие КОГДА истинно;
  • после слова ИНАЧЕ указывается значение, которое используется в качестве результата операции выбора в том случае, если ни одно из ранее указанных альтернативных условий выбора КОГДА не было выполнено.

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.