Имя: Пароль:
1C
1С v8
Помогите плз с запросом...
0 WF72
 
29.03.13
12:48
Нужно сделать следующее: выбрать все остатки по заданным счетам, в разрезе субконто 1 и 2, и для этих данных вытащить регистраторы, их сформировавшие. Сделал запрос, но никак не пойму, как заставить правильно работать итоги: когда дело доходит до обхода по регистраторам, в колонках по остаткам выходит сумма по более высокой группировке, а именно по договорам. Из-за чего в строке с договором сумма остатков множится на количество регистраторов и получается полный бардак :(
Помогите плз, реально ли решить данную задачу запросом с левым соединением?

"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
|    ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
|    СУММА(ХозрасчетныйОстатки.СуммаОстатокДт) КАК СуммаОстатокДт,
|    СУММА(ХозрасчетныйОстатки.СуммаОстатокКт) КАК СуммаОстатокКт,
|    ХозрасчетныйОстатки.Счет КАК Счет,
|    ХозрасчетныйОбороты.Регистратор КАК Регистратор
|ИЗ
|    РегистрБухгалтерии.Хозрасчетный.Остатки(&КонПериода, Счет В ИЕРАРХИИ (&СписокСчетов), , Организация = &Организация) КАК ХозрасчетныйОстатки
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(, &КонПериода, Регистратор, Счет В ИЕРАРХИИ (&СписокСчетов), , Организация = &Организация, , ) КАК ХозрасчетныйОбороты
|        ПО ХозрасчетныйОстатки.Субконто1 = ХозрасчетныйОбороты.Субконто1
|            И ХозрасчетныйОстатки.Субконто2 = ХозрасчетныйОбороты.Субконто2
|            И ХозрасчетныйОстатки.Счет = ХозрасчетныйОбороты.Счет
|
|СГРУППИРОВАТЬ ПО
|    ХозрасчетныйОстатки.Субконто1,
|    ХозрасчетныйОстатки.Субконто2,
|    ХозрасчетныйОбороты.Регистратор,
|    ХозрасчетныйОстатки.Счет
|
|УПОРЯДОЧИТЬ ПО
|    Субконто1,
|    Субконто2
|ИТОГИ
|    СУММА(СуммаОстатокДт),
|    СУММА(СуммаОстатокКт)
|ПО
|    ОБЩИЕ,
|    Субконто1,
|    Субконто2
|АВТОУПОРЯДОЧИВАНИЕ";
1 salvator
 
29.03.13
12:54
А почему бы не использовать ОстаткиИОбороты?
2 WF72
 
29.03.13
14:03
Вместо Оборотов? Тот же самый результат.
Если имелось в виду вместо Остатков, то мне нужно обязательно искать регистраторы только по остаткам.
3 shuhard
 
29.03.13
14:18
(2)[то мне нужно обязательно искать регистраторы только по остаткам]
феерично
4 WF72
 
29.03.13
14:55
что именно феерично?
всунуть в запрос условие типа ГДЕ ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток <> 0? это не работает.
5 Turpentine
 
29.03.13
15:07
чудак, добавь сумму по регистратору для "детальных" записей в выборке.
Плюс к твоим полям запроса:
| Сумма(ЕстьNULL(ХозрасчетныйОбороты.СуммаОборот,0)) как СуммаПоРегистратору,
Закон Брукера: Даже маленькая практика стоит большой теории.