Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 19:51

Максимальные данные в запросе

Автор tema111, 06 мая 2012, 00:08

0 Пользователей и 1 гость просматривают эту тему.

cska-fanat-kz

Вы же функцию МАКСИМУМ() используете!
Почему вы должны получить 250?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

cska-fanat-kz

Как обычно говорится "не претендую на истину в последней инстанции"....
но получилось вот в таком виде:

ВЫБРАТЬ
   НоменклатураВПодразделенииОбороты.Номенклатура КАК Номенклатура,
   МАКСИМУМ(НоменклатураВПодразделенииОбороты.СуммаРасход) КАК СуммаРасход
ПОМЕСТИТЬ МаксОбПоНоменклатуре
ИЗ
   РегистрНакопления.НоменклатураВПодразделении.Обороты КАК НоменклатураВПодразделенииОбороты

СГРУППИРОВАТЬ ПО
   НоменклатураВПодразделенииОбороты.Номенклатура

ИНДЕКСИРОВАТЬ ПО
   Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МАКСИМУМ(МаксОбПоНоменклатуре.СуммаРасход) КАК СуммаРасход
ПОМЕСТИТЬ МаксимальноеКоличество
ИЗ
   МаксОбПоНоменклатуре КАК МаксОбПоНоменклатуре
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   НоменклатураВПодразделенииОбороты.Номенклатура КАК Номенклатура,
   НоменклатураВПодразделенииОбороты.СуммаРасход КАК СуммаРасход
ИЗ
   РегистрНакопления.НоменклатураВПодразделении.Обороты КАК НоменклатураВПодразделенииОбороты
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ МаксимальноеКоличество КАК МаксимальноеКоличество
      ПО НоменклатураВПодразделенииОбороты.СуммаРасход = МаксимальноеКоличество.СуммаРасход
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

DirecTwiX

Так запрос сначала выберет, а потом функцию максимума применит) 250 получится)

cska-fanat-kz

Оказывается, что

ВЫБРАТЬ
        МАКСИМУМ(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК МаксКол
     ИЗ
        РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты

не дает максимальное из КоличествоРасход,
а дает СУММУ всех КоличествоРасход!...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

DirecTwiX

Цитата: cska-fanat-kz от 07 мая 2012, 14:50
Оказывается, что

ВЫБРАТЬ
         МАКСИМУМ(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК МаксКол
      ИЗ
         РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты

не дает максимальное из КоличествоРасход,
а дает СУММУ всех КоличествоРасход!...
Я об этом и говорил) А если добавить ещё КОЛИЧЕСТВО(ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Ссылка), то ему придётся выбрать остатки для каждой позиции..

tema111

Цитата: DirecTwiX от 07 мая 2012, 13:00
ВЫБРАТЬ
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Ссылка,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
ИЗ
   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты
   внутреннее соединение (ВЫБРАТЬ
         КОЛИЧЕСТВО(ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Ссылка) КАК Кол,
         МАКСИМУМ(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК Сумма
      ИЗ
         РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты) КАК ВложенныйЗапрос
      ПО ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход = ВложенныйЗапрос.Сумма

вот, спасибо большое) теперь только тот товар, количество у которого больше всего

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск