|
СКД как программно изменить шрифт заголовка? | ☑ | ||
---|---|---|---|---|
0
aleksejafonkin
27.06.18
✎
15:20
|
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки(); лкОтборОрг = ""; лкОтборДата = ""; лкОтборПоПроекту = ""; Для Каждого СтрОтбора Из НастройкиОтчета.Отбор.Элементы Цикл Если ТипЗнч(СтрОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда Если Строка(СтрОтбора.ЛевоеЗначение) = "ПериодРегистрации" И Строка(СтрОтбора.ПравоеЗначение) <> "" И СтрОтбора.Использование = Истина Тогда лкОтборДата = " за " + Строка(Формат(СтрОтбора.ПравоеЗначение,"ДФ=dd.MM.yyyy")); КонецЕсли; Если Строка(СтрОтбора.ЛевоеЗначение) = "Проект" И Строка(СтрОтбора.ПравоеЗначение) <> "" И СтрОтбора.Использование = Истина Тогда лкОтборПоПроекту = "по проекту: " + Строка(СтрОтбора.ПравоеЗначение); КонецЕсли; Если Строка(СтрОтбора.ЛевоеЗначение) = "Организация" И Строка(СтрОтбора.ПравоеЗначение) <> "" И СтрОтбора.Использование = Истина Тогда лкОтборНаОрг = "на " + Строка(СтрОтбора.ПравоеЗначение); КонецЕсли; Если Строка(СтрОтбора.ЛевоеЗначение) = "ОтОрганизации" И Строка(СтрОтбора.ПравоеЗначение) <> "" И СтрОтбора.Использование = Истина Тогда лкОтборОтОрг = " от " + Строка(СтрОтбора.ПравоеЗначение); КонецЕсли; КонецЕсли; КонецЦикла; ПарамЗаголовок = НастройкиОтчета.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Заголовок")); ПарамЗаголовок.Использование = Истина; ПарамЗаголовок.Значение = "Реестр платежей" + лкОтборДата + Символы.ПС + лкОтборНаОрг + лкОтборОтОрг + Символы.ПС + лкОтборПоПроекту; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры Отчет написан на СКД, программно меняю заголовок, но не знаю как поменять теперь шрифт у заголовка, подскажете? |
|||
1
Tonik992
27.06.18
✎
15:25
|
В МакетеКомпоновки надо искать заголовок и там уже шаманить.
Либо ПроцессорВывода выводишь в цикле в документ, и когда доберешься до заголовока, меняй шрифт. |
|||
2
Vakhrin
27.06.18
✎
16:00
|
Элемент условного оформления для заголовка?
|
|||
3
Малыш Джон
27.06.18
✎
16:00
|
Сомневаюсь, что в макете будет информация о шрифте заголовке
|
|||
4
Малыш Джон
27.06.18
✎
16:00
|
(2) а условие какое?
|
|||
5
Vakhrin
27.06.18
✎
16:18
|
Никакого условия, никаких полей, только описание оформления и область применения.
|
|||
6
aleksejafonkin
27.06.18
✎
16:38
|
(5) вот как эту область отловить?
|
|||
7
Tonik992
27.06.18
✎
17:17
|
Берешь ПроцессорВывода, вызываешь НачатьВывод()
Далее цикл: ЭлементКомпоновки = ПроцессорКомпоновки.Следующий(); Пока ЭлементКомпоновки <> Неопределено Цикл .... // тут ты в ЭлементКомпоновки находишь заголовок и шаманишь ПроцессорВывода.ВывестиЭлемент(ЭлементКомпоновки) ... ЭлементКомпоновки = ПроцессорКомпоновки.Следующий(); КонецЦикла; |
|||
8
aleksejafonkin
27.06.18
✎
17:26
|
(7) Спасибо, сейчас попробую!
|
|||
9
Ботаник Гарден Меран
27.06.18
✎
17:38
|
Зачем такие муки, если СКД программно?
Берешь ДокументРезультат.Область(Стр1, Кол1, СтрN, КолN).Шрифт = Новый Шрифт(<ИмяШрифта>,<Размер>,...); |
|||
10
aleksejafonkin
27.06.18
✎
18:00
|
(9) Спасибо!
|
|||
11
Tonik992
28.06.18
✎
09:36
|
(9) Такой подход менее гибкий, и слишком зависит от видимости заголовка.
|
|||
12
Ботаник Гарден Меран
28.06.18
✎
10:19
|
(11)
В (9) не подход, а намёк. А остальное - хум хау. |
|||
13
Vakhrin
28.06.18
✎
11:06
|
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ЭлементОформления = КомпоновщикНастроек.Настройки.УсловноеОформление.Элементы.Добавить(); ЭлементОформления.ИспользоватьВЗаголовке = ИспользованиеУсловногоОформленияКомпоновкиДанных.Использовать; ЭлементОформления.ИспользоватьВГруппировке = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать; ЭлементОформления.ИспользоватьВЗаголовкеПолей = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать; ЭлементОформления.ИспользоватьВИерархическойГруппировке = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать; ЭлементОформления.ИспользоватьВОбщемИтоге = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать; ЭлементОформления.ИспользоватьВОтборе = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать; ЭлементОформления.ИспользоватьВПараметрах = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(,,,,, Истина)); КонецПроцедуры |
|||
14
Tonik992
28.06.18
✎
13:33
|
(13) Тоже самое сделал в конструкторе. И это реально работает, проверил.
СКД удивляет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |