Имя: Пароль:
1C
1С v8
Можно ли в одном запросе получить оборот товара за несколько недель?
0 Norbertano
 
31.05.13
13:16
Нужно получить оборот товара за несколько недель и выбрать макс. значение. Можно ли это сделать в одном запросе или получить запрос по каждой неделе в цикле, заполнять ТЗ и выбирать макс. значение?
Для Номер=НеделяГода(ДатаНач) ПО НеделяГода(ДатаКон) Цикл
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
              |    ЗаказыПокупателейОстаткиИОбороты.Номенклатура КАК Номенклатура,
              |    ЗаказыПокупателейОстаткиИОбороты.КоличествоПриход КАК КоличествоОборот
              |{ВЫБРАТЬ
              |    Номенклатура}
              |ИЗ
              |    РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Период, , ) КАК ЗаказыПокупателейОстаткиИОбороты
              |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, ) КАК ТоварыНаСкладахОстатки
              |        ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
              |ГДЕ
              |    ЗаказыПокупателейОстаткиИОбороты.Номенклатура В ИЕРАРХИИ(&ЗаказыПоставщикам)
              |    И ТоварыНаСкладахОстатки.Склад = &Склад
              |{ГДЕ
              |    ЗаказыПокупателейОстаткиИОбороты.Номенклатура.*}
              |
              |СГРУППИРОВАТЬ ПО
              |    ЗаказыПокупателейОстаткиИОбороты.Номенклатура,
              |    ЗаказыПокупателейОстаткиИОбороты.КоличествоПриход
              |
              |УПОРЯДОЧИТЬ ПО
              |    Номенклатура
              |{УПОРЯДОЧИТЬ ПО
              |    Номенклатура.*}";
...

КонецЦикла;
1 1Сергей
 
31.05.13
13:16
Можно
2 Ненавижу 1С
 
гуру
31.05.13
13:17
разрешаю сделать в одном
3 Norbertano
 
31.05.13
13:18
(2) Благодарю Вас, сударь
4 Ненавижу 1С
 
гуру
31.05.13
13:19
(3) с вас $100
5 Maxus43
 
31.05.13
13:20
"ВЫБРАТЬ
ЗаказыПокупателейОстаткиИОбороты.Неделя               |    ЗаказыПокупателейОстаткиИОбороты.Номенклатура КАК Номенклатура,

РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , )
6 Maxus43
 
31.05.13
13:20
короче с периодом играй и вытаскивай сам период, там периодичность выборки неделя есть
7 Norbertano
 
31.05.13
13:59
Ругается, что не найдено поле "ЗаказыПокупателейОбороты.Период"

ВЫБРАТЬ РАЗЛИЧНЫЕ
                           КОНЕЦПЕРИОДА(ЗаказыПокупателейОбороты.Период, НЕДЕЛЯ) КАК Период,
                           СУММА(ЗаказыПокупателейОбороты.КоличествоПриход) КАК КоличествоПриход
                       ИЗ
                           РегистрНакопления.ЗаказыПокупателей.Обороты(
                               Номенклатура,
                               &ДатаНач,
                               &ДатаКон)
                       ГДЕ
                           Номенклатура В ИЕРАРХИИ(&ЗаказыПоставщикам)
                       
                       СГРУППИРОВАТЬ ПО
                           КОНЕЦПЕРИОДА(ЗаказыПокупателейОбороты.Период, НЕДЕЛЯ)
                       
                       УПОРЯДОЧИТЬ ПО
                           Период
                       ИТОГИ
                           СУММА(КоличествоПриход)
                       ПО
                           Период ПЕРИОДАМИ(НЕДЕЛЯ, &ДатаНач, &ДатаКон)
                       АВТОУПОРЯДОЧИВАНИЕ
8 Maxus43
 
31.05.13
14:00
РегистрНакопления.ЗаказыПокупателей.Обороты(
                               Номенклатура,
                               &ДатаНач,
                               &ДатаКон)

периодичность то поставь у вирт таблицы.
И чо за Номенклатура там?
9 Maxus43
 
31.05.13
14:05
ВЫБРАТЬ
   ТоварыНаСкладахОбороты.ПериодНеделя,
   ТоварыНаСкладахОбороты.Номенклатура,
   ТоварыНаСкладахОбороты.КоличествоОборот
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Обороты(&Нач, &Кон, Авто, ) КАК ТоварыНаСкладахОбороты
10 Norbertano
 
31.05.13
14:18
Спасибо. Теперь все верно. Максимальное значение тоже можно искать в запросе?
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|    КОНЕЦПЕРИОДА(ЗаказыПокупателейОбороты.Период, НЕДЕЛЯ) КАК Период,
|    СУММА(ЗаказыПокупателейОбороты.КоличествоРасход) КАК КоличествоРасход,
|    ЗаказыПокупателейОбороты.Номенклатура КАК Номенклатура
|ИЗ
|    РегистрНакопления.ЗаказыПокупателей.Обороты(&ДатаНач, &ДатаКон, Неделя, Номенклатура В ИЕРАРХИИ (&ЗаказыПоставщикам)) КАК ЗаказыПокупателейОбороты
|
|СГРУППИРОВАТЬ ПО
|    КОНЕЦПЕРИОДА(ЗаказыПокупателейОбороты.Период, НЕДЕЛЯ),
|    ЗаказыПокупателейОбороты.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
|    Номенклатура,
|    Период
|АВТОУПОРЯДОЧИВАНИЕ";
11 Maxus43
 
31.05.13
14:31
(10) да, группируй по Периоду и МАКСИМУМ. в другом пакете запроса уэе, этот в ВТ.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн