Имя: Пароль:
1C
1С v8
Вложенный запрос, группировка
0 narayanan
 
05.12.12
10:26
Здрасьте, вопрос такой. Почему во вложенном запросе обязательно должна быть группировка(СГРУППИРОВАТЬ ПО) по полям выборки, либо функция СУММА в выбранных полях.
1 ZanderZ
 
05.12.12
10:27
кто сказал ?
2 salvator
 
05.12.12
10:28
(0) Необязательно.
3 Megas
 
05.12.12
10:28
Откуда информация?
4 narayanan
 
05.12.12
10:29
из обсуждения на форуме, "При выполнении запроса выдается сообщение "Поле Неснижаемыеостатки.Количество не входит в группу"
5 narayanan
 
05.12.12
10:30
Отвечают "поле может не входить в перечисленные поля
в конструкции
Сгруппировать по
или
Итоги по "
"ТОлько сгруппировать по
А если точнее, все поля запроса должны быть либо "Сгруппировать По" либо Сумма(Поле) КАК Поле "
6 cw014
 
05.12.12
10:30
Функцию "Сумма" выкинь из полей вложенного запроса, и не делай группировку
7 narayanan
 
05.12.12
10:35
(6) Если выкину СУММА и уберу из группировки, тогда такой вложенный запрос

ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                  |            ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
                  |            ХозрасчетныйОстаткиИОбороты.Субконто2 КАК ДоговорКонтрагента,
                  |            ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
                  |            ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
                  |            ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
                  |            ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт
                  |        ИЗ
                  |            РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, , Счет В (&Счета), , ) КАК ХозрасчетныйОстаткиИОбороты
                  |        
                  |        СГРУППИРОВАТЬ ПО
                  |            ХозрасчетныйОстаткиИОбороты.Субконто2,
                  |            ХозрасчетныйОстаткиИОбороты.Субконто1) КАК остатки

Ругается что поле "ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт" не входит в группу "ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт"
8 1Сергей
 
05.12.12
10:36
(7) дык, убери все группировки
9 narayanan
 
05.12.12
10:37
(6) Имеешь в виду вообще не далать группировку?
10 narayanan
 
05.12.12
10:37
(8) ок, попробую
11 cw014
 
05.12.12
10:37
(9) Сам догадался?
12 1Сергей
 
05.12.12
10:37
на лицо явное непонимание группирования в запросах, да и самих  запросов
13 cw014
 
05.12.12
10:38
(9) Читай внимательнее (6)
14 narayanan
 
05.12.12
10:39
Убрал, работает, спс. Но запрос еще допиливать нужно дальше
15 cw014
 
05.12.12
10:40
(14) Допиливай, разрешаем
16 narayanan
 
05.12.12
10:44
(15) пилю дальше
Дело в том, что если СуммаНачальныйОстатокДт или СуммаНачальныйОстатокКт отсутствует в регистре ХозрасчетныйОстаткиИОбороты, то поля Контрагент и  ДоговорКонтрагента не выбираются, а мне нужно выбирать, даже в случае когда СуммаНачальныйОстатокДт или СуммаНачальныйОстатокКт отсутствует. Сейчас выбирает когда там есть сумма, а мне надо даже когда СуммаНачальныйОстатокДт или СуммаНачальныйОстатокКт равен нулю или отсутствует. Думаю как порпавить запрос.
17 Megas
 
05.12.12
10:44
(14) Лучше поучи запросы на простых примерах и книжки почитай, а то лепишь группировки везде где не попадя.
18 Megas
 
05.12.12
10:45
(16) Ичто ты хочешь там увидеть?
Контрагента и все его договора с нулями?
19 narayanan
 
05.12.12
10:45
(17) Планирую заняться
20 narayanan
 
05.12.12
10:47
(18) Да, потому что в итоге мне нужно выводить обороты     СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт) КАК Оплата,
СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК Займ,
а СуммаНачальныйОстатокКт,ДТ это как условие попадания договора в звпрос.
21 1Сергей
 
05.12.12
10:47
(20) соединяй с табличками контров и договоров
22 narayanan
 
05.12.12
10:52
Получилось! Добавил во внутренний запрос эти два поля в выбрать ХозрасчетныйОстаткиИОбороты.СуммаОборотДт, ХозрасчетныйОстаткиИОбороты.СуммаОборотКт. Получилось что, НАЧСальдоДТ и КТ пусто, а обороты есть, в итоге договора попадают во вложенный запрос. Всем спасибо!
23 User_Agronom
 
05.12.12
10:59
(0) Необязательно.
Если есть группировка, то необходимо указать что делать с полями, которые попадают в одну группу. Их можно суммировать, или же подсчитывать количество или же читать мануалы))
А как иначе?
24 narayanan
 
05.12.12
11:07
(23) согласен
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший