1С 8.3 Условия в запросе - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Условия в запросе

Данные > Примеры кода 1С > 1С 8.3 Запросы
Реклама:
Условия в запросе 1С 8.3 необходимо грамотно располагать в коде и оптимально использовать, чтобы избежать падение производительности выполнения запроса. Условия в основном располагаются после служебного слова ГДЕ (до группировки). Но могут быть расположены и после служебного слова ИМЕЮЩИЕ (после группировки) и в параметрах виртуальных таблиц (свойство Условие) и в конструкции кода ВЫБОР КОГДА.

Для реализации различных условий, используются различные операторы:
  • сравнения: больше >, меньше <, равно =,  не равно <>
  • отрицания: НЕ ставится в начале выражения через пробел, например: НЕ 5 = 10
  • группировки: И, ИЛИ, () Например: (7 = 7) И (5<>10)
  • булево: ИСТИНА, ЛОЖЬ, например: (5 = 10) = ЛОЖЬ
  • ПОДОБНО <шаблон> для сравнения строковых значений
  • ССЫЛКА <тип> проверка на совпадение ссылочным типом
  • В() во вложенном запросе, массиве, параметре
  • В ИЕРАРХИИ()  в группе справочника, переданных в скобках, плана видов характеристик
Условия в запросе на выбранные строки до группировки в 1С 8.3:
&НаСервере
Процедура УсловияВЗапросеНаВыбранныеСтрокиДоГруппировки()

   
// Выборка материалов с весом от 250 до 5000
   
Запрос = Новый Запрос("ВЫБРАТЬ
    |   Наименование,
    |   Вес
    | ИЗ
    |   Справочник.Материалы
    | ГДЕ
    |   Вес > 250 И Вес < 5000"
);

   
РезультатЗапроса = Запрос.Выполнить(); Записи = РезультатЗапроса.Выбрать();
    Пока
Записи.Следующий() Цикл
       
// Обход результата запроса по каждой записи в полученной выборке
   
КонецЦикла;

КонецПроцедуры
Условия в запросе на выбранные строки после группировки в 1С 8.3:
&НаСервере
Процедура УсловияВЗапросеНаВыбранныеСтрокиПослеГруппировки()

   
// Выборка  материалов с весом до 50
   
Запрос = Новый Запрос("ВЫБРАТЬ
    |   СрокИспользования,
    |   МАКСИМУМ(Вес)
    | ИЗ
    |   Справочник.Материалы
    | СГРУППИРОВАТЬ ПО
    |   СрокИспользования
    | ИМЕЮЩИЕ
    |   МАКСИМУМ(Вес) < 50"
);

   
РезультатЗапроса = Запрос.Выполнить(); Записи = РезультатЗапроса.Выбрать();
    Пока
Записи.Следующий() Цикл
       
// Обход результата запроса по каждой записи в полученной выборке
   
КонецЦикла;

КонецПроцедуры
Поиск кода
0
комментарии
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 14.06.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому