|
Помогите с запросом. |
☑ |
0
suvolod
24.04.12
✎
15:36
|
Вроде простой вопрос, а решить не могу. Есть вопрос:
"ВЫБРАТЬ
| РасходнаяНакладнаяСписокТоваров.Номенклатура,
| РасходнаяНакладнаяСписокТоваров.Количество,
| РасходнаяНакладнаяСписокТоваров.Сумма
|ИЗ
| Документ.РасходнаяНакладная.СписокТоваров КАК РасходнаяНакладнаяСписокТоваров
|ГДЕ
| РасходнаяНакладнаяСписокТоваров.Ссылка = &Ссылка"
Вопрос:
Как мне к этому запросу прицепить еще одно поле, в котором будет сидеть итог по табличной части? Т.е. мне нужна строка вида:
Номенклатура, КоличествоПоСтроке, СуммаПоСтроке, СуммаПоВсейТЧ
|
|
1
butterbean
24.04.12
✎
15:40
|
т.е. в каждой строке в этом поле будет еще и итог по всей тч??
|
|
2
Zubek
24.04.12
✎
15:40
|
Посмтори в СП
СГРУППИРОВАТЬ ПО
ЛЕВОЕ СОЕДИНЕНИЕ
СУММА()
|
|
3
cViper
24.04.12
✎
15:40
|
(0) Есть несколько вариантов.
Один из них: подзапрос, в котором получается итог по таблице.
В СКД, по-моему, такое можно делать даже без подзапроса.
|
|
4
suvolod
24.04.12
✎
15:44
|
(1) Да.
(3) С подзапросом я уже думал. Как-то слишком уж трехэтажно получается. Результирующую таблицу на самом деле определяю как ВремТаб, и получается во ВремТаб подзапрос, да потом еще сама эта ВремТаб тоже в подзапросах участвует. ХОчется простое элегантное решение
|
|
5
butterbean
24.04.12
✎
15:46
|
(4) еще парочку временных таблиц сделай
|
|
6
SUA
24.04.12
✎
15:47
|
в типовых можно посмотреть
РасходнаяНакладнаяСписокТоваров.Ссылка.СуммаДокумента
если к документу запрос
|
|
7
Sancha
24.04.12
✎
16:29
|
Может так? добавить еще одно поле в конструкторе запроса
| Сумма(РасходнаяНакладнаяСписокТоваров.Сумма) как СуммаПоТаблице
|
|
8
fisher
24.04.12
✎
16:33
|
(4) Проще чем с подзапросом не выйдет.
(6) Один ньюанс. Нужно чтобы этот реквизит существовал и хранил итог по табличной части :)
|
|
9
cViper
24.04.12
✎
16:59
|
ВЫБРАТЬ
| РасходнаяНакладнаяСписокТоваров.Номенклатура,
| РасходнаяНакладнаяСписокТоваров.Количество,
| РасходнаяНакладнаяСписокТоваров.Сумма,
| Подзапрос.ТаблицаИтог КАК ИтогПоТаблице
|ИЗ
| Документ.РасходнаяНакладная.СписокТоваров КАК РасходнаяНакладнаяСписокТоваров
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| СУММА(СТ.Сумма) КАК ТаблицаИтог
|ИЗ
| Документ.РасходнаяНакладная.СписокТоваров КАК СТ
|ГДЕ
| СТ.Ссылка = &Ссылка"
) КАК Подзапрос
|ГДЕ
| РасходнаяНакладнаяСписокТоваров.Ссылка = &Ссылка"
|
|
10
cViper
24.04.12
✎
16:59
|
(2) Чего здесь 3ех-этажного?
|
|
11
fisher
24.04.12
✎
17:04
|
(9) В данном случае вместо левого соединения можно просто запятую поставить.
|
|
12
cViper
24.04.12
✎
17:45
|
(11) Да
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший