Динамическое изменение шрифта в макете в зависимости от условия


На одном из проектов возникла задача: нужно было в печатной форме документа заказа в 1С УТ сделать, чтобы если количество товара в какой-то строке больше единицы, чтобы название товара и его количество в этой строке выделялись жирным шрифтом.

Решила так: Нашла в УТ обработку ПечатьЗаказовНаТоварыиУслуги, сохранила ее как внешнюю обработку, в полученной внешней обработке в модуле менеджера нашла цикл, выводящий на печать товары, дописала:
Если СтрокаТовары.Количество > 1 Тогда
ОбластьТоварСтроки.ТекущаяОбласть.Шрифт=Новый Шрифт(ОбластьТоварСтроки.ТекущаяОбласть.Шрифт, , 10,Истина);
Иначе
        ОбластьТоварСтроки.ТекущаяОбласть.Шрифт=Новый Шрифт(ОбластьТоварСтроки.ТекущаяОбласть.Шрифт, , 8,Ложь);
КонецЕсли;
Потом чуть ниже, где выводилась сама циферка — количество — дописала:
Если СтрокаТовары.Количество > 1 Тогда
ОбластьДанныхСтроки.ТекущаяОбласть.Шрифт=Новый Шрифт(ОбластьДанныхСтроки.ТекущаяОбласть.Шрифт, , 10,Истина);
Иначе
ОбластьДанныхСтроки.ТекущаяОбласть.Шрифт=Новый
Шрифт(ОбластьДанныхСтроки.ТекущаяОбласть.Шрифт, , 8,Ложь);
КонецЕсли;
Вот так вот. Из интересного было то, что свойство шрифта напрямую на запись недоступно — только через создание нового объекта шрифта. Ну, это логично.

Добавить комментарий

Ваш адрес email не будет опубликован.