Имя: Пароль:
1C
1С v8
можно ли задать суммирование в запросе
0 LivingStar
 
09.02.12
14:19
имеется запрос, у которого у определенных полях по одной номенклатуре стоят значения сумм, то есть:
|
номенкл1 23  
номенкл1 33
номенкл1 15
номенкл1 78
номенкл1 9
номенкл2 21
номенкл2 67
номенкл2 89
номенкл2 77
номенкл3 12
номенкл4 45
номенкл4 55
номенкл5 32
номенкл5 11
номенкл5 7
|

можно ли как то в запросе указать что бы он это выбрал в следующей форме? :
|
номенкл1 23 158  
номенкл1 33 158
номенкл1 15 158
номенкл1 78 158
номенкл1 9  158
номенкл2 21 254
номенкл2 67 254
номенкл2 89 254
номенкл2 77 254
номенкл3 12 12
номенкл4 45 100
номенкл4 55 100
номенкл5 32 40
номенкл5 11 40
номенкл5 7  40
|
1 LivingStar
 
09.02.12
14:21
то есть добавить колонку где по каждому виду номенклатуры добавляется поле где значится сумма всех числовых значений по этому виду номенклутуры, важно понять принцип, можно ли это задать в запросе, и как?
2 mirosh
 
09.02.12
14:23
(0) привет. Конечно можно!
1. Создать временную таблицу из исходных данных. Индекс по номенклатуре.
2. Создать временную таблицу из первой, только с группировкой по номенклатуре и суммой по числовому значению. Индекс по номенклатуре.
3. Соединить первую и вторую таблицы внутренним соединением, выбрав номенклатуру, числовое поле из первой таблицы и числовое поле из второй таблицы.
4. Удалить временные таблицы.

Удачи!
3 LivingStar
 
09.02.12
14:24
(2) кое что понятно, можно через пакетные запросы попробовать наверное!!!!
4 Maxus43
 
09.02.12
14:24
мать моя...
Группировки отменили в запросе?
5 mirosh
 
09.02.12
14:25
(3) да, так и делается
6 Maxus43
 
09.02.12
14:25
или я что-то не понял в задаче
7 LivingStar
 
09.02.12
14:26
(6) да видимо я не дружу с ними....
8 LivingStar
 
09.02.12
14:27
(7+) или запрос сложен по сранению с (0)
9 mirosh
 
09.02.12
14:28
(8) приведи текст запроса своего, если не получится, я напишу правильный вариант. ты его конструкторе откроешь и все станет понятно. Логика описана в (2).
10 LivingStar
 
09.02.12
14:37
(4) да реально, все можно группировками !!!! Только потом как то это все правильно обойти!!!
11 LivingStar
 
09.02.12
14:37
(9) понял, спасибо! Пока что задал группировки и получил нужные суммы. Теперь нужно правильно задать обход этого результата запроса.
12 LivingStar
 
09.02.12
14:38
делаю, проверяю пока что в консоле...
13 Maxus43
 
09.02.12
14:38
можно итогами по Номенклатуре ещё. смотря в каком виде надо результат
14 Широкий
 
09.02.12
14:39
итоги
15 mirosh
 
09.02.12
14:44
(0) как успехи?
16 Wobland
 
09.02.12
14:45
(12) опять?
17 Maxus43
 
09.02.12
14:52
(16) не привык чтоль ещё к темам ТС?
18 Wobland
 
09.02.12
14:53
(17) к матерщине спокойней отношусь, чем вот к этому
19 LivingStar
 
10.02.12
07:41
хотел пересчитать в запросе, как сделал группировками так не получается ((((
придется делать пакетным запросом
20 LivingStar
 
10.02.12
07:57
(15) неудачно
21 LivingStar
 
10.02.12
09:26
в коде обработал.....
22 Ненавижу 1С
 
гуру
10.02.12
09:30
(21) фу...
23 Gesperid
 
10.02.12
09:34

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