8.х Условие в запросе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем JohnConnor, 22 июл 2014.

  1. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    новичок в программировании, разбираю чужой код.
    Запрос мне понятен, но зачем программист использует конструкцию ЕСЛИ ?

    //******
    Результат19_КВ = Запрос.Выполнить().Выбрать();
    Если НЕ Результат19_КВ.Следующий() Тогда
    Возврат;
    Иначе
    Таб19_КВ = Запрос.Выполнить().Выгрузить();
    КонецЕсли;
    Массив_СчФ = Таб19_КВ.ВыгрузитьКолонку("СчетФактура");
  2. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    не один ли и тоже результат получиться?

    //**
    Результат19_КВ = Запрос.Выполнить().Выбрать();
    Таб19_КВ = Запрос.Выполнить().Выгрузить();
    Массив_СчФ = Таб19_КВ.ВыгрузитьКолонку("СчетФактура");
  3. Coloss
    Offline

    Coloss Опытный в 1С

    Регистрация:
    21 окт 2012
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    Странная конструкция... Если результат запроса пустой, тогда в другую переменную вернуть пустую таблицу значений. В оторванности от общего кода сложно сказать зачем. может он дальше эту таблицу заполнять будет?
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    зачем вообще проверка тут, можно с таким же успехом и выгруженную тз проверить на количество строк в ней. А по сути - идет проверка, что запрос что либо вернул
  5. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    Вся конструкция немного не правильная. Но смысл надо применять всем. А то я из-за гадов этого не делающих не один отчет уже переписал.


    Отправлено из моего iPhone используя Tapatalk
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Ну по коду вроде бы понятно. Если запрос пустой, тогда выходим из процедуры, иначе выгружаем в таблицу данные по колонке (полю).
  7. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    Вот как нужно правильно писать.
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст =
    "Текст вашего запроса";
    РезультатЗапроса = Запрос.Выполнить();
    Если НЕ РезультатЗапроса.Пустой() Тогда
        ВыборкаЗапроса = РезультатЗапроса.Выбрать();
        Пока ВыборкаЗапроса.Следующий() Цикл
            // Перебираем выборку запроса построчно
        КонецЦикла;
    Иначе
        Сообщить("Результат запроса пуст. Продолжение невозможно.");
    КонецЕсли;
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Ну это уже в идеале(так и должно быть:) )
  9. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104

Поделиться этой страницей