Вход | Регистрация

1С:Предприятие ::

Метки:

ОбходРезультатаЗапроса.ПоГруппировкам

Я
   Ar-Bus
 
25.01.13 - 01:45
При обходе результата запроса обрабатываются только те записи, у которых тип=ИтогПоГруппировке. Детальных записей нет. Почему?

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


    Запрос.Текст="
    |ВЫБРАТЬ
    |    период,
    |    подразделение,
    |    объект,
    |    регистратор,
    |    НазначениеПлатежа,
    |    СУММА(Сумма) КАК СуммаПлатежей
    |ИЗ
    |    РегистрНакопления.ПлатежныйКалендарь
    |ГДЕ
    |    (Период>=&НачДата) И (Период<=&КонДата) И (НаправлениеДвижения = ЗНАЧЕНИЕ(Перечисление.НаправленияДвиженияДенег.Платеж))
    |СГРУППИРОВАТЬ ПО
    |    Период,
    |    Объект,
    |    Регистратор,
    |    Подразделение,
    |    НазначениеПлатежа
    |УПОРЯДОЧИТЬ По
    |    Период,
    |    Объект
    |ИТОГИ
    |    СУММА(СуммаПлатежей)
    |ПО
    |    Период";
 
 
   GROOVY
 
Ведущий
1 - 25.01.13 - 01:49
А второй цикл по деталям кто писать будет? Сама система не поймет что из итогов в детали свалится надо.
   GROOVY
 
Ведущий
2 - 25.01.13 - 01:50
Выборка=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока Выборка.Следующий() Цикл

ВыборкаДетали = Выборка.Выбрать();
Пока ВыборкаДетали ЦИкл

КонецЦикла;

    КонецЦикла;
3
   Ar-Bus
 
3 - 25.01.13 - 09:28
(2) Сделал такие выборки:

    Пока Выборка.Следующий() Цикл
        Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоГруппировке Тогда
            ОбластьСтрокаПериод.Параметры.Период=Выборка.Период;
            ОбластьСтрокаПериод.Параметры.СуммаПлатежей=Выборка.СуммаПлатежей;
            ТабДок.Вывести(ОбластьСтрокаПериод);
            ВыборкаДетали = Выборка.Выбрать();
            Пока ВыборкаДетали.Следующий() Цикл
                ОбластьСтрокаОбъект.Параметры.Заполнить(ВыборкаДетали);
                ТабДок.Вывести(ОбластьСтрокаОбъект);
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;

В итоге, если, например, за 05.01.13г. есть платежи по разным подразделениям, то группировка по периоду идет 2раза... т.е.:

05.01.13
   Основное подразделение   100руб.
05.01.13
   Обособленное подразделение  200руб.

как привести к след.виду:
05.01.13
   Основное подразделение   100руб.
   Обособленное подразделение  200руб.
4
   Defender aka LINN
 
4 - 25.01.13 - 09:44
(3) Ты разницы в упор не видишь, да?
5
6
9
   Ar-Bus
 
5 - 25.01.13 - 09:48
(4) в упор не вижу
   Ar-Bus
 
6 - 25.01.13 - 09:48
(4) что-то в тексте запроса с группировками нужно менять... запутался, однако
   Ar-Bus
 
7 - 25.01.13 - 09:54
ну что, кто-нибудь подскажет? Уверен, где-то поблизости решение...
8
   Defender aka LINN
 
8 - 25.01.13 - 10:00
(7) Открой глаза до характерного щелчка.
   Ar-Bus
 
9 - 25.01.13 - 10:00
(4) что-то с итогами в тексте запроса не так?
10
   Domanoff26
 
10 - 25.01.13 - 10:02
(9) период  с часами?
11
 
 
   Ar-Bus
 
11 - 25.01.13 - 10:05
(10) Спасибо, все получилось! Забыл про часы в периоде!!!

 
Список тем форума

 
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.