Разработка и Конфигурация · 10 мин
Как выделить строку жирным шрифтом в 1С
Как выделить строку жирным шрифтом в 1С: условное оформление, табличный документ, программный код для управляемых и обычных форм. Примеры и ошибки.
Задача выделить строку жирным шрифтом встречается в 1С постоянно: нужно подчеркнуть итоговую строку в отчёте, отметить важный документ в списке или выделить группу товаров в табличной части. Универсальной кнопки «сделать строку жирной» в платформе нет, поэтому способ зависит от контекста: работаете вы с формой списка, табличным документом или программируете вывод данных.
Основных подхода три. Первый — условное оформление формы динамического списка или табличной части, где жирность назначается по условию без единой строки кода. Второй — программное изменение шрифта ячеек табличного документа при формировании печатной формы или отчёта. Третий — оформление через СКД (систему компоновки данных), где внешний вид строк задаётся в настройках отчёта.
Ниже разобраны все три сценария с готовыми примерами кода, типичными ошибками и способами проверки результата. Примеры ориентированы на управляемые формы, но отличия для обычных форм тоже указаны.
Определяем, где именно нужно выделить строку
Прежде чем писать код, важно понять, с каким объектом вы работаете, потому что механизмы кардинально различаются. Динамический список (список документов, справочника) оформляется только через условное оформление формы или настройки списка — напрямую «перекрасить» конкретную строку нельзя, платформа сама перерисовывает список при прокрутке.
Табличная часть документа также оформляется через условное оформление формы, но условие может опираться на данные текущей строки объекта. Табличный документ (результат отчёта, печатная форма) — это статичная «картинка», где каждой ячейке можно назначить шрифт напрямую при выводе.
Как выбрать способ
Выделение строки жирным через условное оформление формы
Условное оформление — самый правильный способ для списков и табличных частей. Откройте форму в конфигураторе, в дереве элементов выберите корневой элемент «Форма» и найдите свойство «УсловноеОформление». Добавьте новый элемент и заполните три закладки: оформление, условие и оформляемые поля.
На закладке «Оформление» найдите параметр «Шрифт» и установите жирное начертание. На закладке «Условие» добавьте отбор, например: «Объект.Проведен Равно Истина» или «Список.Сумма Больше 100000». На закладке «Оформляемые поля» перечислите все колонки таблицы — если оставить список пустым, оформление может не примениться.
Тот же результат достигается программно в обработчике «ПриСозданииНаСервере». Это удобно, когда условие зависит от параметров или функциональных опций.
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Оформление.УстановитьЗначениеПараметра(
"Шрифт", Новый Шрифт(, , Истина));
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(
Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ПометкаУдаления");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Список");
Обратите внимание на конструктор шрифта: Новый Шрифт(, , Истина) — третий параметр отвечает за жирность. Пропущенные первые параметры означают, что имя шрифта и размер берутся из стиля по умолчанию.
Жирная строка в табличном документе и печатной форме
При выводе печатной формы или отчёта в табличный документ шрифт назначается области напрямую. Обычно макет содержит области «Шапка», «Строка», «Итог», и для итоговой строки жирный шрифт задаётся либо в самом макете, либо программно после вывода.
Простейший вариант без кода: откройте макет табличного документа в конфигураторе, выделите ячейки нужной строки и в палитре свойств установите шрифт с жирным начертанием. Все строки, выведенные из этой области, будут жирными автоматически.
Если жирность зависит от данных, шрифт назначается программно после вывода области:
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Наименование = Выборка.Наименование;
ТабДок.Вывести(ОбластьСтрока);
Если Выборка.ЭтоГруппа Тогда
НомерСтроки = ТабДок.ВысотаТаблицы;
ОбластьЯчеек = ТабДок.Область(НомерСтроки, 1, НомерСтроки, ТабДок.ШиринаТаблицы);
ОбластьЯчеек.Шрифт = Новый Шрифт(, , Истина);
КонецЕсли;
Здесь после вывода строки берётся её номер через ВысотаТаблицы, затем получается прямоугольная область на всю ширину документа и ей назначается жирный шрифт. Этот приём работает в любых табличных документах независимо от версии платформы.
ОбластьСтроки.Шрифт = Новый Шрифт(, , Истина); // третий параметр — жирное начертаниеВыделение строк в отчёте на СКД
В отчётах на системе компоновки данных строки выделяются через условное оформление настроек отчёта, без изменения кода. Откройте отчёт в режиме предприятия, перейдите в «Ещё — Изменить вариант», на закладке «Условное оформление» добавьте элемент, задайте условие (например, «Тип записи = Итог по группировке» или отбор по полю) и в параметрах оформления выберите жирный шрифт.
Программно то же самое делается через коллекцию Настройки.УсловноеОформление компоновщика настроек. Это полезно, когда отчёт формируется из кода и оформление должно быть зашито в алгоритм.
Условное оформление СКД применяется к полям, перечисленным в списке оформляемых полей. Чтобы выделить строку целиком, добавьте в этот список все поля отчёта, иначе жирной станет только часть колонок.
- 1Откройте отчёт и перейдите в настройки варианта
- 2На закладке «Условное оформление» добавьте новый элемент
- 3Задайте условие отбора по нужному полю
- 4В параметрах оформления установите жирный шрифт
- 5Перечислите все поля отчёта в оформляемых полях
- 6Сформируйте отчёт и проверьте результат
Проверка результата и типичные ошибки
После настройки проверьте результат на данных, где условие точно выполняется и точно не выполняется — так вы убедитесь, что выделяются только нужные строки. Для динамического списка обновите список клавишей F5, для отчёта сформируйте его заново: оформление применяется в момент формирования.
Чаще всего оформление «не работает» по трём причинам: не заполнен список оформляемых полей, условие ссылается на поле, которого нет в запросе списка, или элемент оформления добавлен не туда (в оформление формы вместо оформления списка). Ещё одна ошибка — попытка перебрать строки динамического списка в цикле и назначить шрифт: у строк динамического списка нет свойства оформления, это приводит к ошибке или отсутствию эффекта.
В обычных формах (толстый клиент, старые конфигурации) используется обработчик «ПриПолученииДанных» или «ПриВыводеСтроки» табличного поля, где через параметр ОформлениеСтроки.Шрифт задаётся жирное начертание. Этот механизм недоступен в управляемых формах — не переносите код между типами форм без адаптации.
Как проверить результат
Отображается жирным шрифтом после обновления списка
Шрифт обычный или жирными стали все строки
Осталась обычной
Тоже стала жирной — условие отбора неверно
Итоги выделены, данные читаемы
Жирность пропала после пересохранения документа — шрифт задаётся не в том месте кода
Ограничения и альтернативные варианты
Жирный шрифт — не единственный способ акцентировать внимание. Условное оформление позволяет менять цвет текста, цвет фона и цвет рамки, что иногда заметнее жирности, особенно при печати на чёрно-белом принтере. Комбинация «жирный + цвет фона» хорошо работает для критичных строк вроде просроченных документов.
Учитывайте ограничения: условное оформление динамического списка вычисляется на сервере при каждом обновлении, поэтому десятки сложных условий могут замедлить открытие формы. В табличном документе чрезмерное число разных шрифтов увеличивает его размер и время формирования. Для типовых конфигураций предпочтительнее менять оформление через расширение или настройки, а не правкой конфигурации — иначе изменения придётся переносить при каждом обновлении.
Что важно запомнить
Списки и табличные части выделяются условным оформлением формы, табличный документ — назначением шрифта области после вывода, отчёты СКД — условным оформлением настроек. Всегда заполняйте оформляемые поля и проверяйте условие на данных обоих типов.
Частые вопросы
Как сделать жирной строку в списке документов без программирования?
Откройте форму списка в режиме предприятия, перейдите в «Ещё — Настроить список» и добавьте элемент условного оформления с жирным шрифтом и нужным отбором. Эта настройка сохраняется для текущего пользователя и не требует изменения конфигурации.
Почему жирный шрифт применился только к одной колонке?
В элементе условного оформления заполнен список оформляемых полей только одной колонкой. Добавьте в этот список все видимые поля таблицы — тогда оформление распространится на всю строку.
Можно ли выделить жирным конкретную строку по её номеру?
В динамическом списке — нет, оформление работает только по условию на данные, а не по позиции. В табличном документе — да: получите область по номеру строки через ТабДок.Область(НомерСтроки, 1, НомерСтроки, Ширина) и назначьте ей шрифт.
Как задать жирный шрифт в обычных формах?
Используйте обработчик «ПриВыводеСтроки» табличного поля: в нём доступен параметр ОформлениеСтроки, у которого свойство Шрифт принимает значение Новый Шрифт(,,Истина) при выполнении вашего условия по данным строки.
Выделение пропадает после обновления конфигурации. Что делать?
Значит, оформление было добавлено прямой правкой типовой формы. Перенесите настройку в расширение конфигурации или используйте пользовательские настройки списка/отчёта — они сохраняются отдельно от конфигурации и переживают обновления.