Как вывести текст с разным оформлением и префиксом в одной ячейке таблицы 1С

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

В разработке интерфейсов на платформе 1С:Предприятие 8.3 часто возникает задача сделать таблицу более информативной и компактной. Один из популярных приемов — вывод поясняющего текста (например, «Количество:») прямо внутри ячейки с данными, причем так, чтобы пояснение и само значение отличались визуально (цветом, шрифтом или расположением). Проанализируем основные способы реализации этой задачи, разберем их преимущества и ограничения.

Способ 1. Использование свойства «Формат» (Форматная строка)

Самый простой и быстрый способ добавить текст к числовому или датному значению — это настройка форматной строки. Рассмотрим этот метод подробнее. Если нам нужно, чтобы в ячейке перед числом всегда выводилось слово «Количество:», мы можем воспользоваться конструктором форматной строки или прописать её вручную в свойствах элемента формы (поля ячейки).

Для реализации такого подхода в свойство Формат или ФорматРедактирования необходимо вписать выражение. Например:

ЧФ='"Количество: " Ч'

Разберем по шагам, что это дает:

  1. Параметр ЧФ указывает на формат вывода числа.
  2. Текст, заключенный в двойные кавычки внутри одинарных ("Количество: "), будет выводиться как неизменяемый префикс.
  3. Символ Ч в конце указывает на то, что после текста должно следовать само числовое значение.

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

Способ 2. Группировка колонок «В ячейке»

Этот метод является наиболее гибким и часто используемым в типовых конфигурациях (например, в УТ 11 или ERP). Он позволяет визуально объединить несколько разных реквизитов в одну колонку, сохраняя при этом возможность индивидуального оформления каждого элемента.

Проанализируем алгоритм настройки:

  1. В редакторе формы выберем нужную таблицу и добавим в неё новый элемент — Группа колонок.
  2. В свойствах созданной группы установим параметр Группировка в значение В ячейке.
  3. Перетащим в эту группу две колонки: первую — текстовую (надпись «Количество:») и вторую — с данными (числовое поле).
  4. Чтобы интерфейс выглядел аккуратно, у вложенных колонок в свойстве ОтображатьВШапке установим значение Ложь. Заголовок будет отображаться только для всей группы в целом.

Как добиться разного цвета? Здесь нам поможет Условное оформление формы. Разберем ситуацию: мы хотим, чтобы пояснительная надпись была серого цвета. Для этого:

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

Способ 3. Использование объекта «ФорматированнаяСтрока»

Если ячейка предназначена только для чтения (например, в списке документов), можно использовать объект ФорматированнаяСтрока. Это программный способ, который позволяет задавать оформление для каждого фрагмента текста отдельно.

Рассмотрим пример кода, который формирует такое значение:


ЦветПрефикса = Новый Цвет(128, 128, 128); // Серый цвет
ШрифтПрефикса = Новый Шрифт(,, Истина); // Жирный шрифт

ТекстЯчейки = Новый ФорматированнаяСтрока(
    Новый ФорматированнаяСтрока("Количество: ", ШрифтПрефикса, ЦветПрефикса),
    Новый ФорматированнаяСтрока(Строка(ДанныеСтроки.Количество))
);

Важные нюансы:

Способ 4. «Подсказка ввода» (Hint) для пустых значений

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

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

Сравнение методов и рекомендации

Выясним, какой метод выбрать в зависимости от задачи:

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

← На главную