Имя: Пароль:
1C
1С v8
НачатьГруппуКолонок() НЕ работает, но работает НачатьГруппуСтрок() Почему?
0 aki_rezak
 
19.12.12
11:55
Почему не работает код не понимаю:( Меняю только в макете область (горизонтальняе на вертикальные) и имя метода в коде...



Процедура КнопкаВыполнитьНажатие(Кнопка)
   ТабДок = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("Макет");
   
   МассивШапка = Новый Массив;
   МассивШапка.Добавить("январь");
   МассивШапка.Добавить("февраль");
   МассивШапка.Добавить("март");
   
   МассивСтрока = Новый Массив;
   МассивСтрока.Добавить("раз");
   МассивСтрока.Добавить("два");
   МассивСтрока.Добавить("три");
   
   ОблШапка = Макет.ПолучитьОбласть("Шапка");
   ОблСтрока = Макет.ПолучитьОбласть("Строка");
   
   Для каждого ТекШапка Из МассивШапка Цикл
       ОблШапка.Параметры.Наименование = ТекШапка;
       ТабДок.Вывести(ОблШапка);
       
       
//        ТабДок.НачатьГруппуСтрок("группа", Истина);            //БЫЛО
           ТабДок.НачатьГруппуКолонок("группа", Истина);            
       Для каждого ТекСтрока Из МассивСтрока Цикл
           ОблСтрока.Параметры.Код = ТекСтрока;
           ТабДок.Вывести(ОблСтрока);
       КонецЦикла;
//        ТабДок.ЗакончитьГруппуСтрок();                   //Было    
       ТабДок.ЗакончитьГруппуКолонок();    
   
   КонецЦикла;
   
   ТабДок.ОтображатьЗаголовки = Истина;    
   ТабДок.Показать();
   
КонецПроцедуры
1 Wobland
 
19.12.12
11:55
продолжайте наблюдения
2 aki_rezak
 
19.12.12
11:55
пытался использовать метод Присоединить(), вместо вывести один хрен со строками работаета с колонками нет. Помогите
3 YHVVH
 
19.12.12
11:58
(0) В помощники пример же есть, ну что за батаны пошли.
4 aki_rezak
 
19.12.12
12:02
(3) сам ты батан пример юзал. написано же строки группируются а колонки болт.
(3) запости свой пример из сп
5 Ёпрст
 
19.12.12
12:08
(0)
Пример:

ТабДок = Новый ТабличныйДокумент;
Секция = ТабДок.ПолучитьОбласть("R1C1");
ТабДок.НачатьАвтогруппировкуКолонок();
Секция.Область("R1C1").Текст = "Параметр";
ТабДок.Вывести(Секция,1,"Группа 1",Ложь);
Для К=1 По 10 Цикл
   Секция = ТабДок.ПолучитьОбласть("R1C1");
   Секция.Область().Текст = "А"+К;
   Секция.Область().ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
   ТабДок.Присоединить(Секция,2,"Группа 2",Истина);
КонецЦикла;
Секция.Область("R1C1").Текст = "Итого:";
ТабДок.Присоединить(Секция,1,"Группа 2",Ложь);
Секция.Область("R1C1").Текст = "Значение";
ТабДок.Вывести(Секция,1,"Группа 2",Ложь);
Цена = 10; Итог = Цена;
Для К=1 По 10 Цикл
   Секция = ТабДок.ПолучитьОбласть("R1C1");
   Секция.Область().Текст = Цена;
   ТабДок.Присоединить(Секция,2,"Группа 2",Истина);
   Цена = Цена + 10;
   Итог = Итог + Цена;
КонецЦикла;
Секция.Область("R1C1").Текст = Итог;
ТабДок.Присоединить(Секция,1,"Группа 2",Ложь);
ТабДок.ЗакончитьАвтогруппировкуКолонок();
ТабДок.ИтогиСправа = Истина;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.Показать("Пример использования гор. автогруппировки");


©СП
6 YHVVH
 
19.12.12
12:10
(5) добрый ты
7 Reset
 
19.12.12
12:16
(5) Автор так-то про НачатьГруппуКолонок() спросил
8 Ёпрст
 
19.12.12
12:17
(7) есть какая то принципиальная разница, будет это Ато-колонки или рученьками ?
Принцип то один, тупое присоединение колонок в коде.
9 Reset
 
19.12.12
12:18
(8) Ну принцип один, согласен
10 hhhh
 
19.12.12
12:20
(4) наверно у тебя

ОблШапка = Макет.ПолучитьОбласть("Шапка")

ОблШапка - это не колонка. НУ то есть элементарно не понимаешь, где колонка, а где строка. Поэтому ребята и сделали вывод, что ботан.

То есть "Шапка" и "Строка" в макете у тебя точно колонки?
11 Reset
 
19.12.12
12:24
(0) Ты бы показал полностью код, которым пытался группировать колонки, без всяких закоментариенных было/не было
Так тебе скорее указали бы на ошибку
12 Reset
 
19.12.12
12:24
вот (2) показал бы как пытался
13 Reset
 
19.12.12
12:25
а так действительно, кроме как ткнуть носом в сп, больше и нечего
14 aki_rezak
 
19.12.12
12:26
(10) колонки конечно. Если делаю строковые области и вкоде меняю то все работает
15 Ёпрст
 
19.12.12
12:37
да уж..

//ОблСтрока = Макет.ПолучитьОбласть("Строка");
ОблСтрока = Макет.ПолучитьОбласть("Шапка|Строка");

..............
// ТабДок.Вывести(ОблСтрока);
ТабДок.Присоединить(ОблСтрока);
16 aki_rezak
 
19.12.12
12:45
Процедура КнопкаВыполнитьНажатие(Кнопка)
   МассивШапка = Новый Массив;
   МассивШапка.Добавить("январь");
   МассивШапка.Добавить("февраль");
   МассивШапка.Добавить("март");
   
   МассивСтрока = Новый Массив;
   МассивСтрока.Добавить("раз");
   МассивСтрока.Добавить("два");
   МассивСтрока.Добавить("три");

   ТабДок = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("Макет");
   ОблШапка = Макет.ПолучитьОбласть("Шапка");
   ОблСтрока = Макет.ПолучитьОбласть("Строка");
   
   ТабДок.НачатьАвтогруппировкуКолонок();
   
   
   //ОблШапка.Параметры.Наименование = "Январь";
   Для каждого ТекШапа Из МассивШапка Цикл
       ОблШапка.Параметры.Наименование = ТекШапа;
       ТабДок.Присоединить(ОблШапка,1,"Группа 1",Ложь);
       
       Для каждого ТекСтрока Из МассивСтрока Цикл
       //    
       ОблСтрока.Параметры.Код = ТекСтрока;
       ТабДок.Присоединить(ОблСтрока,2, "группа 2", Ложь);
       
       КонецЦикла;
       
       
   КонецЦикла;        
       
   ТабДок.ЗакончитьАвтогруппировкуКолонок();
   ТабДок.ОтображатьЗаголовки = Истина;    
   ТабДок.Показать();
   
КонецПроцедуры  


(15) Да уж ))
17 aki_rezak
 
19.12.12
12:45
(15) Да уж ))
18 Reset
 
19.12.12
12:46
(16) В (15) показали, как правильно получать область
19 Ёпрст
 
19.12.12
12:51
(17) чего не нравится ?
20 Ёпрст
 
19.12.12
12:52
в (15) это минимум, который нужно сделать в(0), чтоб "заработало"..
21 aki_rezak
 
19.12.12
12:59
(19)(20) усе нравицццо. товарищи курите метод присоединить
22 Ёпрст
 
19.12.12
13:05
(21) Да уж..
23 Reset
 
19.12.12
13:10
(21) Нам курить? :)
24 Reset
 
19.12.12
13:10
Ну тебе видней)
25 Wobland
 
19.12.12
13:12
(23) вам. не могли сразу сказать, что присоединять надо, а не выводить