В разработке интерфейсов на платформе 1С:Предприятие 8.3 часто возникает задача сделать таблицу более информативной и компактной. Один из популярных приемов — вывод поясняющего текста (например, «Количество:») прямо внутри ячейки с данными, причем так, чтобы пояснение и само значение отличались визуально (цветом, шрифтом или расположением). Проанализируем основные способы реализации этой задачи, разберем их преимущества и ограничения.
Самый простой и быстрый способ добавить текст к числовому или датному значению — это настройка форматной строки. Рассмотрим этот метод подробнее. Если нам нужно, чтобы в ячейке перед числом всегда выводилось слово «Количество:», мы можем воспользоваться конструктором форматной строки или прописать её вручную в свойствах элемента формы (поля ячейки).
Для реализации такого подхода в свойство Формат или ФорматРедактирования необходимо вписать выражение. Например:
ЧФ='"Количество: " Ч'
Разберем по шагам, что это дает:
ЧФ указывает на формат вывода числа."Количество: "), будет выводиться как неизменяемый префикс.Ч в конце указывает на то, что после текста должно следовать само числовое значение.Ограничение метода: Выясним причину, почему этот метод не всегда подходит. Форматная строка применяет оформление ко всей строке целиком. Вы не сможете сделать слово «Количество:» серым, а само число черным или жирным. Весь текст в ячейке будет иметь один и тот же цвет и шрифт, заданный в свойствах поля.
Этот метод является наиболее гибким и часто используемым в типовых конфигурациях (например, в УТ 11 или ERP). Он позволяет визуально объединить несколько разных реквизитов в одну колонку, сохраняя при этом возможность индивидуального оформления каждого элемента.
Проанализируем алгоритм настройки:
Группа колонок.Группировка в значение В ячейке.ОтображатьВШапке установим значение Ложь. Заголовок будет отображаться только для всей группы в целом.Как добиться разного цвета? Здесь нам поможет Условное оформление формы. Разберем ситуацию: мы хотим, чтобы пояснительная надпись была серого цвета. Для этого:
Цвет текста (например, Web-цвет Gray).В результате платформа отрисует данные в одной визуальной ячейке, но применит разные стили к её частям. Посмотрим на пример: при выделении такой строки пользователь увидит единую рамку вокруг группы, что создает эффект цельной ячейки.
Если ячейка предназначена только для чтения (например, в списке документов), можно использовать объект ФорматированнаяСтрока. Это программный способ, который позволяет задавать оформление для каждого фрагмента текста отдельно.
Рассмотрим пример кода, который формирует такое значение:
ЦветПрефикса = Новый Цвет(128, 128, 128); // Серый цвет
ШрифтПрефикса = Новый Шрифт(,, Истина); // Жирный шрифт
ТекстЯчейки = Новый ФорматированнаяСтрока(
Новый ФорматированнаяСтрока("Количество: ", ШрифтПрефикса, ЦветПрефикса),
Новый ФорматированнаяСтрока(Строка(ДанныеСтроки.Количество))
);
Важные нюансы:
ФорматированнаяСтрока.Иногда требуется вывести надпись не рядом с данными, а вместо них, когда поле еще не заполнено. Для этого проанализируем свойство ПодсказкаВвода.
Если в свойство поля ПодсказкаВвода вписать текст «Введите количество...», то в пустой ячейке он будет отображаться серым цветом. Как только пользователь начнет вводить число, надпись исчезнет. Это отличное решение для юзабилити, которое не требует нагромождения дополнительных колонок.
Выясним, какой метод выбрать в зависимости от задачи:
Форматную строку.Группу колонок «В ячейке».Форматированную строку.Таким образом, комбинируя стандартные свойства элементов формы и механизмы условного оформления, можно добиться практически любого визуального эффекта, не прибегая к модификации платформы или использованию внешних компонентов.