Имя: Пароль:
1C
1С v8
Группировки колонок в табличном документе.
0 unknown181538
 
11.02.13
04:09
Делаю группировки колонок. Но нужно сделать, чтобы итоговая колонка располагалась справа, а не слева от детальных, и чтобы это дело правильно сворачивалось.
Возможно ли такое?
1 Web00001
 
11.02.13
04:50
да
2 unknown181538
 
11.02.13
06:20
(1) Как? По умолчанию он считает, что детализирующие колонки справа.
3 Cube
 
11.02.13
06:26
(2) Настройки СКД -> Закладка "Другие настройки":
Расположение итогов = Конец.
Расположение группирововк = Конец.
4 unknown181538
 
11.02.13
07:35
(3) Это не СКД, на основании макета присоединяются столбцы через "Присоединить".
5 Cube
 
11.02.13
07:36
(4) Ну так присоединяй итоги в конце тогда)))
6 Wobland
 
11.02.13
07:47
Это не СКД... По умолчанию он считает

кто считает?
7 Cube
 
11.02.13
07:50
(6) Кто, кто... Адин эс!))
8 unknown181538
 
11.02.13
19:01
(5) Итоги присоединяю я в конце, но он тогда считает, что расшифровка итогов идет правее, а она левее.
Т.е. у меня идет:
Номенклатура январь февраль март первыйКвартал апрель
и полуается, что первыйКвартал разворачивается в "апрель май..."
9 fisher
 
11.02.13
19:06
(8) Значит, ты неправильно управляешь группировкой колонок. Кури свой код. Или выложи, авось кому не лень будет.
10 unknown181538
 
11.02.13
20:57
ТабДок.НачатьАвтогруппировкуКолонок();
   ТабДок.Вывести(ОблШапкаНоменклатура);
   Для каждого Тек Из ТаблГоды  Цикл
       Для Каждого ТекК Из ТаблКварталы Цикл
           Если ТекК.НачалоПериода>=Тек.НачалоПериода И ТекК.КонецПериода<=Тек.КонецПериода Тогда
               Для каждого ТекМ Из ТаблМесяцы Цикл
                   Если ТекМ.НачалоПериода>=ТекК.НачалоПериода И ТекМ.КонецПериода<=ТекК.КонецПериода Тогда
                       ОблШапкаМесяц = Макет.ПолучитьОбласть("Шапка|Месяц");
                       ОблШапкаМесяц.Параметры.Месяц = ТекМ.ПредставлениеМесяца;
                       ТабДок.Присоединить(ОблШапкаМесяц,3,"Месяц");
                   КонецЕсли;
               КонецЦикла;
               ОблШапкаКвартал = Макет.ПолучитьОбласть("Шапка|Квартал");
               ОблШапкаКвартал.Параметры.Квартал = ТекК.ПредставлениеКвартала;
               ТабДок.Присоединить(ОблШапкаКвартал,2,"Квартал");
           КонецЕсли;
       КонецЦикла;
       ОблШапкаГод = Макет.ПолучитьОбласть("Шапка|Год");
       ОблШапкаГод.Параметры.Год = Тек.ПредставлениеГода;
       ТабДок.Присоединить(ОблШапкаГод,1,"Год");
   КонецЦикла;
   ОблШапкаПраво = Макет.ПолучитьОбласть("Шапка|Право");
   ТабДок.Присоединить(ОблШапкаПраво,0);
   ТабДок.ЗакончитьАвтогруппировкуКолонок();
11 unknown181538
 
13.02.13
03:03
Еще есть мысли?
12 Web00001
 
13.02.13
04:47
Тебе не это: ОбластьПечати.ИтогиСправа нужно?
ТабличныйДокумент (SpreadsheetDocument)
ИтогиСправа (TotalsRight)
Использование:
Чтение и запись.
Описание:
Тип: Булево. Определяет расположение маркеров секций, сворачивающих вертикальные группы таблицы. Если значение свойства Истина, то маркеры будут располагаться на правой стороне группы, в противном случае - на левой.
Следует иметь в виду, что при сворачивании группы видимой остается только колонка, рядом с которой расположен маркер секции. Как правило, расположение маркеров связано с расположением итоговых колонок в результирующей таблице по отношению к детализирующим.
Сериализуется.
13 unknown181538
 
13.02.13
09:03
(12) Вроде да...
   ТабДок.НачатьАвтогруппировкуКолонок();
   ОблШапкаНоменклатура.ИтогиСправа = Истина;
   ТабДок.Вывести(ОблШапкаНоменклатура,1);
   Для каждого Тек Из ТаблГоды  Цикл
       Для Каждого ТекК Из ТаблКварталы Цикл
           Если ТекК.НачалоПериода>=Тек.НачалоПериода И ТекК.КонецПериода<=Тек.КонецПериода Тогда
               Для каждого ТекМ Из ТаблМесяцы Цикл
                   Если ТекМ.НачалоПериода>=ТекК.НачалоПериода И ТекМ.КонецПериода<=ТекК.КонецПериода Тогда
                       ОблШапкаМесяц = Макет.ПолучитьОбласть("Шапка|Месяц");
                       ОблШапкаМесяц.Параметры.Месяц = ТекМ.ПредставлениеМесяца;
                       ОблШапкаМесяц.ИтогиСправа = Истина;
                       ТабДок.Присоединить(ОблШапкаМесяц,4,"Месяц");
                   КонецЕсли;
               КонецЦикла;
               ОблШапкаКвартал = Макет.ПолучитьОбласть("Шапка|Квартал");
               ОблШапкаКвартал.Параметры.Квартал = ТекК.ПредставлениеКвартала;
               ОблШапкаКвартал.ИтогиСправа = Истина;
               ТабДок.Присоединить(ОблШапкаКвартал,3,"Квартал");
           КонецЕсли;
       КонецЦикла;
       ОблШапкаГод = Макет.ПолучитьОбласть("Шапка|Год");
       ОблШапкаГод.Параметры.Год = Тек.ПредставлениеГода;  
       ОблШапкаГод.ИтогиСправа = Истина;
       ТабДок.Присоединить(ОблШапкаГод,2,"Год");
   КонецЦикла;
   ОблШапкаПраво = Макет.ПолучитьОбласть("Шапка|Право");
   ОблШапкаПраво.ИтогиСправа = Истина;
   ТабДок.Присоединить(ОблШапкаПраво,1);
   ТабДок.ЗакончитьАвтогруппировкуКолонок();

Но что-то оно не работает.
14 unknown181538
 
13.02.13
09:07
ТабДок.ИтогиСправа = Истина;
Теперь гармония наступила!
Закон Брукера: Даже маленькая практика стоит большой теории.