Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. Проверку того, что результат выполнения запроса не содержит строк следует выполнять с помощью метода Пустой . Поскольку на получение выборки из результата запроса (выгрузка его в таблицу значений) будет затрачиваться дополнительное время.
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
Возврат НЕ Запрос.Выполнить().Пустой()
Методическая рекомендация (полезный совет)
2. В то же время если требуется выбрать (или выгрузить) результат запроса, то предварительный вызов метода Пустой не требуется.
Например, вместо:
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда // избыточный вызов
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
.
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
.
Очень часто даже опытные программисты ошибаются при методе проверки наличия строк в результате запроса. Рассмотрим, как правильно, а самое главное – оптимально с точки зрения производительности проверять запрос на наличие строк.
Очень часто для проверки наличия строк в результате запроса программисты не просто выполняют запрос, а выгружают результат в таблицу и проверяют по количеству строк (Таблица.Количество()<>0) или же получают выборку и смотрят на количество в выборке (Выборка.Количество()<>0). Однако это не оптимально с точки зрения производительности системы.
Правильно для проверки результата запроса на наличие строк использовать метод результата запроса «Пустой()».
Получите 267 видеоуроков по 1С бесплатно:
Рассмотрим пример функции, которая ищет запросом контрагента по ИНН. Если такого контрагента не найдено, возвращает Ложь, если такой контрагент существует — Истина:
Читайте и другие статьи по запросам и конфигурированию в 1С.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Рекомендация с ИТС:
Методическая рекомендация (полезный совет)
2. В то же время если требуется выбрать (или выгрузить) результат запроса, то предварительный вызов метода Пустой не требуется.
Например, вместо:
РезультатЗапроса = Запрос.Выполнить ();
Если НЕ РезультатЗапроса.Пустой() Тогда // избыточный вызов
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
…
Выборка = Запрос.Выполнить ().Выбрать();
Пока Выборка.Следующий() Цикл
…