Имя: Пароль:
1C
1С v8
Группировка запроса
0 PuhUfa
 
15.06.12
09:08
Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |   ВложенныйЗапрос.ОбъектСтроительства КАК ОбъектСтроительства,
       |   ВложенныйЗапрос.Договор КАК Договор,
       |   ВложенныйЗапрос.Контрагент КАК Контрагент,
       |   ВложенныйЗапрос.СметнаяСтоимость КАК СметнаяСтоимость,
       |   СУММА(ВложенныйЗапрос.СданоРабот) КАК СданоРабот,
       |   СУММА(ВложенныйЗапрос.ОплаченоРабот) КАК ОплаченоРабот,
       |   СУММА(ВложенныйЗапрос.СуммаОстатокДт) КАК СуммаОстатокДт,
       |   СУММА(ВложенныйЗапрос.СуммаОстатокКт) КАК СуммаОстатокКт
       |ИЗ
       |    (ВЫБРАТЬ
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто2.ОбъектСтроительства КАК ОбъектСтроительства,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто2 КАК Договор,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто1 КАК Контрагент,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто2.СметнаяСтоимость КАК СметнаяСтоимость,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.СуммаОборотДт КАК СданоРабот,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.СуммаОборотКт КАК ОплаченоРабот,
       |        0 КАК СуммаОстатокДт,
       |        0 КАК СуммаОстатокКт
       |    ИЗ
       |        РегистрБухгалтерии.Хозрасчетный.Обороты(
       |                &ДатаНач,
       |                &ДатаКон,
       |                ,
       |                Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками))
       |                    ИЛИ Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыполненныеЭтапыПоНезавершеннымРаботам)),
       |                ,
       |                Субконто2.Строительство = ИСТИНА
       |                    И Субконто2.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
       |                    И Организация = &Организация,
       |                ,
       |                ) КАК ХозрасчетныйОборотыРасчетыСЗаказчиками
       |    ГДЕ
       |        ВЫБОР
       |                КОГДА (ХозрасчетныйОборотыРасчетыСЗаказчиками.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками))
       |                        ИЛИ ХозрасчетныйОборотыРасчетыСЗаказчиками.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
       |                        ИЛИ ХозрасчетныйОборотыРасчетыСЗаказчиками.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыполненныеЭтапыПоНезавершеннымРаботам)))
       |                        И ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто1 = ХозрасчетныйОборотыРасчетыСЗаказчиками.КорСубконто1
       |                    ТОГДА (НЕ ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто2 = ХозрасчетныйОборотыРасчетыСЗаказчиками.КорСубконто2)
       |                ИНАЧЕ ИСТИНА
       |        КОНЕЦ
       |
       |    СГРУППИРОВАТЬ ПО
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто2.ОбъектСтроительства,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто2,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто1,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.Субконто2.СметнаяСтоимость,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.СуммаОборотДт,
       |        ХозрасчетныйОборотыРасчетыСЗаказчиками.СуммаОборотКт
       |
       |    ОБЪЕДИНИТЬ ВСЕ
       |
       |    ВЫБРАТЬ
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.Субконто2.ОбъектСтроительства,
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.Субконто2,
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.Субконто1,
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.Субконто2.СметнаяСтоимость,
       |        0,
       |        0,
       |        ЕСТЬNULL(ХозрасчетныйОстаткиРасчетыСЗаказчиками.СуммаОстатокДт, 0),
       |        ЕСТЬNULL(ХозрасчетныйОстаткиРасчетыСЗаказчиками.СуммаОстатокКт, 0)
       |    ИЗ
       |        РегистрБухгалтерии.Хозрасчетный.Остатки(
       |                &ДатаНач,
       |                Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками))
       |                    ИЛИ Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыполненныеЭтапыПоНезавершеннымРаботам)),
       |                ,
       |                Субконто2.Строительство = ИСТИНА
       |                    И Субконто2.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
       |                    И Организация = &Организация) КАК ХозрасчетныйОстаткиРасчетыСЗаказчиками
       |
       |    СГРУППИРОВАТЬ ПО
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.Субконто2.ОбъектСтроительства,
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.Субконто2,
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.Субконто1,
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.Субконто2.СметнаяСтоимость,
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.СуммаОстатокДт,
       |        ХозрасчетныйОстаткиРасчетыСЗаказчиками.СуммаОстатокКт) КАК ВложенныйЗапрос
       |
       |СГРУППИРОВАТЬ ПО
       |    ВложенныйЗапрос.ОбъектСтроительства,
       |    ВложенныйЗапрос.Договор,
       |    ВложенныйЗапрос.Контрагент,
       |   ВложенныйЗапрос.СметнаяСтоимость
       |
       |УПОРЯДОЧИТЬ ПО
       |    Контрагент,
       |    ОбъектСтроительства,
       |    Договор
       |ИТОГИ
       |    СУММА(СметнаяСтоимость),
       |    СУММА(СданоРабот),
       |    СУММА(ОплаченоРабот),
       |    СУММА(СуммаОстатокДт),
       |    СУММА(СуммаОстатокКт)
       |ПО
       |    ОБЩИЕ,
       |    Контрагент
       |";
       

   Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач));
   Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
   Запрос.УстановитьПараметр("Организация", Организация);

   Результат = Запрос.Выполнить();

Но в результате http://s017.radikal.ru/i407/1206/51/2df4d9bb5ba7.jpg видно, что строки остались не сгруппированы. ЧЯНТД?
1 PuhUfa
 
15.06.12
09:09
Сорри. Опять ссылку "скушало" - http://s017.radikal.ru/i407/1206/51/2df4d9bb5ba7.jpg
2 butterbean
 
15.06.12
09:10
а где код вывода в таб. документ??
3 shuhard
 
15.06.12
09:11
(0) группировку надо делать поверх UNION
4 PuhUfa
 
15.06.12
09:11
(2) не знаю зачем тебе он но вот:

   ВыборкаОбщие = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока ВыборкаОбщие.Следующий() Цикл
       
       ВыборкаКонтрагент = ВыборкаОбщие.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
       Пока ВыборкаКонтрагент.Следующий() Цикл
           
           ОбластьКонтрагент.Параметры.Заполнить(ВыборкаКонтрагент);
           НачОстаток = ВыборкаКонтрагент.СуммаОстатокДт - ВыборкаКонтрагент.СуммаОстатокКт;
           Долг = НачОстаток + ВыборкаКонтрагент.СданоРабот - ВыборкаКонтрагент.ОплаченоРабот;
           ОбластьКонтрагент.Параметры.НачОстаток = НачОстаток;
           ОбластьКонтрагент.Параметры.Долг = Долг;
           ТабДок.Вывести(ОбластьКонтрагент, ВыборкаКонтрагент.Уровень());
           
           ВыборкаДетали = ВыборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
           Пока ВыборкаДетали.Следующий() Цикл
               
               ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
               НачОстаток = ВыборкаДетали.СуммаОстатокДт - ВыборкаДетали.СуммаОстатокКт;
               Долг = НачОстаток + ВыборкаДетали.СданоРабот - ВыборкаДетали.ОплаченоРабот;
                 ОбластьДетальныхЗаписей.Параметры.НачОстаток = НачОстаток;
                 ОбластьДетальныхЗаписей.Параметры.Долг = Долг;
               ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
           КонецЦикла;
           
       КонецЦикла;    
       
       НачОстаток = ВыборкаОбщие.СуммаОстатокДт - ВыборкаОбщие.СуммаОстатокКт;
       Долг = НачОстаток + ВыборкаОбщие.СданоРабот - ВыборкаОбщие.ОплаченоРабот;
       ОбластьИтоги.Параметры.НачОстаток = НачОстаток;
       ОбластьИтоги.Параметры.Долг = Долг;
       ОбластьИтоги.Параметры.Заполнить(ВыборкаОбщие);

   КонецЦикла;
5 PuhUfa
 
15.06.12
09:13
(3 ну так она и так поверх
       |СГРУППИРОВАТЬ ПО
       |    ВложенныйЗапрос.ОбъектСтроительства,
       |    ВложенныйЗапрос.Договор,
       |    ВложенныйЗапрос.Контрагент,
       |   ВложенныйЗапрос.СметнаяСтоимость
6 PuhUfa
 
15.06.12
09:13
(5) к (3)
7 Buster007
 
15.06.12
09:25
что-то мне подсказывает что ошибка в коде вывода. Так что к (2) +1
8 PuhUfa
 
15.06.12
09:36
9 Alex S D
 
15.06.12
09:37
а если запихнуть объект строительства в итоги?
10 PuhUfa
 
15.06.12
09:56
(9) т.е?
11 Alex S D
 
15.06.12
09:57
|ПО
       |    ОБЩИЕ,
        | Контрагент,
        | ОбъектСтроительства
12 butterbean
 
15.06.12
10:01
(8) ты детальные записи выводишь ПоГруппировкам, а у тебя нет группировок кроме контрагентов и общих
13 PuhUfa
 
15.06.12
10:20
(11) примерно похоже на правду, но там тогда суммируется СметнаяСтоимость.
(12) опять эти детальные записи... -)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс