К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как отформатировать текст в 1С

Как отформатировать текст в 1С: работа с форматированным документом, форматированной строкой, шрифтами, цветом и выравниванием в полях и макетах.

Форматирование текста в 1С встречается в нескольких разных контекстах: в полях ввода и надписях на форме, в табличных документах при печати, в объектах «ФорматированныйДокумент» и «ФорматированнаяСтрока», а также в текстовом редакторе конфигуратора. У каждого сценария свои инструменты и ограничения, поэтому важно сначала определить, где именно нужно изменить внешний вид текста.

В пользовательском режиме часть возможностей доступна без программирования: например, текст в поле «Комментарий» типа «Форматированный документ» можно выделить жирным, курсивом, изменить цвет и вставить списки через встроенную панель форматирования. Для программного управления внешним видом используется встроенный язык 1С и объекты оформления.

Ниже разобраны основные способы форматирования: от простого выделения текста в интерфейсе до программного создания форматированных строк и настройки макетов печатных форм.

Форматирование текста в поле «Форматированный документ»

Если реквизит объекта имеет тип «Форматированный документ» (например, поле для описания задачи, примечания или текста письма), при вводе текста над полем появляется панель форматирования. Она похожа на упрощённый редактор Word и работает по тому же принципу: сначала выделите фрагмент текста, затем нажмите нужную кнопку.

Стандартный набор кнопок панели включает: полужирное начертание (Ctrl+B), курсив (Ctrl+I), подчёркивание (Ctrl+U), выбор шрифта и его размера, цвет текста и цвет фона, выравнивание по левому краю, центру или правому краю, маркированный и нумерованный списки, а также вставку гиперссылки и картинки.

Чтобы применить форматирование к ещё не написанному тексту, сначала нажмите нужные кнопки (например, включите жирный шрифт), а затем печатайте — весь новый текст будет выводиться с выбранными настройками. Чтобы вернуться к обычному виду, повторно нажмите активную кнопку и снимите выделение.

Учтите: панель форматирования появляется только тогда, когда курсор находится внутри поля форматированного документа. Если панели нет, проверьте тип реквизита — обычное строковое поле таких возможностей не поддерживает.

Настройка шрифта и цвета элементов формы

Для надписей, полей ввода и заголовков на форме оформление задаётся в конфигураторе через палитру свойств элемента. Выделите элемент формы, откройте контекстное меню и выберите «Свойства» — в списке найдите свойства «Шрифт», «ЦветТекста» и «ЦветФона».

Шрифт можно выбрать из стандартных стилей конфигурации (например, «КрупныйШрифтТекста», «ШрифтВажнойНадписи») или задать индивидуальный: гарнитуру, размер и начертание. Использование стилей предпочтительнее — при смене темы оформления всей конфигурации внешний вид обновится автоматически во всех местах.

Программно оформление меняется обращением к свойствам элемента формы. Например, чтобы выделить важную надпись красным, в модуле формы достаточно присвоить свойству «ЦветТекста» нужное значение из WebЦвета или системного перечисления цветов.

1c
Элементы.НадписьПредупреждение.ЦветТекста = WebЦвета.Красный;
Элементы.НадписьПредупреждение.Шрифт = Новый Шрифт(, , Истина); // жирный

Условное оформление текста в списках и таблицах

Когда нужно выделять текст в зависимости от данных — например, подсвечивать просроченные документы красным или выводить отрицательные суммы другим цветом — используется условное оформление. Оно настраивается в конфигураторе для формы списка, таблицы или динамического списка без единой строчки кода.

Порядок настройки: откройте форму в конфигураторе, в свойствах таблицы или динамического списка найдите «УсловноеОформление» и добавьте новый элемент. Затем задайте три части: условие отбора (например, «Сумма < 0»), оформление (цвет текста, шрифт, цвет фона) и оформляемые поля, к которым применяется правило.

В типовых конфигурациях условное оформление часто уже настроено, и его можно дополнить. Проверить результат проще всего на тестовых данных: создайте запись, удовлетворяющую условию, и убедитесь, что внешний вид строки изменился.

Порядок настройки условного оформления
  1. 1
    Откройте форму списка в конфигураторе
  2. 2
    В свойствах таблицы найдите «УсловноеОформление» и добавьте элемент
  3. 3
    Задайте отбор: поле, вид сравнения и значение
  4. 4
    Укажите оформление: цвет текста, шрифт, фон
  5. 5
    Перечислите оформляемые поля в соответствующей закладке
  6. 6
    Сохраните и проверьте на тестовых данных

Программное форматирование: ФорматированнаяСтрока

Объект «ФорматированнаяСтрока» позволяет собрать текст из фрагментов с разным оформлением: часть строки вывести жирным, часть — цветом, часть — с гиперссылкой. Такой текст можно показать в декорации формы, поле надписи или сообщении пользователю.

Строка строится как массив фрагментов: каждый фрагмент создаётся конструктором «Новый ФорматированнаяСтрока», где можно указать текст, шрифт, цвет и действие при нажатии. Фрагменты объединяются оператором сложения или повторным вызовом конструктора с массивом частей.

Типичный сценарий — надпись вида «Осталось 5 дней до оплаты», где число выделено жирным и красным. Также форматированная строка применяется для подсказок с кликабельными ссылками на разделы программы.

1c
Часть1 = Новый ФорматированнаяСтрока("Осталось ");
Часть2 = Новый ФорматированнаяСтрока("5 дней", Новый Шрифт(,,Истина), WebЦвета.Красный);
Часть3 = Новый ФорматированнаяСтрока(" до оплаты");
Элементы.ДекорацияСрок.Заголовок = Новый ФорматированнаяСтрока(Часть1, Часть2, Часть3);

Форматирование текста в табличных документах и макетах

Печатные формы в 1С строятся на табличных документах, где каждая ячейка имеет собственное оформление. В макете (раздел «Макеты» объекта конфигурации) выделите ячейку или диапазон и через палитру свойств задайте шрифт, размер, начертание, цвет текста, выравнивание по горизонтали и вертикали, а также границы и цвет фона.

Для текстовых ячеек полезны свойства «РазмещениеТекста»: перенос строк позволяет длинному тексту занимать несколько строк внутри ячейки, а автоподбор высоты — не обрезать содержимое. Если текст обрезается при печати, первым делом проверьте именно эти свойства.

Программно оформление ячеек меняется через область табличного документа: получите область методом «Область» и установите свойства «Шрифт», «ЦветТекста», «ГоризонтальноеПоложение». Это удобно для динамического выделения итоговых строк или строк с особыми условиями прямо при формировании печатной формы.

Типичные ошибки
01
Попытка форматировать обычное строковое поле — оно не поддерживает оформления, нужен тип «ФорматированныйДокумент»
02
Жёсткое задание шрифтов вместо стилей — при смене темы оформления надписи придётся править вручную
03
Забытые оформляемые поля в условном оформлении — правило создано, но визуально ничего не меняется
04
Отключённый перенос текста в ячейке макета — длинный текст обрезается при печати

Форматирование текста модуля в конфигураторе

Под форматированием текста часто понимают и приведение в порядок исходного кода. В конфигураторе для этого есть команда «Текст → Блок → Форматировать» (или соответствующая кнопка): она автоматически выравнивает отступы выделенного фрагмента или всего модуля в соответствии с вложенностью конструкций.

Дополнительные удобства: сдвиг блока вправо и влево через Tab и Shift+Tab, быстрое комментирование выделенных строк (Ctrl+Num /) и снятие комментария, автоматическое заключение выделенного текста в скобки или кавычки. Настройки шрифта и цветовой подсветки синтаксиса меняются в меню «Сервис → Параметры» на закладке «Модули».

Регулярное форматирование кода — не косметика: единообразные отступы заметно упрощают поиск ошибок во вложенных условиях и циклах, особенно при чтении чужих модулей.

Контрольные точки

Как проверить результат

Панель форматирования в поле
Норма

Панель появляется при установке курсора в поле

Тревожный признак

Панели нет — реквизит имеет тип «Строка», а не «ФорматированныйДокумент»

Условное оформление списка
Норма

Строки, подходящие под условие, меняют цвет или шрифт

Тревожный признак

Оформление не применяется — проверьте отбор и список оформляемых полей

Текст в печатной форме
Норма

Весь текст виден, переносится по строкам

Тревожный признак

Текст обрезан — включите перенос и автоподбор высоты ячейки

Ограничения и частые вопросы о совместимости

Форматированный документ хранится во внутреннем формате 1С и при выгрузке в HTML или обмене с внешними системами часть оформления может теряться. Если данные планируется передавать наружу, заранее проверьте, как выглядит результат после конвертации.

Картинки, вставленные в форматированный документ, увеличивают объём хранимых данных. При массовом использовании таких полей (например, в базе знаний или карточках товаров) следите за ростом размера информационной базы.

В тонком и веб-клиенте набор кнопок панели форматирования может немного отличаться от толстого клиента, но базовые операции — начертания, цвет, списки, ссылки — доступны везде.

Итог

Что важно запомнить

Определите контекст: поле «Форматированный документ» оформляется панелью инструментов, элементы формы — свойствами Шрифт и ЦветТекста, списки — условным оформлением, печатные формы — свойствами ячеек макета, а смешанный текст программно — объектом ФорматированнаяСтрока.

Частые вопросы

Почему в поле комментария нет кнопок форматирования?

Панель форматирования отображается только для реквизитов типа «ФорматированныйДокумент». Если поле имеет тип «Строка», оформление недоступно в принципе — тип реквизита меняется в конфигураторе разработчиком.

Как сделать часть надписи на форме жирной, а часть обычной?

Используйте объект «ФорматированнаяСтрока»: соберите заголовок из нескольких фрагментов с разными настройками шрифта и присвойте результат свойству «Заголовок» декорации или надписи.

Можно ли выделять цветом отдельные строки списка документов?

Да, через условное оформление динамического списка: задаётся условие по данным (например, признак проведения или просрочки) и оформление — цвет текста, фона или шрифт. Код писать не требуется.

Сохранится ли форматирование при выгрузке текста в другую программу?

Не гарантированно. Форматированный документ хранится во внутреннем формате 1С, и при конвертации в HTML или передаче во внешние системы часть оформления может быть утеряна. Проверяйте результат на реальных данных.

Как быстро выровнять отступы в коде модуля?

Выделите фрагмент и выполните команду «Текст → Блок → Форматировать» — конфигуратор автоматически расставит отступы по уровням вложенности. Для сдвига отдельных строк используйте Tab и Shift+Tab.

Текст в печатной форме обрезается. Что делать?

Откройте макет, выделите проблемную ячейку и в свойствах включите перенос текста, а для строки — автоподбор высоты. После этого длинный текст будет размещаться в несколько строк внутри ячейки.