При разработке интерфейсов на управляемых формах 1С (включая интерфейс «Такси») часто возникает необходимость красиво оформить вывод информации. Например, расположить наименование показателя (например, «Касса») у левого края, а его числовое значение (например, «100 руб.») — у правого края. На первый взгляд может показаться, что для этого требуется реквизит типа ФорматированнаяСтрока, однако платформа 1С 8.3 позволяет добиться такого результата стандартными свойствами элементов формы.
Рассмотрим подробнее, как устроена механика выравнивания элементов на управляемой форме и какие способы существуют для решения этой задачи.
Выясним причину, почему возникает путаница при попытке выровнять текст через форматированную строку. Объект ФорматированнаяСтрока предназначен для изменения шрифта, цвета и добавления гиперссылок, но он не поддерживает позиционирование отдельных фрагментов текста по разным краям внутри одного объекта.
Для создания визуального эффекта, когда текст расположен слева, а значение справа, используется стандартный элемент формы (например, Поле надписи или Поле ввода). Разберем по шагам порядок настройки элемента:
Заголовок элемента формы. Текст или сумма справа — это значение реквизита, привязанного к полю.ПоложениеЗаголовка и устанавливаем значение Лево.ГоризонтальноеПоложение в значение Право.РастягиватьПоГоризонтали = Истина, чтобы поле занимало всю доступную ширину.Если на форме размещено несколько таких элементов друг под другом, поместим их в одну родительскую группу. При использовании механизма СквозноеВыравнивание у родительской группы платформа автоматически выровняет все заголовки и значения по единой вертикальной линии.
Проанализируем ситуации, когда стандартных свойств элемента формы недостаточно или требуется более сложная верстка.
Создадим элемент Обычная группа с группировкой Горизонтальная. Внутри группы разместим три элемента:
РастягиватьПоГоризонтали;РастягиватьПоГоризонтали (она сработает как пружина, раздвигая элементы к противоположным краям);Если требуется вывести сложную верстку с динамическими стилями, вынесем на форму реквизит с отображением Поле HTML-документа. В этом случае выравнивание и стили задаются с помощью HTML-кода и CSS.
Для вывода данных с четким позиционированием колонок можно использовать миниатюрный табличный документ, где для ячеек левой колонки выравнивание задано влево, а для правой — вправо.
Таким образом, для реализации красивого выравнивания информации в 1С 8.3 наиболее простым и стандартным способом является использование комбинации свойств ПоложениеЗаголовка и ГоризонтальноеПоложение у элементов управляемой формы.