Имя: Пароль:
1C
1С v8
Срочно нужна помощь. Платно
Ø (GROOVY 12.12.2014 03:30)
0 live in sky dreams
 
12.12.14
02:29
Не дайте умереть, не могу победить вывод отчета.
Запрос готов. Не получается именно сам вывод.
Голова отказывает. Как всегда не сплю...

Скайп: hollow_skomen

Очень срочно.
1 live in sky dreams
 
12.12.14
02:48
Все богатые? :)

Или так же как я глаза в кучу, свое бы доделать? :)
2 Garykom
 
гуру
12.12.14
03:09
(1) спят готовясь к тяпнице
3 live in sky dreams
 
12.12.14
03:18
очень жаль
4 Maniac
 
12.12.14
03:19
УТ?
5 Maniac
 
12.12.14
03:20
Бабки ну нужны твои, по раз уж тут просто версию скажи и чо за трабла.
6 Maniac
 
12.12.14
03:21
вообще сразу надо было тему с описанием.
если 2 минуты не будет не жди
7 live in sky dreams
 
12.12.14
03:25
Не, бухия, а траблы...
Вобщем группировки есть:

Организация,
СтатьяЗатрат,
НоменклатурнаяГруппа


Но просто детальные записи не устраивают. Нужны иерархически..

То есть:

ИТОГИ
Сумма(Количество)
Сумма (Сумма)
ПО
Организация,
СтатьяЗатрат ИЕРАРХИЯ,
НоменклатурнаяГруппа ИЕРАРХИЯ


А вот ту  самое интересное...

первый уровень - вывожу группировку организация и итоги по ней - все хорошо, все есть...
второй уровень - вывожу группировку по СтатьямЗатрат - Количество и Сумма есть только у детальных записей, у записей с типом Итог по иерархии показателей нет
8 live in sky dreams
 
12.12.14
03:26
Блин, тут реально проще показать
9 live in sky dreams
 
12.12.14
03:26
Запрос:


        |ВЫБРАТЬ
        |    Справочник.Организация КАК Организация,
        |    Справочник.Литер КАК Литер,
        |   Справочник.СтатьяЗатрат КАК СтатьяЗатрат,
        |    МАКСИМУМ(Справочник.ОрганизацияНаименование) КАК ОрганизацияНаименование,
        |   МАКСИМУМ(Справочник.ЛитерНаименование) КАК ЛитерНаименование,
        |   МАКСИМУМ(Справочник.СтатьяЗатратНаименование) КАК СтатьяЗатратНаименование,
        |    СУММА(ISNULL(Показатели.Количество,0)) КАК Количество,
        |    СУММА(ISNULL(Показатели.Сумма,0)) КАК Сумма
        |ИЗ
        |    _Справочник КАК Справочник
        |    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
        |                            _Показатели.Организация КАК Организация,
        |                            _Показатели.ОрганизацияНаименование КАК ОрганизацияНаименование,
        |                            _Показатели.Литер КАК Литер,
        |                            _Показатели.ЛитерНаименование КАК ЛитерНаименование,
        |                            _Показатели.СтатьяЗатрат КАК СтатьяЗатрат,
        |                            _Показатели.СтатьяЗатратНаименование КАК СтатьяЗатратНаименование,
        |                            _Показатели.Количество КАК Количество,
        |                            _Показатели.Сумма КАК Сумма
        |                        ИЗ
        |                            _Показатели) КАК Показатели
        |    ПО
        |        Показатели.Организация = Справочник.Организация
        |        И Показатели.Литер = Справочник.Литер
        |        И Показатели.СтатьяЗатрат = Справочник.СтатьяЗатрат
        |
        |СГРУППИРОВАТЬ ПО
        |    Справочник.Организация,
        |    Справочник.СтатьяЗатрат,
        |    Справочник.Литер
        |
        |УПОРЯДОЧИТЬ ПО
        |    ОрганизацияНаименование,    
        |    СтатьяЗатратНаименование,
        |    ЛитерНаименование
        |    
        |ИТОГИ
        |    СУММА(Количество),
        |    СУММА(Сумма)
        |ПО
        |    Организация,
        |    СтатьяЗатрат ИЕРАРХИЯ,
        |    Литер ИЕРАРХИЯ
10 live in sky dreams
 
12.12.14
03:28
Вывод отчета:


    //Вывод группировки по организации
    ВыборкаОрганизаций = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаОрганизаций.Следующий() Цикл
        ТабДок.Вывести(Область2_ПерваяКолонка,ВыборкаОрганизаций.Уровень());
        Область2_1.Параметры.СодержаниеСтрокиГруппировка = ВыборкаОрганизаций.Организация;
        ТабДок.Присоединить(Область2_1);

        //Выводим группировки колонок для организации. Тут все получается, так как нет иерархии по организации
        
        ВыборкаПоказателей = ВыборкаОрганизаций.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Литер");
        Пока ВыборкаПоказателей.Следующий() Цикл
            //Условие на то - каких красивостей выводить область. С жирным шрифтом или нет
            Если ВыборкаПоказателей.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
                ОбластьЛитер = Область2_2
            Иначе
                ОбластьЛитер = Область2_3
            КонецЕсли;
            ОбластьЛитер.Параметры.Количество = ВыборкаПоказателей.Количество;
            ОбластьЛитер.Параметры.Сумма = ВыборкаПоказателей.Сумма;
            ТабДок.Присоединить(ОбластьЛитер);
        КонецЦикла;
        //#
        
        //Выводим статьи затрат
        ВыборкаСтатейЗатрат = ВыборкаОрганизаций.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"СтатьяЗатрат");
        ВыдатьРекурсивно(ВыборкаСтатейЗатрат,"СтатьяЗатрат",ТабДок);
        

    КонецЦикла;

        //Выводим статьи затрат
        ВыборкаСтатейЗатрат = ВыборкаОрганизаций.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"СтатьяЗатрат");
        ВыдатьРекурсивно(ВыборкаСтатейЗатрат,"СтатьяЗатрат",ТабДок);
        

    КонецЦикла;
11 live in sky dreams
 
12.12.14
03:29
Процедура  ВыдатьРекурсивно(Выборка,ИмяГруппировки="СтатьяЗатрат",ТабДок,ТаблицаИтога=Неопределено)
    
    Если Выборка.Количество() = 0 Тогда
        Возврат
    КонецЕсли;
    //Сообщить(ИмяГруппировки+":"+ Выборка[ИмяГруппировки]);
    Пока Выборка.Следующий() Цикл
        //Тут выводим статьи Затрат. Текущая иерархия (Группа справочника СтатьиЗатрат)
        Вывести(ТабДок,Выборка[ИмяГруппировки],Выборка.Количество,Выборка.Сумма);
        Сообщить(Выборка[ИмяГруппировки]);
        
        
        ВыборкаДеталей = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        Пока ВыборкаДеталей.Следующий() Цикл
            //Тут выводим Литеры по текущей статье затрат, которые выводятся не могу понять как. Если статья затрат - уровень иерархии(Группа), то ничего не выводится
            Вывести(ТабДок,ВыборкаДеталей.Литер,ВыборкаДеталей.Количество,ВыборкаДеталей.Сумма);
        КонецЦикла;
        
        
        //Тут выводятся детальные записи текущей иерархии статьи затрат
        ВыдатьРекурсивно(Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,ИмяГруппировки),,ТабДок,ТаблицаИтога);
    КонецЦикла;
    
    

КонецПроцедуры