Шрифт в области Табличного документа

1. 11.01.17 07:11 Сейчас в теме
Доброго времени суток. Есть следующий код:

...
ТабДок = Новый ТабличныйДокумент;

...
СекцияВеществаУровень = Макет.ПолучитьОбласть("ВеществаУровень");
...
СтартШрифт = СекцияВеществаУровень.ТекущаяОбласть.Шрифт;
					
СекцияВеществаУровень.ТекущаяОбласть.Защита = ложь;
СекцияВеществаУровень.ТекущаяОбласть.Шрифт = Новый Шрифт(СтартШрифт,,,истина);
					
ТабДок.Вывести(СекцияВеществаУровень);
					
СекцияВеществаУровень.ТекущаяОбласть.Шрифт = Новый Шрифт(СтартШрифт,,,ложь);
Показать

Хочу сделать шрифт полужирным (по определённому условию) в полученной области, вывести эту область полужирной, а потом убрать полужирность. "СтартШрифт" получаю нормально, через отладку проверил. Новый шрифт тоже генерится нормально, но области не присваивается, остаётся каким и был.
Что я упускаю ? Спасибо
Найденные решения
6. frenzymind 11.01.17 11:13 Сейчас в теме
Проблема решена.
Как я думал оказалось правильным: "получил область макета,изменил шрифт, заполнил данными и вывел в ТабДок"
Неверным оказалась релаизация. Вот рабочий вариант:

СекцияВеществаУровень.Область("ВеществаУровень").Шрифт = Новый Шрифт(СтартШрифт,,,истина);

ТабДок.Вывести(СекцияВеществаУровень);

СекцияВеществаУровень.Область("ВеществаУровень").Шрифт = Новый Шрифт(СтартШрифт,,,ложь);

Я думал что получить область из макета достаточно чтоб менять шрифт. Но эта область тоже является Табличным документом,и из неё опять надо получить область, к которой уже шрифт применить можно. Как-то так. Если кто внятно сможет объяснить, сделайте это пожалуйста :)
Всем спасибо!
meowmeow; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. antz 11.01.17 10:18 Сейчас в теме
(1) Делать-то шрифт, наверно, надо не в полученной области макета, а в выведенной
области ТабДок.

(2) Зачем такие мучения? Почему не задавать область циферками?

ОбластьВыделения = ТабДок.Область(ТабДок.ВысотаТаблицы, ТабДок.ширинаТаблицы);
ОбластьВыделения.Шрифт=Новый Шрифт(ОбластьВыделения.Шрифт,,,Истина,); 
4. frenzymind 11.01.17 10:39 Сейчас в теме
(3) Я как думаю: получил область макета,изменил шрифт, заполнил данными и вывел в ТабДок.
Когда делаешь макет, ведь можно шрифт менять у ячейки. А программно это выглядит так:
СекцияВеществаУровень.Область("R1C1").Шрифт = Новый Шрифт(СтартШрифт,,,истина);
Но тоже не работает.
Попробую ваш вариант.
5. ASG74 11.01.17 10:39 Сейчас в теме
(3) Циферки ведь меняться могут... этот пример выделяет в некоторых ячейках таблицы по условию
2. ASG74 11.01.17 09:15 Сейчас в теме
Здравствуйте. Я вот так делаю:
ОбластьВыделения="R"+Формат(ТабДок.ВысотаТаблицы,"ЧГ=0")+"C"+Формат(ТабДок.ширинаТаблицы,"ЧГ=0");
табДок.Область(ОбластьВыделения).Шрифт=Новый Шрифт(табДок.Область(ОбластьВыделения).Шрифт,,,Истина,);
6. frenzymind 11.01.17 11:13 Сейчас в теме
Проблема решена.
Как я думал оказалось правильным: "получил область макета,изменил шрифт, заполнил данными и вывел в ТабДок"
Неверным оказалась релаизация. Вот рабочий вариант:

СекцияВеществаУровень.Область("ВеществаУровень").Шрифт = Новый Шрифт(СтартШрифт,,,истина);

ТабДок.Вывести(СекцияВеществаУровень);

СекцияВеществаУровень.Область("ВеществаУровень").Шрифт = Новый Шрифт(СтартШрифт,,,ложь);

Я думал что получить область из макета достаточно чтоб менять шрифт. Но эта область тоже является Табличным документом,и из неё опять надо получить область, к которой уже шрифт применить можно. Как-то так. Если кто внятно сможет объяснить, сделайте это пожалуйста :)
Всем спасибо!
meowmeow; +1 Ответить
Оставьте свое сообщение
Вакансии
Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Нижний Новгород
зарплата от 170 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 120 000 руб. до 130 000 руб.
Полный день

Администратор 1C
Москва
зарплата до 110 000 руб.
Полный день