Имя: Пароль:
1C
1С v8
Помогите с запросом!!!
0 SKlaus
 
10.07.12
15:07
Задача:
Определить для каждой номенклатуры в какой ячейке храниться максимальное ее количество

Есть вот такой запрос:

ВЫБРАТЬ
   ЗаполненностьЯчеекОстатки.Номенклатура КАК Номенклатура,
   Максимум(ЗаполненностьЯчеекОстатки.КоличествоОстаток) КАК КоличествоОстаток,
   ЗаполненностьЯчеекОстатки.Ячейка КАК Ячейка
ИЗ
   РегистрНакопления.ЗаполненностьЯчеек.Остатки(&ДатаОтчета, (НЕ Ячейка.Назначение = ЗНАЧЕНИЕ(Перечисление.НазначенияЯчеек.Виртуальная))) КАК ЗаполненностьЯчеекОстатки
ГДЕ
   ЗаполненностьЯчеекОстатки.Ячейка.Назначение = ЗНАЧЕНИЕ(перечисление.НазначенияЯчеек.БыстрыйОтбор)

СГРУППИРОВАТЬ ПО
   ЗаполненностьЯчеекОстатки.Номенклатура,
   ЗаполненностьЯчеекОстатки.Ячейка

НО запрос выводит все ячейки в каких есть остатки  по номенклатуре, а нужна для каждой позиции лишь одна ячейка с самым большим количеством

упорядочить и выбрать первые не подойдет.

Очень нужна помощь уже сломал себе мозг(
1 kotletka
 
10.07.12
15:08
левым соединением максимальных строк со справочником номенклатуры
2 Explorer1c
 
10.07.12
15:11
Чето я тоже походу сломал,регистр накопелния "Заполненность ячеек"-звучит громко,а что за конфа?
3 Avganec
 
10.07.12
15:12
(0) это только начало запроса, помещаешь это все во временную таблицу, а потом, как сказал (1) делаешь соединение с справочником.
4 mailwood
 
10.07.12
15:18
В первом запросе выбираешь различные номенклатуры. Во втором ищешь по ним максимум.
5 SKlaus
 
10.07.12
15:24
Что значит "Максимальных строк"

я не понимаю ка соединить их потом
6 SKlaus
 
10.07.12
15:29
а вообще этот запрос часть вот этого запроса

ВЫБРАТЬ
   ОстатокБО.Номенклатура КАК Номенклатура,
   ОстатокБО.Ячейка КАК ЯчейкаБО,
   СУММА(ОстатокБО.КоличествоОстаток - ЕСТЬNULL(РезервБО.КоличествоОстаток, 0)) КАК СвободныйОстаток,
   ОстатокБО.Ячейка.ПорядокОбхода КАК ПорядокОбходаБО,
   ЕСТЬNULL(Отгрузки.КоличествоОборот, 0) КАК КоличествоОтгружено,
   ОстатокБО.Номенклатура.Артикул КАК Артикул
ИЗ
   (ВЫБРАТЬ
       ЗаполненностьЯчеекОстатки.Номенклатура КАК Номенклатура,
       СУММА(ЗаполненностьЯчеекОстатки.КоличествоОстаток) КАК КоличествоОстаток,
       ЗаполненностьЯчеекОстатки.Ячейка КАК Ячейка
   ИЗ
       РегистрНакопления.ЗаполненностьЯчеек.Остатки(&ДатаОтчета, (НЕ Ячейка.Назначение = ЗНАЧЕНИЕ(Перечисление.НазначенияЯчеек.Виртуальная))) КАК ЗаполненностьЯчеекОстатки
   ГДЕ
       ЗаполненностьЯчеекОстатки.Ячейка.Назначение = ЗНАЧЕНИЕ(перечисление.НазначенияЯчеек.БыстрыйОтбор)
   
   СГРУППИРОВАТЬ ПО
       ЗаполненностьЯчеекОстатки.Номенклатура,
       ЗаполненностьЯчеекОстатки.Ячейка) КАК ОстатокБО
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           РезервыВЯчейкахОстатки.Номенклатура КАК Номенклатура,
           СУММА(РезервыВЯчейкахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
           РезервыВЯчейкахОстатки.Ячейка КАК Ячейка
       ИЗ
           РегистрНакопления.РезервыВЯчейках.Остатки(&ДатаОтчета, (НЕ Ячейка.Назначение = ЗНАЧЕНИЕ(Перечисление.НазначенияЯчеек.Виртуальная))) КАК РезервыВЯчейкахОстатки
       ГДЕ
           РезервыВЯчейкахОстатки.Ячейка.Назначение = ЗНАЧЕНИЕ(перечисление.НазначенияЯчеек.БыстрыйОтбор)
       
       СГРУППИРОВАТЬ ПО
           РезервыВЯчейкахОстатки.Ячейка,
           РезервыВЯчейкахОстатки.Номенклатура) КАК РезервБО
       ПО ОстатокБО.Ячейка = РезервБО.Ячейка
           И ОстатокБО.Номенклатура = РезервБО.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           ОтгрузкиОбороты.Номенклатура КАК Номенклатура,
           СУММА(ОтгрузкиОбороты.КоличествоОборот) КАК КоличествоОборот
       ИЗ
           РегистрНакопления.Отгрузки.Обороты КАК ОтгрузкиОбороты
       
       СГРУППИРОВАТЬ ПО
           ОтгрузкиОбороты.Номенклатура) КАК Отгрузки
       ПО ОстатокБО.Номенклатура = Отгрузки.Номенклатура

СГРУППИРОВАТЬ ПО
   ОстатокБО.Ячейка,
   ОстатокБО.Номенклатура,
   ОстатокБО.Ячейка.ПорядокОбхода,
   Отгрузки.КоличествоОборот,
   ОстатокБО.Номенклатура.Артикул
7 SKlaus
 
10.07.12
15:30
политика поменялась..теперь нужно смотреть только по ячейкам с максимальным остатком..
8 SKlaus
 
11.07.12
09:21
Всем спасибо,все решил)
Независимо от того, куда вы едете — это в гору и против ветра!