Имя: Пароль:
1C
1С v8
При обработке запроса не могу получить группировку второго уровня.
0 Ivan_495
 
14.01.14
11:40
При обработке запроса не могу получить группировку второго уровня. Подскажите где туплю?
ЗапросКом = Новый Запрос;
    ЗапросКом.Текст =
        "ВЫБРАТЬ
        |    ВложенныйЗапрос.Сотрудники КАК Сотрудник,
        |    ВложенныйЗапрос.Физ,
        |    ВложенныйЗапрос.Поле1
        |ИЗ
        |    (ВЫБРАТЬ
        |        СотрудникиОрганизаций.Ссылка КАК Сотрудники,
        |        ФизическиеЛица.Ссылка КАК Физ,
        |        КонтактнаяИнформация.Объект КАК Объект,
        |        КонтактнаяИнформация.Тип КАК Тип,
        |        КонтактнаяИнформация.Вид КАК Вид,
        |        КонтактнаяИнформация.Поле1 КАК Поле1,
        |        КонтактнаяИнформация.Поле2 КАК Поле2,
        |        КонтактнаяИнформация.Поле3 КАК Поле3,
        |        КонтактнаяИнформация.Поле4 КАК Поле4,
        |        КонтактнаяИнформация.Поле5 КАК Поле5,
        |        КонтактнаяИнформация.Поле6 КАК Поле6,
        |        КонтактнаяИнформация.Поле7 КАК Поле7,
        |        КонтактнаяИнформация.Поле8 КАК Поле8,
        |        КонтактнаяИнформация.Поле9 КАК Поле9,
        |        КонтактнаяИнформация.Поле10 КАК Поле10,
        |        КонтактнаяИнформация.Комментарий КАК Комментарий,
        |        КонтактнаяИнформация.ЗначениеПоУмолчанию КАК ЗначениеПоУмолчанию,
        |        КонтактнаяИнформация.ТипДома КАК ТипДома,
        |        КонтактнаяИнформация.ТипКорпуса КАК ТипКорпуса,
        |        КонтактнаяИнформация.ТипКвартиры КАК ТипКвартиры
        |    ИЗ
        |        Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
        |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
        |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        |                ПО ФизическиеЛица.Ссылка = КонтактнаяИнформация.Объект.Ссылка
        |            ПО СотрудникиОрганизаций.Физлицо = ФизическиеЛица.Ссылка) КАК ВложенныйЗапрос
        |
        |СГРУППИРОВАТЬ ПО
        |    ВложенныйЗапрос.Сотрудники,
        |    ВложенныйЗапрос.Физ,
        |    ВложенныйЗапрос.Поле1
        |
        |УПОРЯДОЧИТЬ ПО
        |    ВложенныйЗапрос.Сотрудники.Наименование";

    ЗапросКом.УстановитьПараметр("дт", '20140114');
    

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

    Выборка1 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
     t=0;
    
     Пока Выборка1.Следующий() Цикл
        
         Сообщить(" Сотрудник "+Выборка1.Сотрудник.Наименование);
         Выборка2=Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
         Пока Выборка2.Следующий() цикл
             Сообщить(" Физ лицо "+ Выборка2.Физ);
         КонецЦикла;
         прервать;
        
               
        
     КонецЦикла;
1 SUA
 
14.01.14
11:42
тут нет группировок (ИТОГИ ПО)
2 Ivan_495
 
14.01.14
11:45
(1) спасибо
3 Ivan_495
 
14.01.14
12:09
подскажите как получить Выборка3.Вид на третьем уровне группировки?
ЗапросКом = Новый Запрос;
    ЗапросКом.Текст =
        "ВЫБРАТЬ
        |    ВложенныйЗапрос.Сотрудники КАК Сотрудник,
        |    ВложенныйЗапрос.Физ КАК Физ,
        |    ВложенныйЗапрос.Поле1 КАК Поле1,
        |    ВложенныйЗапрос.Поле2 КАК Поле2,
        |    ВложенныйЗапрос.Поле3 КАК Поле3,
        |    ВложенныйЗапрос.Поле4 КАК Поле4,
        |    ВложенныйЗапрос.Поле5 КАК Поле5,
        |    ВложенныйЗапрос.Поле6 КАК Поле6,
        |    ВложенныйЗапрос.Поле7 КАК Поле7,
        |    ВложенныйЗапрос.Поле8 КАК Поле8,
        |    ВложенныйЗапрос.Поле9 КАК Поле9,
        |    ВложенныйЗапрос.Поле10 КАК Поле10,
        |    ВложенныйЗапрос.Объект КАК Объект,
        |    ВложенныйЗапрос.Тип КАК Тип,
        |    ВложенныйЗапрос.Вид КАК Вид
        |ИЗ
        |    (ВЫБРАТЬ
        |        СотрудникиОрганизаций.Ссылка КАК Сотрудники,
        |        ФизическиеЛица.Ссылка КАК Физ,
        |        КонтактнаяИнформация.Объект КАК Объект,
        |        КонтактнаяИнформация.Тип КАК Тип,
        |        КонтактнаяИнформация.Вид КАК Вид,
        |        КонтактнаяИнформация.Поле1 КАК Поле1,
        |        КонтактнаяИнформация.Поле2 КАК Поле2,
        |        КонтактнаяИнформация.Поле3 КАК Поле3,
        |        КонтактнаяИнформация.Поле4 КАК Поле4,
        |        КонтактнаяИнформация.Поле5 КАК Поле5,
        |        КонтактнаяИнформация.Поле6 КАК Поле6,
        |        КонтактнаяИнформация.Поле7 КАК Поле7,
        |        КонтактнаяИнформация.Поле8 КАК Поле8,
        |        КонтактнаяИнформация.Поле9 КАК Поле9,
        |        КонтактнаяИнформация.Поле10 КАК Поле10,
        |        КонтактнаяИнформация.Комментарий КАК Комментарий,
        |        КонтактнаяИнформация.ЗначениеПоУмолчанию КАК ЗначениеПоУмолчанию,
        |        КонтактнаяИнформация.ТипДома КАК ТипДома,
        |        КонтактнаяИнформация.ТипКорпуса КАК ТипКорпуса,
        |        КонтактнаяИнформация.ТипКвартиры КАК ТипКвартиры
        |    ИЗ
        |        Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
        |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
        |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        |                ПО ФизическиеЛица.Ссылка = КонтактнаяИнформация.Объект.Ссылка
        |            ПО СотрудникиОрганизаций.Физлицо = ФизическиеЛица.Ссылка) КАК ВложенныйЗапрос
        |
        |УПОРЯДОЧИТЬ ПО
        |    ВложенныйЗапрос.Сотрудники.Наименование
        |ИТОГИ ПО
        |    Сотрудник,
        |    Физ,
        |    Тип";

    ЗапросКом.УстановитьПараметр("дт", '20140114');
    

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

    Выборка1 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
     t=0;
    
     Пока Выборка1.Следующий() Цикл
          t=t+1;
         Сообщить(""+t+" Сотрудник "+Выборка1.Сотрудник.Наименование);
         Выборка2=Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
         Пока Выборка2.Следующий() цикл
             Сообщить(" Физ лицо "+ Выборка2.Физ);
            
             Выборка3=Выборка2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
             Пока Выборка3.Следующий() цикл
            Сообщить(""+Выборка3.Тип+" "+Выборка3.Вид ?????);    
             КонецЦикла;
         КонецЦикла;
         прервать;
        
               
        
     КонецЦикла;
4 Defender aka LINN
 
14.01.14
12:14
Скажи, а ты мануалы принципиально не читаешь?
Выборка3=Выборка2.Выбрать();
5 Ivan_495
 
14.01.14
12:19
(4) ответ не по сути
6 hhhh
 
14.01.14
12:21
(5) выборка4 = выборка3.выбрать();
7 1dvd
 
14.01.14
12:22
(5)

        |ИТОГИ МАКСИМУМ(Вид) ПО
        |    Сотрудник,
        |    Физ,
        |    Тип";
8 Defender aka LINN
 
14.01.14
12:22
(5) Мне так нравится, когда люди, нихрена не знающие и не прилагающие никаких усилий к тому, чтобы что-то узнать, ВНЕЗАПНО начинают рассуждать, что по сути им отвечают, что нет, что будет работать, а что не взлетит никогда.
Ты спросил помощи в вопросе, в котором у тебя 0,0 знаний - так будь любезен, получив ответ, заткнуться и воспользоваться им, а свое мнение засунуть куда-нибудь в другое место.
9 Ivan_495
 
14.01.14
12:30
(8) согласен бходРезультатаЗапроса.ПоГруппировкам здесь не нужен
Выборка3=Выборка2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);