|
Помощь в формировании ширины колонок таблицы | ☑ | ||
---|---|---|---|---|
0
diabol1k
06.05.16
✎
09:17
|
Товарищи, вчерашняя просьба утонула. Помогите, как настроить ширину именно последней колонки? Вот часть кода:
ТабДокРез = Новый ТабличныйДокумент; ПерваяСтрокаДанных = 0; Для Стр = 1 По ТабДок.ВысотаТаблицы Цикл Для Кол = 1 По ТабДок.ШиринаТаблицы Цикл Обл = ТабДок.Область(Стр,Кол); Если Обл.Текст = "УдалитьПоле" Тогда ОблУд = ТабДок.Область(Стр,Кол,ТабДок.ВысотаТаблицы,Кол); ТабДок.УдалитьОбласть(ОблУд,ТипСмещенияТабличногоДокумента.ПоГоризонтали); КонецЕсли; КонецЦикла; Обл = ТабДок.Область("R" + Формат(Стр,"ЧГ=0") + "C2"); Если Обл.Расшифровка <> Неопределено Тогда ПерваяСтрокаДанных = Стр; Прервать; КонецЕсли; КонецЦикла; Если ПерваяСтрокаДанных = 0 Тогда ТабДокРез.Вывести(ТабДок); Иначе Строка = 1; ПервыйТабл = 0; Пока Строка < ПерваяСтрокаДанных Цикл СтрокаШапки = ТабДок.ПолучитьОбласть(Строка,1,Строка,ТабДок.ШиринаТаблицы); //Проверим, является ли строка строкой таблицы Таблица = Ложь; Если СтрокаШапки.Область("R" + 1 + "C" + 1).ГраницаСверху.ТипЛинии <> ТипЛинииЯчейкиТабличногоДокумента.НетЛинии Тогда СтрокаШапки = ТабДок.ПолучитьОбласть(Строка,1,ПерваяСтрокаДанных - 1,ТабДок.ШиринаТаблицы); ПервыйТабл = Строка; Таблица = Истина; КонецЕсли; Если Таблица Тогда Для Стр = 1 По СтрокаШапки.ВысотаТаблицы Цикл Для Кол = 1 По СтрокаШапки.ШиринаТаблицы Цикл Область = СтрокаШапки.Область("R" + Стр + "C" + Кол); Область.ВертикальноеПоложение = ВертикальноеПоложение.Центр; Область.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр; Область.АвтоВысотаСтроки = Истина; Область.Шрифт = Новый Шрифт(,8,Истина); КонецЦикла; КонецЦикла; КонецЕсли; ТабДокРез.Вывести(СтрокаШапки); Если Таблица Тогда Прервать; КонецЕсли; Строка = Строка + 1; КонецЦикла; //Пронумеруем пСтрока = ПерваяСтрокаДанных; ТабДокРез.Вывести(ТабДок.ПолучитьОбласть("R" + Формат(пСтрока - 1,"ЧГ=0"))); Для Итератор = 1 По ТабДокРез.ШиринаТаблицы Цикл Область = ТабДокРез.Область(пСтрока,Итератор); Область.ГраницаСлева = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная); Область.ГраницаСправа = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная); Область.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр; СтарыйЦветФона = Область.ЦветФона; Область.ЦветФона = ТабДокРез.Область(пСтрока - 1,Итератор).ЦветФона; Область.ЦветРамки = ТабДокРез.Область(пСтрока - 1,Итератор).ЦветРамки; Область.ЦветТекста = ТабДокРез.Область(пСтрока - 1,Итератор).ЦветТекста; Область.Шрифт = ТабДокРез.Область(пСтрока - 1,Итератор).Шрифт; Область.Текст = Формат(Итератор,"ЧДЦ="); //ТабДокРез.Область(ПервыйТабл,Итератор,пСтрока,Итератор).Объединить(); Для Строка = ПервыйТабл по ТабДокРез.ВысотаТаблицы Цикл Область = ТабДокРез.Область(Строка,Итератор); Если Область.Текст = "-" Тогда ОбластьОб = ТабДокРез.Область(Строка - 1,Итератор,Строка,Итератор); ОбластьОб.ВертикальноеПоложение = ВертикальноеПоложение.Центр; ОбластьОб.Объединить(); Если ОбластьОб.Текст = "" Тогда ОбластьОб = ТабДокРез.Область(Строка - 2,Итератор,Строка,Итератор); ОбластьОб.ВертикальноеПоложение = ВертикальноеПоложение.Центр; ОбластьОб.Объединить(); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; Область = ТабДок.Область("R1:R" + Формат(ПерваяСтрокаДанных - 1,"ЧГ=0")); ТабДок.УдалитьОбласть(Область,ТипСмещенияТабличногоДокумента.ПоВертикали); ТабДокРез.Вывести(ТабДок); ТабДокРез.ФиксацияСлева = 3; ТабДокРез.ФиксацияСверху = ПерваяСтрокаДанных; Для Итер = 1 По ТабДокРез.ШиринаТаблицы Цикл Обл = ТабДокРез.Область(ПерваяСтрокаДанных,Итер); ШиринаКол = Обл.ШиринаКолонки; Для Стр = 1 По ПервыйТабл - 1 Цикл ОблКорр = ТабДокРез.Область(Стр,Итер); ОблКорр.ШиринаКолонки = ШиринаКол; КонецЦикла; КонецЦикла; |
|||
1
diabol1k
06.05.16
✎
11:41
|
Что, никто не поможет новичку?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |