Имя: Пароль:
1C
1С v8
v8 Вопрос по запросу
,
0 picom
 
24.03.13
17:46
Нужно получить остатки по выбранным нескольким складам, в т.ч. и по розничным.
...
Делаю запрос такой, однако не понимаю как засуммировать остатки
...
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
   ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(
           ,
           Склад В (&Склад)
               И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ТоварыНаСкладахОстатки

СГРУППИРОВАТЬ ПО
   ТоварыНаСкладахОстатки.Номенклатура,
   ТоварыНаСкладахОстатки.КоличествоОстаток

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   ТоварыВРозницеОстатки.Номенклатура,
   ТоварыВРозницеОстатки.КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыВРознице.Остатки(
           ,
           Склад В (&Склад)
               И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ТоварыВРозницеОстатки

УПОРЯДОЧИТЬ ПО
   Номенклатура
ИТОГИ ПО
   Номенклатура ТОЛЬКО ИЕРАРХИЯ
1 Hans
 
24.03.13
17:52
засунь это все во вложенный запрос. Потом будешь суммировать.
2 picom
 
24.03.13
17:53
Перебрать номенклатуру и вложенными считать остатки?
3 zladenuw
 
24.03.13
17:57
объединение во вложенный
4 picom
 
24.03.13
17:59
чорт, как это?
5 GANR
 
24.03.13
18:02
(4) Вот так:

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

ОБЪЕДИНИТЬ ВСЕ

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

Могут быть ошибки, поскольку перед глазами нет 1С
6 zladenuw
 
24.03.13
18:03
(4) жесть. закладка дополнительно. даешь имя временно таблице, выбираешь номенклатуру и количество. группируешь. все
7 GANR
 
24.03.13
18:04
+(5) Лучше даже так:

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

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   ТоварыВРозницеОстатки.Номенклатура,
   ТоварыВРозницеОстатки.КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыВРознице.Остатки(
           ,
           Склад В (&Склад)
               И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ТоварыВРозницеОстатки) КАК ВЗ
СГРУППИРОВАТЬ ПО
   ВЗ.Номенклатура
8 GANR
 
24.03.13
18:07
(0) понятно (5)(7) и остальное?
9 picom
 
24.03.13
18:14
(8) Работает, спасибо огромное, но вот как это работает не совсем понятно, попытаюсь разобраться.
С меня бутылка пива ;)
10 GANR
 
24.03.13
18:17
(9) http://sql-ex.ru/ - после решения на сертификат Basic Knovledge поймешь, а ещё через год спинным мозгом будешь чуять как это работает.
11 GANR
 
24.03.13
18:29
(0) А это

СГРУППИРОВАТЬ ПО
   ...
   ТоварыНаСкладахОстатки.КоличествоОстаток

надо заменить на это

СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток)
ИЗ ...
СГРУППИРОВАТЬ ПО
   ...

в 95% запросов в конфигурации, если таковые имеются. По полю КоличествоОстаток, как правило, должна проводится агрегация (подсчет СУММА), а не группировка.