Имя: Пароль:
1C
1С v8
Не пойму как присоединить инфо в ТД
0 zippygrill
 
27.09.14
18:12
Всем привет!
Согласно шаблону http://screencast.com/t/Ex0TWMUkUKvN хочу вывести по горизонталь 2 группировки и не пойму как это сделать правильно. Точнее присоединяю в ТД но они совсем не туда добавляются.

Макет примерно выглядит вот так http://screencast.com/t/c8eDQsL4n
Итоги запроса по ВидСтатьи, Статья, Категория и Бренд и вывожу вот так:

    ОбластьВидСтатьи = Макет.ПолучитьОбласть("ВидСтатьи|Основа");
    ОбластьВидСтатьи_Категория_Бренд = Макет.ПолучитьОбласть("ВидСтатьи|Категория_Бренд");
    ОбластьСтатьяБюджета = Макет.ПолучитьОбласть("СтатьяБюджета|Основа");
    ОбластьСтатьяБюджета_Категория_Бренд = Макет.ПолучитьОбласть("СтатьяБюджета|Категория_Бренд");
    
    ТабличныйДокумент.НачатьАвтогруппировкуСтрок();
        
    ВыборкаВидСтатьи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаВидСтатьи.Следующий() Цикл

        ОбластьВидСтатьи.Параметры.ВидСтатьи = ВыборкаВидСтатьи.ВидСтатьи;
        ТабличныйДокумент.Вывести(ОбластьВидСтатьи, ВыборкаВидСтатьи.Уровень());
        
        ВыборкаСтатьяБюджета = ВыборкаВидСтатьи.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

        Пока ВыборкаСтатьяБюджета.Следующий() Цикл

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

                ОбластьСтатьяБюджета_Категория_Бренд.Параметры.НормативнаяСтоимость = ВыборкаКатегория.НормативнаяСтоимость;
                ОбластьСтатьяБюджета_Категория_Бренд.Параметры.ФактическаяСтоимость = ВыборкаКатегория.ФактическаяСтоимость;
                ОбластьСтатьяБюджета_Категория_Бренд.Параметры.АбсолютноеОтклонение = ВыборкаКатегория.АбсолютноеОтклонение;
                ОбластьСтатьяБюджета_Категория_Бренд.Параметры.ОтносительноеОтклонение = ВыборкаКатегория.ОтносительноеОтклонение;
                ТабличныйДокумент.Присоединить(ОбластьСтатьяБюджета_Категория_Бренд, ВыборкаКатегория.Уровень(), ВыборкаКатегория.Категория);
1 hhhh
 
27.09.14
18:33
сначала шапку надо вывести в цикле, а потом остальное
2 zippygrill
 
27.09.14
18:38
Параметры "Категория" и "Бренд" вывести в область Шапка и присоединять?
3 zippygrill
 
27.09.14
19:03
(1) порядок перебора то ВидСтатьи, Статья, Категория, Бренд. Как это
4 zippygrill
 
27.09.14
19:24
апну
5 hhhh
 
27.09.14
21:43
(4) как-то так

ВыборкаВидСтатьи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,, "Все");
6 zippygrill
 
27.09.14
22:01
Совсем не то :)
7 hhhh
 
27.09.14
22:07
(6) у вас в разных видах статей, может разное количество категорий попасть. Будет ступенчатая таблица. Поэтому надо, чтобы в выборку по каждому виду статьи попадали все категории, полученные в запросе.
8 EvgeniuXP
 
28.09.14
00:24
простыми циклами - можно сделать всё :)
9 zippygrill
 
28.09.14
19:22
чуток изменил макет http://screencast.com/t/zaaYvebs8A секцию с колонками нарисовал в шапке. Горизонтально вывожу так колонки

    Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Категория","Все");
    Пока Выборка.Следующий() Цикл
        
        ОбластьШапка_Колонки = Макет.ПолучитьОбласть("Шапка|Категория_Бренд");
        ОбластьШапка_Колонки.Параметры.Категория = СокрЛП(Выборка.Категория);
        ЭлементыФормы.ТабличныйДокумент.Присоединить(ОбластьШапка_Колонки, Выборка.Уровень(), СокрЛП(Выборка.Категория), Ложь);
        
        ВыборкаБренд = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Бренд");
        Пока ВыборкаБренд.Следующий() Цикл
            
            ОбластьШапка_Колонки = Макет.ПолучитьОбласть("Шапка|Категория_Бренд");
            ОбластьШапка_Колонки.Параметры.Бренд = СокрЛП(ВыборкаБренд.Бренд);
            ЭлементыФормы.ТабличныйДокумент.Присоединить(ОбластьШапка_Колонки, ВыборкаБренд.Уровень(), СокрЛП(Выборка.Категория), Ложь);
            
        КонецЦикла;
        
        
    КонецЦикла;

Выводится вот такая фигня http://screencast.com/t/6ruWcgm9
Объединить первую строку что то не хочет(думал 3 параметр функии Присоединить() сделает это), ну и лишняя пустая ячейка во 2-ой строке.
10 zippygrill
 
28.09.14
19:23
11 zippygrill
 
29.09.14
09:46
ап
12 zippygrill
 
06.10.14
22:05
Разобрался кое как с присоединением колонок в шапке по вертикаль и дублирование заголовок.

    Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Категория","Все");
    Пока Выборка.Следующий() Цикл
        
        ОбластьШапка_Колонки = Макет.ПолучитьОбласть("Шапка|Категория_Бренд");
        
        ВыборкаБренд = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Бренд");
        Пока ВыборкаБренд.Следующий() Цикл
            
            ОбластьШапка_Колонки.Параметры.Бренд = СокрЛП(ВыборкаБренд.Бренд);
            ОбластьШапка_Колонки.Параметры.Категория = СокрЛП(ВыборкаБренд.Категория);
            ЭлементыФормы.ТабличныйДокумент.Присоединить(ОбластьШапка_Колонки, , СокрЛП(ВыборкаБренд.Категория), Ложь);


Теперь наткнулся на такой момент: вывожу строки но числовые показатели не принадлежат той группировки которая была ранее присоединена. Что не так, подскажите:

    ВыборкаВидСтатьи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ВидСтатьи");
    Пока ВыборкаВидСтатьи.Следующий() Цикл
        
        ОбластьВидСтатьи = Макет.ПолучитьОбласть("ВидСтатьи|Основа");
        ОбластьВидСтатьи.Параметры.ВидСтатьи = ВыборкаВидСтатьи.ВидСтатьи;
        ЭлементыФормы.ТабличныйДокумент.Вывести(ОбластьВидСтатьи, ВыборкаВидСтатьи.Уровень());
        
        
        //вывод Статей бюджета
        ВыборкаСтатьяБюджета = ВыборкаВидСтатьи.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        Пока ВыборкаСтатьяБюджета.Следующий() Цикл
            
            ОбластьСтатьяБюджета = Макет.ПолучитьОбласть("СтатьяБюджета|Основа");
            ОбластьСтатьяБюджета.Параметры.СтатьяБюджета = ВыборкаСтатьяБюджета.СтатьяБюджета;
            ЭлементыФормы.ТабличныйДокумент.Вывести(ОбластьСтатьяБюджета, ВыборкаСтатьяБюджета.Уровень());
            
            //вывод показателей
            ВыборкаПоказателей = ВыборкаСтатьяБюджета.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Категория");
            Пока ВыборкаПоказателей.Следующий() Цикл
                
                ВыборкаПоказателей1 = ВыборкаПоказателей.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                Пока ВыборкаПоказателей1.Следующий() Цикл
                    
                    ОбластьСтатьяБюджета_Колонки = Макет.ПолучитьОбласть("СтатьяБюджета|Категория_Бренд");
                    ОбластьСтатьяБюджета_Колонки.Параметры.Заполнить(ВыборкаПоказателей1);
                    ЭлементыФормы.ТабличныйДокумент.Присоединить(ОбластьСтатьяБюджета_Колонки);
13 zippygrill
 
06.10.14
22:06
по горизонталь*
14 zippygrill
 
07.10.14
08:52
апну
15 zippygrill
 
07.10.14
09:37
ап
16 zippygrill
 
07.10.14
19:29
..
17 zippygrill
 
11.10.14
16:58
Выбрать(<ТипОбхода>, <Группировки>, <ГруппировкиДляЗначенийГруппировок>) - поигрался с параметрами но не добился нужного результата. Как выбрать поле даже если по ней не было движение по статьи?            

//вывод показателей
            ВыборкаКатегория = ВыборкаСтатьяБюджета.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); //Как выбрать поле даже если по ней не было движение по статьи?
            Пока ВыборкаКатегория.Следующий() Цикл
                
                ВыборкаБренд = ВыборкаКатегория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                Пока ВыборкаБренд.Следующий() Цикл
                    
                    ОбластьСтатьяБюджета_Колонки = Макет.ПолучитьОбласть("СтатьяБюджета|Категория_Бренд");
                    ОбластьСтатьяБюджета_Колонки.Параметры.Заполнить(ВыборкаБренд);
                    ЭлементыФормы.ТабличныйДокумент.Присоединить(ОбластьСтатьяБюджета_Колонки);
                    
                КонецЦикла;
                
            КонецЦикла;
18 zippygrill
 
11.10.14
18:05
...
19 zippygrill
 
11.10.14
18:35
Вывести все значении полей удалось:

            //вывод показателей
            ВыборкаКатегория = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Категория");
            Пока ВыборкаКатегория.Следующий() Цикл
                
                ВыборкаБренд = ВыборкаКатегория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); //Как получить значение пересечения Статьи и Бренд?
                Пока ВыборкаБренд.Следующий() Цикл
                    
                    ОбластьСтатьяБюджета_Колонки = Макет.ПолучитьОбласть("СтатьяБюджета|Категория_Бренд");
                    ОбластьСтатьяБюджета_Колонки.Параметры.Заполнить(ВыборкаБренд);
                    ЭлементыФормы.ТабличныйДокумент.Присоединить(ОбластьСтатьяБюджета_Колонки);
                    
                КонецЦикла;
                
            КонецЦикла;
20 zippygrill
 
11.10.14
19:09
"ВыборкаБренд = ВыборкаКатегория.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);" - так выводит итоги текущей группировки, а мне нужно значение текущей и Статьи и текущий Бренд.
21 zippygrill
 
11.10.14
20:47
апп
22 zippygrill
 
11.10.14
21:14
мож у кого то найдется пример присоединения 2-х группировок в макете?
Не получается до конца присоединить правильно колонки.
23 zippygrill
 
11.10.14
22:57
.
24 zippygrill
 
16.10.14
16:31
//
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс