Имя: Пароль:
1C
1С v8
Запрос: Найти максимум в запросе по одному полю, если есть еще полю более высокого уровня
0 AlexYoung
 
25.04.18
15:06
Доброго дня!!! Заголовок корявый, не смог лучше описать проблему. Итак, у нас есть договоры, в которых есть реквизит Объект строительства и есть реквизит Статья ДДС. По одному объекту строительства м.б. несколько договоров с разными статьями ДДС. Задача  узнать статью ДДС в разрезе объектов строительства, по который был максимальный оборот за период. Мой запрос был такой:
|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
|    Договоры.ОбъектСтроительства КАК ОбъектСтроительства,
|    ХозрасчетныйОбороты.Субконто1.ОсновнаяСтатьяДвиженияДенежныхСредств КАК СтатьяДДС,
|    МАКСИМУМ(ХозрасчетныйОбороты.СуммаОборот) КАК Сумма
|ПОМЕСТИТЬ Финанс
|ИЗ
|    Договоры КАК Договоры
|    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &ДатаКонца, , , &ВидСубконто1, , КорСчет = &Сч51, ) КАК ХозрасчетныйОбороты
ПО Договоры.Договор = ХозрасчетныйОбороты.Субконто1
|
|СГРУППИРОВАТЬ ПО
|    Договоры.ОбъектСтроительства,
|ХозрасчетныйОбороты.Субконто1.ОсновнаяСтатьяДвиженияДенежныхСредств

Но там несколько статей ДДС. А нужно одну.
1 один я дАртаньян
 
25.04.18
15:11
Убери строчку   Договоры.ОбъектСтроительства КАК ОбъектСтроительства,
2 VS-1976
 
25.04.18
15:15
(0) Тебе данный отбор нужно поместить во временную таблицу, а затем группировать по объекту и найти максимальную сумму. Затем соединить результат по объекту и сумме со временной, что бы найти ту самую максимальную ДДС
3 Ненавижу 1С
 
гуру
25.04.18
15:16
аналогичная задача, для каждого контрагента вывести договор с максимальным оборотом продаж:


ВЫБРАТЬ
    ПродажиОбороты.Контрагент,
    ПродажиОбороты.ДоговорКонтрагента,
    ПродажиОбороты.СтоимостьОборот
ПОМЕСТИТЬ ТЗ
ИЗ
    РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТЗ.Контрагент,
    МАКСИМУМ(ТЗ.СтоимостьОборот) КАК СтоимостьОборот
ПОМЕСТИТЬ Максимумы
ИЗ
    ТЗ КАК ТЗ

СГРУППИРОВАТЬ ПО
    ТЗ.Контрагент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТЗ.Контрагент КАК Контрагент,
    ТЗ.ДоговорКонтрагента,
    ТЗ.СтоимостьОборот
ИЗ
    ТЗ КАК ТЗ
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Максимумы КАК Максимумы
        ПО ТЗ.Контрагент = Максимумы.Контрагент
            И ТЗ.СтоимостьОборот = Максимумы.СтоимостьОборот

УПОРЯДОЧИТЬ ПО
    Контрагент
АВТОУПОРЯДОЧИВАНИЕ
4 AlexYoung
 
25.04.18
15:39
Всем ааагромное спасибо!!! Все получилось!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.