Имя: Пароль:
1C
1С v8
Как вставить область с группировками в табличный документ?
0 MaxS
 
11.10.11
20:56
Есть табличный документ ТабДок, вставляю в него строки из другого табличного документа ТабДокСКД, который создан СКД.

Если ТабДокСКД.Показать(), то группировки строк есть.

Если
ТабДок.ВставитьОбласть(ТабДокСКД.Область(1,,ТабДокСКД.ВысотаТаблицы),ТабДок.Область(НСтроки,,НСтроки),ТипСмещенияТабличногоДокумента.ПоГоризонтали);
ТабДок.Показать();
группировок строк нет.
1 MaxS
 
11.10.11
21:48
Ни у кого нет идей?
2 Stim213
 
11.10.11
22:01
попробуй перед вставкой области МояОбласть.СОздатьФОрматСтрок();
3 END
 
11.10.11
22:04
Может поможет ТабДок.НачатьАвтогруппировкуСтрок()?
4 MaxS
 
11.10.11
22:05
(2) делал так, группировки не появлялись.
игрался начать закончить автогруппировку, вставляя где не попадя.

Сейчас все колонки СКД подогнал макетом под ширину колонок. ТабДок и надобность в СоздатьФорматСтрок и установить ширину колонок отпала.
5 MaxS
 
11.10.11
23:33
Сделал некрасивый вариант.  строка группировки с фоном, строка детализации - фон авто. На основании этого вручную группирую ;)

Процедура СгруппироватьСтрокиРасшифровки(ТабДок,ПерваяСтрокаДляГруппировки,НачалоНовогоФорматаСтрок)

       ТабДок.Область(ПерваяСтрокаДляГруппировки,,НачалоНовогоФорматаСтрок-1).Сгруппировать();
       
       ПерваяСтрокаДляГруппировки = ПерваяСтрокаДляГруппировки+3;
       НачалоГруппировкиСтрок = Ложь;
       НачальнаяСтрокаДляГрупировки = 0;
       Для СчетчикСтрок = ПерваяСтрокаДляГруппировки По НачалоНовогоФорматаСтрок Цикл
           
           ОбластьСтрока = ТабДок.Область(СчетчикСтрок,,СчетчикСтрок);
           
           Если ОбластьСтрока.ЦветФона=Новый Цвет Тогда
               Если НЕ НачалоГруппировкиСтрок Тогда
                   НачалоГруппировкиСтрок = Истина;
                   НачальнаяСтрокаДляГрупировки = СчетчикСтрок;
               КонецЕсли;
           Иначе
               Если НачалоГруппировкиСтрок Тогда
                   НачалоГруппировкиСтрок = Ложь;
                   ТабДок.Область(НачальнаяСтрокаДляГрупировки,,СчетчикСтрок-1).Сгруппировать();    
               КонецЕсли;
           КонецЕсли;
           
       КонецЦикла;    

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


Ищется более красивое и правильное решение.
6 MaxS
 
12.10.11
11:46
ещё варианты есть? ))
7 MaxS
 
12.10.11
15:12
Кому что удалось найти по этому вопросу за прошедшие дни?
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.