Имя: Пароль:
1C
1С v8
Помогите вывести данные запроса.
0 nnnnnn
 
24.08.11
15:51
Есть такой код :

ЗапросНом.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                     |    ЗакупкиОбороты.Номенклатура КАК Номенклатура,
                     |    СУММА(ЕСТЬNULL(ЗакупкиОбороты.КоличествоОборот, 0)) КАК ЗакупкиПервогоПериода,
                     |    0 КАК ЗакупкиВторогоПериода,
                     |    0 КАК ПродажиПервогоПериода,
                     |    0 КАК ПродажиВторогоПериода,
                     |    ЗакупкиОбороты.Номенклатура.Наименование КАК Товары,
                     |    0 КАК КоличествоОстаток,
                     |    СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК Цена1,
                     |    0 КАК Цена2
                     |ИЗ
                     |    РегистрНакопления.Закупки.Обороты(
                     |            &НачалоПервогоПериода,
                     |            &КонецПервогоПериода,
                     |            Год,
                     |            ИСТИНА = ИСТИНА
                     |                И Номенклатура В ИЕРАРХИИ (&Номенклатура)
                     |                И ДоговорКонтрагента.Владелец В ИЕРАРХИИ (&Поставщики)) КАК ЗакупкиОбороты
                     |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПервогоПериода, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
                     |        ПО ЗакупкиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
                     |
                     |СГРУППИРОВАТЬ ПО
                     |    ЗакупкиОбороты.Номенклатура,
                     |    ЗакупкиОбороты.Номенклатура.Наименование
                     |
                     |ОБЪЕДИНИТЬ ВСЕ
                     |
                     |ВЫБРАТЬ
                     |    ЗакупкиОбороты.Номенклатура,
                     |    0,
                     |    СУММА(ЕСТЬNULL(ЗакупкиОбороты.КоличествоОборот, 0)),
                     |    0,
                     |    0,
                     |    ЗакупкиОбороты.Номенклатура.Наименование,
                     |    0,
                     |    0,
                     |    СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0))
                     |ИЗ
                     |    РегистрНакопления.Закупки.Обороты(
                     |            &НачалоВторогоПериода,
                     |            &КонецВторогоПериода,
                     |            ,
                     |            ИСТИНА = ИСТИНА
                     |                И Номенклатура В ИЕРАРХИИ (&Номенклатура)
                     |                И ДоговорКонтрагента.Владелец В ИЕРАРХИИ (&Поставщики)) КАК ЗакупкиОбороты
                     |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецВторогоПериода, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
                     |        ПО ЗакупкиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
                     |
                     |СГРУППИРОВАТЬ ПО
                     |    ЗакупкиОбороты.Номенклатура.Наименование,
                     |    ЗакупкиОбороты.Номенклатура
                     |
                     |ОБЪЕДИНИТЬ ВСЕ
                     |
                     |ВЫБРАТЬ
                     |    ПродажиОбороты.Номенклатура,
                     |    0,
                     |    0,
                     |    СУММА(ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0)),
                     |    0,
                     |    ПродажиОбороты.Номенклатура.Наименование,
                     |    0,
                     |    0,
                     |    0
                     |ИЗ
                     |    РегистрНакопления.Продажи.Обороты(
                     |            &НачалоПервогоПериода,
                     |            &КонецПервогоПериода,
                     |            ,
                     |            ИСТИНА = ИСТИНА
                     |                И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПродажиОбороты
                     |
                     |СГРУППИРОВАТЬ ПО
                     |    ПродажиОбороты.Номенклатура,
                     |    ПродажиОбороты.Номенклатура.Наименование
                     |
                     |ОБЪЕДИНИТЬ ВСЕ
                     |
                     |ВЫБРАТЬ
                     |    ПродажиОбороты.Номенклатура,
                     |    0,
                     |    0,
                     |    0,
                     |    СУММА(ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0)),
                     |    ПродажиОбороты.Номенклатура.Наименование,
                     |    0,
                     |    0,
                     |    0
                     |ИЗ
                     |    РегистрНакопления.Продажи.Обороты(
                     |            &НачалоВторогоПериода,
                     |            &КонецВторогоПериода,
                     |            ,
                     |            ИСТИНА = ИСТИНА
                     |                И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПродажиОбороты
                     |
                     |СГРУППИРОВАТЬ ПО
                     |    ПродажиОбороты.Номенклатура,
                     |    ПродажиОбороты.Номенклатура.Наименование
                     |
                     |ОБЪЕДИНИТЬ ВСЕ
                     |
                     |ВЫБРАТЬ
                     |    ТоварыНаСкладахОстатки.Номенклатура,
                     |    0,
                     |    0,
                     |    0,
                     |    0,
                     |    ТоварыНаСкладахОстатки.Номенклатура.Наименование,
                     |    СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)),
                     |    0,
                     |    0
                     |ИЗ
                     |    РегистрНакопления.ТоварыНаСкладах.Остатки(
                     |            ,
                     |            ИСТИНА = ИСТИНА
                     |                И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ТоварыНаСкладахОстатки
                     |
                     |СГРУППИРОВАТЬ ПО
                     |    ТоварыНаСкладахОстатки.Номенклатура,
                     |    ТоварыНаСкладахОстатки.Номенклатура.Наименование
                     |
                     |УПОРЯДОЧИТЬ ПО
                     |    Товары
                     |ИТОГИ
                     |    СУММА(ЗакупкиПервогоПериода),
                     |    СУММА(ЗакупкиВторогоПериода),
                     |    СУММА(ПродажиПервогоПериода),
                     |    СУММА(ПродажиВторогоПериода),
                     |    СУММА(КоличествоОстаток),
                     |    СУММА(Цена1),
                     |    СУММА(Цена2)
                     |ПО
                     |    ОБЩИЕ,
                     |    Номенклатура ИЕРАРХИЯ";
   ЗапросНом.УстановитьПараметр("НачалоПервогоПериода", НачалоДня(НачПервогоПериода));
   ЗапросНом.УстановитьПараметр("КонецПервогоПериода", КонецДня(КонПервогоПериода));
   ЗапросНом.УстановитьПараметр("НачалоВторогоПериода", НачалоДня(НачВторогоПериода));
   ЗапросНом.УстановитьПараметр("КонецВторогоПериода", КонецДня(КонВторогоПериода));
   ЗапросНом.УстановитьПараметр("Номенклатура", Номенклатура);
   ЗапросНом.УстановитьПараметр("Поставщики", Поставщик);
   
   ЗапросНом.УстановитьПараметр("Склад", Склад);
   ЗапросНом.УстановитьПараметр("ТипЦен", Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("00001"));
   
   ВыборкаНом = ЗапросНом.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура");
   
   
   
   ТабДок.НачатьАвтогруппировкуСтрок();
   ПН = 1;
   ИтЗакТек = 0;
   ИтЗакБаз = 0;
   ИтПродТек = 0;
   ИтПродБаз = 0;
   ИтОст = 0;
   Пока ВыборкаНом.Следующий() цикл
       Если ВыборкаНом.Номенклатура.ЭтоГруппа = Истина Тогда
           Если ВыборкаНом.Уровень() = 0 Тогда
               ОбластьТЧТоварыГруппы1.Параметры.Номенклатура = ВыборкаНом.Номенклатура;
               //
               ОбластьТЧТоварыГруппы1.Параметры.Остаток = ВыборкаНом.КоличествоОстаток;
               ОбластьТЧТоварыГруппы1.Параметры.ТекущийПериодЗакуп  = ВыборкаНом.ЗакупкиПервогоПериода;
               ОбластьТЧТоварыГруппы1.Параметры.БазовыйПериодЗакуп = ВыборкаНом.ЗакупкиВторогоПериода;
               Если ВыборкаНом.ЗакупкиВторогоПериода = 0 Тогда
                   ОбластьТЧТоварыГруппы1.Параметры.ОтношениеЗакуп = 0;
               Иначе    
                   ОбластьТЧТоварыГруппы1.Параметры.ОтношениеЗакуп = ВыборкаНом.ЗакупкиПервогоПериода/ВыборкаНом.ЗакупкиВторогоПериода*100;  
               КонецЕсли;
               ОбластьТЧТоварыГруппы1.Параметры.ТекущийПериодПродажи = ВыборкаНом.ПродажиПервогоПериода;
               ОбластьТЧТоварыГруппы1.Параметры.БазовыйПериодПродажи = ВыборкаНом.ПродажиВторогоПериода;
               Если ВыборкаНом.ПродажиВторогоПериода = 0 Тогда
                   ОбластьТЧТоварыГруппы1.Параметры.ОтношениеПродажи = 0;
               Иначе    
                   ОбластьТЧТоварыГруппы1.Параметры.ОтношениеПродажи = ВыборкаНом.ПродажиПервогоПериода/ВыборкаНом.ПродажиВторогоПериода*100;
               КонецЕсли;
               //
               ТабДок.Вывести(ОбластьТЧТоварыГруппы1, ВыборкаНом.Уровень());
           Иначе    
               ОбластьТЧТОварыГруппы.Параметры.Номенклатура = ВыборкаНом.Номенклатура;
               //
               ОбластьТЧТОварыГруппы.Параметры.Остаток = ВыборкаНом.КоличествоОстаток;
               ОбластьТЧТОварыГруппы.Параметры.ТекущийПериодЗакуп  = ВыборкаНом.ЗакупкиПервогоПериода;
               ОбластьТЧТОварыГруппы.Параметры.БазовыйПериодЗакуп = ВыборкаНом.ЗакупкиВторогоПериода;
               Если ВыборкаНом.ЗакупкиВторогоПериода = 0 Тогда
                   ОбластьТЧТОварыГруппы.Параметры.ОтношениеЗакуп = 0;
               Иначе    
                   ОбластьТЧТОварыГруппы.Параметры.ОтношениеЗакуп = ВыборкаНом.ЗакупкиПервогоПериода/ВыборкаНом.ЗакупкиВторогоПериода*100;  
               КонецЕсли;
               ОбластьТЧТОварыГруппы.Параметры.ТекущийПериодПродажи = ВыборкаНом.ПродажиПервогоПериода;
               ОбластьТЧТОварыГруппы.Параметры.БазовыйПериодПродажи = ВыборкаНом.ПродажиВторогоПериода;
               Если ВыборкаНом.ПродажиВторогоПериода = 0 Тогда
                   ОбластьТЧТОварыГруппы.Параметры.ОтношениеПродажи = 0;
               Иначе    
                   ОбластьТЧТОварыГруппы.Параметры.ОтношениеПродажи = ВыборкаНом.ПродажиПервогоПериода/ВыборкаНом.ПродажиВторогоПериода*100;
               КонецЕсли;
               //
               ТабДок.Вывести(ОбластьТЧТоварыГруппы, ВыборкаНом.Уровень());
           КонецЕсли;    
       Иначе
           ОбластьТЧТовары.Параметры.ПН = ПН;
           ПН = ПН + 1;
           ОбластьТЧТовары.Параметры.Номенклатура = ВыборкаНом.Номенклатура;
           
           ОбластьТЧТовары.Параметры.Остаток = ВыборкаНом.КоличествоОстаток;
           ОбластьТЧТовары.Параметры.ТекущийПериодЗакуп  = ВыборкаНом.ЗакупкиПервогоПериода;  
           ОбластьТЧТовары.Параметры.БазовыйПериодЗакуп = ВыборкаНом.ЗакупкиВторогоПериода;
           
           ОбластьТЧТовары.Параметры.ЗакЦена =ВыборкаНом.Цена1; // Не выводится
           ОбластьТЧТовары.Параметры.ЗакЦенаБ =ВыборкаНом.Цена2; // Не выводится
           
           Если ВыборкаНом.ЗакупкиВторогоПериода = 0 Тогда
               ОбластьТЧТовары.Параметры.ОтношениеЗакуп = 0;
           Иначе    
               ОбластьТЧТовары.Параметры.ОтношениеЗакуп = ВыборкаНом.ЗакупкиПервогоПериода/ВыборкаНом.ЗакупкиВторогоПериода*100;  
           КонецЕсли;
           ОбластьТЧТовары.Параметры.ТекущийПериодПродажи = ВыборкаНом.ПродажиПервогоПериода;
           ОбластьТЧТовары.Параметры.БазовыйПериодПродажи = ВыборкаНом.ПродажиВторогоПериода;
           Если ВыборкаНом.ПродажиВторогоПериода = 0 Тогда
               ОбластьТЧТовары.Параметры.ОтношениеПродажи = 0;
           Иначе    
               ОбластьТЧТовары.Параметры.ОтношениеПродажи = ВыборкаНом.ПродажиПервогоПериода/ВыборкаНом.ПродажиВторогоПериода*100;
           КонецЕсли;
           ТабДок.Вывести(ОбластьТЧТовары, ВыборкаНом.Уровень());    
           ИтЗакТек = ИтЗакТек+ВыборкаНом.ЗакупкиПервогоПериода;
           ИтЗакБаз = ИтЗакБаз+ВыборкаНом.ЗакупкиВторогоПериода;
           ИтПродТек = ИтПродТек+ВыборкаНом.ПродажиПервогоПериода;
           ИтПродБаз = ИтПродБаз+ВыборкаНом.ПродажиВторогоПериода;
           ИтОст = ИтОст+ВыборкаНом.КоличествоОстаток;
       КонецЕсли;        
   КонецЦикла;    

Данные отмеченные в коде комментарием не выводятся.
Как сделать что бы выводились
1 poligraf
 
24.08.11
15:53
много букв... (падонкофский фильтр тоже работает:)

В консольке запросов эти данные видны?
2 Axel2009
 
24.08.11
15:55
сгруппировать запрос по нужным полям. а цену запихнуть в аггрегатную "Максимум"
3 nnnnnn
 
24.08.11
15:58
в консоли есть.
4 а кому щас легко
 
24.08.11
16:19
может в свойствах ЗакЦена в таблице указано что содержит значение, например строковой тип?
5 nnnnnn
 
25.08.11
07:29
Нет в таблице все нормально, консоль запросов выводит.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший