Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут! (в рабочие часы)

Проверка на пустоту в запросе 1С 8.3 (8.2)

Очень часто даже опытные программисты ошибаются при методе проверки наличия строк в результате запроса. Рассмотрим, как правильно, а самое главное – оптимально с точки зрения производительности проверять запрос на наличие строк.
Конструктор запросов 1С

Очень часто для проверки наличия строк в результате запроса программисты не просто выполняют запрос, а выгружают результат в таблицу и проверяют по количеству строк (Таблица.Количество()<>0) или же получают выборку и смотрят на количество в выборке (Выборка.Количество()<>0). Однако это не оптимально с точки зрения производительности системы.

Правильно для проверки результата запроса на наличие строк использовать метод результата запроса «Пустой()».

Получите 267 видеоуроков по 1С бесплатно:

Рассмотрим пример функции, которая ищет запросом контрагента по ИНН. Если такого контрагента не найдено, возвращает Ложь, если такой контрагент существует — Истина:

Функция КонтрагентСТакимИННСуществует(ИНН)

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ Ссылка

|ИЗ Справочник.Контрагенты КАК Контрагенты

|ГДЕ ИНН = &amp;ИНН";

Запрос.УстановитьПараметр("ИНН", ИНН);

Результат = Запрос.Выполнить();

Если Результат.Пустой() Тогда

Возврат Ложь;

Иначе

Возврат Истина;

КонецЕсли;

КонецФункции

Читайте и другие статьи по запросам и конфигурированию в 1С.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 3 на “Проверка на пустоту в запросе 1С 8.3 (8.2)
  1. кто сказал и где написано что атк правильно?

    Ответить

    • я говорю, написано здесь. Так правильно. Можно без «иначе». результат вернет либо истину, либо ложь в любом случае.

      Ответить

      • т.е.:

        Если Результат.Пустой() Тогда
        Возврат Ложь;
        КонецЕсли;

        Возврат Истина;

        Ответить

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

Ваш e-mail не будет опубликован.