[РЕШЕНО] Как получить максимальное значение в запросе

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Ivan2014, 23 сен 2015.

  1. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Здравствуйте.
    Необходимо получить максимальное значение из запроса. Но он просто группирует по данному реквизиту (Показатель1). Тип - число.
    Что не верно написано? Необходимо чтобы по сумме все сложил, ничего не выкинув, а Показатель1 вывел максимальный.
    Код:
        |ВЫБРАТЬ
        |    ВТ1.Сотрудник,
        |    ВТ1.ВидУчетаВремени,
        |    ВТ1.ОтработаноДней,
        |    ВТ1.ОтработаноЧасов,
        |    СУММА(ВТ1.Результат) КАК Результат,
        |    МАКСИМУМ(ВТ1.Показатель1) КАК Показатель1
        |ПОМЕСТИТЬ ВТ2
        |ИЗ
        |    ВТ1 КАК ВТ1
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ1.Сотрудник,
        |    ВТ1.ВидУчетаВремени,
        |    ВТ1.ОтработаноДней,
        |    ВТ1.ОтработаноЧасов
        |;
    
  2. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Нужно отсортировать по значению Показатель1 и выбрать первое значение.
    Ivan2014 нравится это.
  3. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Приведенный текст запроса должен работать как вам нужно.
    Возможно, проблемы в другом.
    Ivan2014 нравится это.
  4. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Так вообще пропало значение Показатель1, ОтработаноДней и ОтработаноЧасов (Null и нулевые).
    Код:
        |ВЫБРАТЬ ПЕРВЫЕ 1
        |    ВТ1.Сотрудник,
        |    ВТ1.ВидУчетаВремени,
        |    ВТ1.ОтработаноДней,
        |    ВТ1.ОтработаноЧасов,
        |    СУММА(ВТ1.Результат) КАК Результат,
        |    МАКСИМУМ(ВТ1.Показатель1) КАК Показатель1
        |ПОМЕСТИТЬ ВТ2
        |ИЗ
        |    ВТ1 КАК ВТ1
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ1.Сотрудник,
        |    ВТ1.ВидУчетаВремени,
        |    ВТ1.ОтработаноДней,
        |    ВТ1.ОтработаноЧасов
        |
        |УПОРЯДОЧИТЬ ПО
        |    Показатель1
        |;
  5. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Приходим к выводу, что значения не совсем числовые :)
    Ivan2014 нравится это.
  6. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Значения числовые, тип = Число.
  7. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    NULL - не число и это будет максимальным значением, если не ошибаюсь....
  8. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Я разобрался, вчера видимо зациклился, сам виноват. Ведь ОтработаноДней и ОтработаноЧасов - тоже уникальные значения, нужно было по ним тоже суммировать, тогда все сложилось как надо. А я по ним группировал, они и не давали свернуться.

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