Имя: Пароль:
1C
1С v8
Итоги по реквизиту группировки
0 PuhUfa
 
15.07.11
10:58
Имеем запрос:
Построитель = новый ПостроительЗапроса;
    Построитель.Текст =
    "ВЫБРАТЬ
    |    эсСтроительныеРаботыОбороты.КоличествоПриход КАК КоличествоПоСмете,
    |    эсСтроительныеРаботыОбороты.СуммаПриход КАК СметнаяСтоимость,
    |    ВыполненныеУслуги.Период КАК Период,
    |    ВыполненныеУслуги.Контрагент КАК Контрагент,
    |    ВыполненныеУслуги.Договор КАК Договор,
    |    ВыполненныеУслуги.Договор.СметнаяСтоимость КАК СуммаПоДоговору,
    |    ВыполненныеУслуги.НомерПозицииПоСмете КАК НомерПозицииПоСмете,
    |    ВыполненныеУслуги.НомерЕдиничныхРасценок КАК НомерЕдиничныхРасценок,
    |    ВЫБОР
    |        КОГДА ВыполненныеУслуги.Количество = 0
    |            ТОГДА 0
    |        ИНАЧЕ ЕСТЬNULL(ВыполненныеУслуги.Сумма, 0) / ВыполненныеУслуги.Количество
    |    КОНЕЦ КАК Цена,
    |    ВыполненныеУслуги.Сумма КАК Сумма,
    |    ВыполненныеУслуги.Количество КАК Количество,
    |    ВЫРАЗИТЬ(ВыполненныеУслуги.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК НаименованиеПолное,
    |    ВыполненныеУслуги.Номенклатура КАК Номенклатура
    |ИЗ
...
    |
    |УПОРЯДОЧИТЬ ПО
    |    Период
    |ИТОГИ
    |    СРЕДНЕЕ(Цена),
    |    СУММА(Сумма),
//   |    СУММА(СуммаПоДоговору),
    |    СУММА(Количество)
    |ПО
    |    Контрагент,
    |    Договор,
    |    Период ПЕРИОДАМИ(МЕСЯЦ, &ДатаНачала, &Дата)";

ВыполненныеУслуги.Договор.СметнаяСтоимость КАК СуммаПоДоговору
СметнаяСтоимость - реквизит договора.
С закоментированной СУММА(СуммаПоДоговору) получаю в отчет:
Контраген1     СуммаВсехДоговоров (пусто)
1. договор 1 - СуммаДоговора1    
2. договор 2 - СуммаДоговора2
Если разкоментировать СУММА(СуммаПоДоговору) то получаю:
Контраген1     СуммаВсехДоговоров (неправельная сумма)
1. договор 1 - СуммаДоговора1 (неправельная сумма)    
2. договор 2 - СуммаДоговора2 (неправельная сумма)

Понятно, что в таблице результатов запроса идет:
Контраген1/договор1/СуммаДоговора1/.../Номенклатура1/Сумма1/
Контраген1/договор1/СуммаДоговора1/.../Номенклатура2/Сумма2/
Контраген1/договор1/СуммаДоговора1/.../Номенклатура3/Сумма3/
Контраген1/договор2/СуммаДоговора2/.../Номенклатура4/Сумма4/
и поэтому с раскоментированной строкой идет завышение СуммаПоДоговору
Можно ли как то это обойти, что бы получить правельную сумму договоров в группировке Контрагент?
1 Defender aka LINN
 
15.07.11
11:00
СКД, 2 набора данных и вперед.
2 poligraf
 
15.07.11
11:01
+ (1) либо новые возможности в СКД
3 PuhUfa
 
15.07.11
11:10
спс. буду курить -)