Имя: Пароль:
1C
1C 7.7
v7: 2 запроса в 1-ом отчете 1С 7.7
0 lirt82
 
01.06.15
13:14
Процедура Сформировать()
    Если РазбивкаПоДням = 0 Тогда
        Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса =
        "//{{ЗАПРОС(РаспределениеВФПоТиражам)
        |Период с НачДата  по КонДата;
        //    |Фирма = Документ.ПрихКасс.Фирма,
        //    |         Документ.РасхОрдер.Фирма,
        //    |         Документ.РасхОрдерНов.Фирма;
        |ОбрабатыватьДокументы все;
        |Обрабатывать НеПомеченныеНаУдаление;
        |Доку = Документ.РаспределениеВыигрышногоФондаПоТиражам.Сумма ;
        |Тира = Документ.РаспределениеВыигрышногоФондаПоТиражам.Тираж;
        |ВыбЛот= Документ.РаспределениеВыигрышногоФондаПоТиражам.ЛотереяИлиГруппаЛотерей;
        |Н=Документ.РаспределениеВыигрышногоФондаПоТиражам.НачалоПериода;
        |К=Документ.РаспределениеВыигрышногоФондаПоТиражам.КонецПериода;
        |Функция Оплат = Сумма(Доку);                      
        |Группировка Выблот без групп;
        |Группировка День;
        |Группировка Тира;
        |Условие((НачДата<=Н)и(КонДата>= К));  
        |"//}}ЗАПРОС
        ;
        Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
            Сообщить("Не выполнен запрос");
            Возврат;
        КонецЕсли;
        Т = СоздатьОбъект("Таблица");
        Т.ИсходнаяТаблица("Таблица");
        Т.ВывестиСекцию("Заголовок");
        
        Пока Запрос.Группировка(1)=1 Цикл        
            Т.ВывестиСекцию("Лотерея");  
            Пока Запрос.Группировка(2)=1 Цикл  
                Т.ВывестиСекцию("День");  
                Пока Запрос.Группировка(3)=1 Цикл
                    
                    
                    Т.ВывестиСекцию("Тираж");  
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
        //    Т.Опции(0,0,0,0,ПарСтрОтчШирок);
        Т.ПовторятьПриПечатиСтроки(1,4);
        Т.ТолькоПросмотр(1);
        Т.ПараметрыСтраницы(1,85,,0,0,0,0);
        Т.Показать("Сводный выигрышный фонд по тиражам","");
        
    ИначеЕсли РазбивкаПоДням = 1 Тогда
        
        Запрос1 = СоздатьОбъект("Запрос");
        ТекстЗапроса =
        "//{{ЗАПРОС(РаспределениеВФПоТиражам2)
        |Период с НачДата  по КонДата;
        //    |Фирма = Документ.ПрихКасс.Фирма,
        //    |         Документ.РасхОрдер.Фирма,
        //    |         Документ.РасхОрдерНов.Фирма;
        |ОбрабатыватьДокументы все;
        |Обрабатывать НеПомеченныеНаУдаление;
        |Доку = Документ.РаспределениеВыигрышногоФондаПоТиражам.Сумма ;
        |Тира = Документ.РаспределениеВыигрышногоФондаПоТиражам.Тираж;
        |ВыбЛот= Документ.РаспределениеВыигрышногоФондаПоТиражам.ЛотереяИлиГруппаЛотерей;
        |Н=Документ.РаспределениеВыигрышногоФондаПоТиражам.НачалоПериода;
        |К=Документ.РаспределениеВыигрышногоФондаПоТиражам.КонецПериода;
        |Функция Оплат = Сумма(Доку);                      
        |Группировка Выблот без групп;
        //    |Группировка День;
        |Группировка Тира;
        |Условие((НачДата<=Н)и(КонДата>= К));  
        |"//}}ЗАПРОС
        ;
        Если Запрос1.Выполнить(ТекстЗапроса) = 0 Тогда
            Сообщить("Не выполнен запрос");
            Возврат;
        КонецЕсли;
        Т = СоздатьОбъект("Таблица");
        Т.ИсходнаяТаблица("Таблица1");
        Т.ВывестиСекцию("Заголовок");
        
        Пока Запрос1.Группировка(1)=1 Цикл        
            Т.ВывестиСекцию("Лотерея");  
            //Пока Запрос.Группировка(2)=1 Цикл  
            //    Т.ВывестиСекцию("День");  
            Пока Запрос.Группировка(3)=1 Цикл
                
                
                Т.ВывестиСекцию("Тираж");  
            КонецЦикла;
            //    КонецЦикла;
        КонецЦикла;
        //    Т.Опции(0,0,0,0,ПарСтрОтчШирок);
        Т.ПовторятьПриПечатиСтроки(1,4);
        Т.ТолькоПросмотр(1);
        Т.ПараметрыСтраницы(1,85,,0,0,0,0);
        Т.Показать("Сводный выигрышный фонд по тиражам","");
    КонецЕсли;    
КонецПроцедуры

Процедура ПриОткрытии()
    Если ТипЗначенияСтр(Форма.Параметр)="Дата" Тогда
        НачДата = НачМесяца(Форма.Параметр);
        КонДата = КонМесяца(Форма.Параметр);
    КонецЕсли;
КонецПроцедуры    
Пока Запрос.Группировка(3)=1 Цикл
{Отчет.РаспределениеВФПоТиражам.Форма.Модуль(85)}: Значение не представляет агрегатный объект (Группировка)
подскажите где исправить
1 torgm
 
01.06.15
13:15
РазбивкаПоДням = 1


там две группировки
2 ДенисЧ
 
01.06.15
13:15
Ошибки в ДНК неисправимы, к сожалению...
3 lirt82
 
01.06.15
13:23
(1) спасибо:-)
4 Ёпрст
 
гуру
01.06.15
13:24
(0)

       Пока Запрос1.Группировка(1)=1 Цикл        
           Пока Запрос.Группировка(3)=1 Цикл

смотри сюда, много думай
5 Ёпрст
 
гуру
01.06.15
13:25
мало того, что (3) .. так еще и от другово объекта.
6 Ёпрст
 
гуру
01.06.15
13:25
Так что, диагноз в (2)
7 lirt82
 
01.06.15
13:31
(4) согласен невнимательно, потому что тороплюсь, уже все исправил, отчет работает.
Программист всегда исправляет последнюю ошибку.