8.х Запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем web.num, 18 авг 2016.

  1. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    908
    Симпатии:
    4
    Баллы:
    29
    Привет всем, как вывести в результат запроса стороку "Нет записей" если в регистре сведений записей нет? Не кодом а именно в запросе!?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Это ж один из вопросов Андрея на умение работать с запросами :)
    --- Объединение сообщений, 18 авг 2016 ---
    А можно узнать, чем Результат.Пустой() не подходит?
  3. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    908
    Симпатии:
    4
    Баллы:
    29
    Это код, а как в запросе реализовать?
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Так чем код не устраивает, зачем именно в запросе выводить 1 строку строкового содержания?
    Последнее редактирование: 18 авг 2016
  5. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    908
    Симпатии:
    4
    Баллы:
    29
    Зачем отвечать вопросом на вопрос!?
    Максим нравится это.
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Да потому что в очередной раз натягивание ужа на глобус.

    ВЫБРАТЬ
    Выбор Когда Количество(*) = 0 Тогда
    "Нет записей"
    Иначе <ЧегоНадоВывести>
    Конец
    Из <Таблица>
  7. Flash-Dance
    Offline

    Flash-Dance Профессионал в 1С

    Регистрация:
    20 май 2012
    Сообщения:
    365
    Симпатии:
    42
    Баллы:
    54
    Когда в запросе используются агрегатные функции (Сумма, Количество и т.д.), то одна запись обязательно имеется. Исходя из этого можно что-нибудь придумать.
  8. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    687
    Симпатии:
    8
    Баллы:
    29
    Не правда. Если нет ни одной записи удовлетворяющей условия отбора, тогда и в результате запроса записей не будет, несмотря на наличие агрегатных функций.
    --- Объединение сообщений, 19 авг 2016 ---
    Вот изврат показывающий отсутствие записей в регистре:
    Код:
    ВЫБРАТЬ
        1 КАК Поле1
    ПОМЕСТИТЬ ТаблицаСлужебная
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        АдресныйКлассификатор.Наименование
    ПОМЕСТИТЬ ТаблицаРегистра
    ИЗ
        РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор
    ГДЕ
        ЛОЖЬ
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ЕСТЬNULL(ТаблицаРегистра.Наименование, "А записей-то и нет") КАК Поле1
    ИЗ
        ТаблицаСлужебная КАК ТаблицаСлужебная
            ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаРегистра КАК ТаблицаРегистра
            ПО (ИСТИНА)
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ТаблицаРегистра
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ТаблицаСлужебная
    Последнее редактирование: 19 авг 2016
    web.num нравится это.
  9. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Да можно сделать так как написали выше запросмо как один из вариантов.
    Что есть служебная таблица и е у нее параметр и в нашей талице добавляем то же параметр и при соединении проверяем.
    Но смысл то зачем не совсем понятно. Только если вы этот результат опять помещаете в витр таблицу и куда то передаете, но это не совсем правильно надо уже запрос перестраивать

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