|
Итоги в запросе (запрос к ТЗ) | ☑ | ||
---|---|---|---|---|
0
Mashinist
30.01.13
✎
22:15
|
Начну сразу с кода. Код простой
тзОстатки = Новый ТаблицаЗначений; тзОстатки.Колонки.Добавить("Склад", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150))); тзОстатки.Колонки.Добавить("КодНоменклатуры", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(10))); тзОстатки.Колонки.Добавить("Остаток", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,3))); тзОстатки.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2))); тзОстатки.Колонки.Добавить("КодПоставщика", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(7))); тзОстатки.Колонки.Добавить("КодЯчейки", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(50))); сОстатки = тзОстатки.Добавить(); сОстатки.Склад = "Склад1"; сОстатки.КодНоменклатуры = "Товар1"; сОстатки.Остаток = 1; сОстатки.Сумма = 10; сОстатки.КодПоставщика = "П1"; сОстатки.КодЯчейки = "Ячейка1"; сОстатки = тзОстатки.Добавить(); сОстатки.Склад = "Склад1"; сОстатки.КодНоменклатуры = "Товар1"; сОстатки.Остаток = 1; сОстатки.Сумма = 10; сОстатки.КодПоставщика = "П1"; сОстатки.КодЯчейки = "Ячейка1"; тзОстатки.ВыбратьСтроку(); Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ ТЗВрем ИЗ &ТЗДанные КАК ТЗ"; Запрос.УстановитьПараметр("ТЗДанные", тзОстатки); Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | ТЗВрем.КодНоменклатуры КАК КодНоменклатуры, | ТЗВрем.Остаток КАК Остаток, | ТЗВрем.Сумма КАК Сумма, | ТЗВрем.КодПоставщика КАК КодПоставщика, | ТЗВрем.КодЯчейки КАК КодЯчейки |ИЗ | ТЗВрем КАК ТЗВрем |ГДЕ | ТЗВрем.Склад = &Склад | |СГРУППИРОВАТЬ ПО | ТЗВрем.КодПоставщика, | ТЗВрем.КодНоменклатуры, | ТЗВрем.Остаток, | ТЗВрем.Сумма, | ТЗВрем.КодЯчейки | |УПОРЯДОЧИТЬ ПО | КодПоставщика, | КодНоменклатуры, | КодЯчейки |ИТОГИ | СУММА(Остаток), | СУММА(Сумма) |ПО | ОБЩИЕ, | КодПоставщика, | КодНоменклатуры"; Запрос.УстановитьПараметр("Склад", "Склад1"); РезультатЗапроса = Запрос.Выполнить(); тзОстататокПоСкладу = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); тзОстататокПоСкладу.ВыбратьСтроку(); Итогов неправильные. Т.е. две одинаковые строки не суммирует. А вот если Сумма в строках разная, то итоги правильные Что не так-то? |
|||
1
ChAlex
30.01.13
✎
23:20
|
А нафиг "сгруппировать" и нафиг ОбходРезультатаЗапроса.ПоГруппировкамСИерархией?
|
|||
2
Classic
30.01.13
✎
23:24
|
Убери сгруппировать
|
|||
3
DrShad
31.01.13
✎
00:12
|
СГРУППИРОВАТЬ ПО
... ТЗВрем.Сумма, это мощно задвинул |
|||
4
Mashinist
31.01.13
✎
00:29
|
(3)(2) правы...
понял ошибку и посыпал голову пеплом спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |