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

Документы и Печать · 9 мин

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

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

Вопрос о выравнивании текста в 1С возникает в трёх разных ситуациях, и путать их нельзя: это работа с табличным документом (печатные формы, макеты, отчёты), настройка полей на форме и программное форматирование через встроенный язык. В каждом случае действуют свои инструменты и свои ограничения.

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

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

Выравнивание текста в ячейке табличного документа через свойства

Табличный документ — это основной формат отображения печатных форм, отчётов и макетов в 1С. Чтобы выровнять текст в ячейке вручную, откройте табличный документ (например, макет в конфигураторе или сохранённый файл mxl), выделите нужную ячейку или диапазон ячеек и вызовите палитру свойств: правый клик → «Свойства» либо комбинация Alt+Enter.

В палитре найдите два свойства: «Горизонтальное положение» и «Вертикальное положение». Для горизонтали доступны варианты: «Авто», «Лево», «Центр», «Право», «По ширине», «Заполнить». Для вертикали: «Авто», «Верх», «Центр», «Низ». Значение «Авто» означает, что платформа сама решает, как выравнивать содержимое: числа и даты — вправо, строки — влево.

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

Порядок действий для ячейки
  1. 1
    Откройте табличный документ или макет
  2. 2
    Выделите ячейку или диапазон ячеек
  3. 3
    Нажмите Alt+Enter или правый клик → Свойства
  4. 4
    Установите «Горизонтальное положение» (Лево, Центр, Право)
  5. 5
    При необходимости задайте «Вертикальное положение»
  6. 6
    Сохраните макет и обновите конфигурацию БД

Что означают варианты горизонтального выравнивания

Выбор варианта зависит от типа данных и задачи. Для денежных сумм и количеств стандартом считается выравнивание по правому краю — так разряды чисел оказываются друг под другом и колонку удобно читать. Наименования товаров, контрагентов и прочие строки обычно выравнивают по левому краю.

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

Важный нюанс: выравнивание «По ширине» заметно работает только при включённом переносе текста (свойство «Размещение текста» → «Переносить»). Если текст однострочный, визуальной разницы с выравниванием влево не будет.

Выравнивание текста программно через встроенный язык

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

Область = ТабДок.Область("R1C1");

Область.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;

Область.ВертикальноеПоложение = ВертикальноеПоложение.Центр;

Обращаться можно как по адресу ячейки (R1C1), так и по имени области, заданному в макете. Если нужно выровнять весь столбец готового табличного документа, получите область столбца методом ТабДок.Область("C2") и примените свойство к ней — это удобно для постобработки уже сформированных отчётов.

Учтите: свойства применяются к области целиком. Если область объединяет несколько ячеек с разным содержимым, выравнивание будет единым для всех. Для разного выравнивания внутри одной строки разбивайте текст на отдельные ячейки ещё на этапе проектирования макета.

bsl
ОбластьШапки = ТабДок.Область("R1");
ОбластьШапки.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;

Выравнивание в макетах печатных форм и отчётах СКД

Макет печатной формы редактируется в конфигураторе: откройте нужный объект (документ или справочник), перейдите на вкладку «Макеты», откройте макет и выделяйте ячейки. Для параметризованных ячеек (с параметрами в фигурных скобках) выравнивание настраивается так же, как для обычного текста — свойство применится к выводимому значению.

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

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

Выравнивание текста в элементах формы

На формах (управляемых и обычных) выравнивание содержимого полей задаётся в свойствах элемента формы. Для поля ввода, надписи или колонки таблицы формы найдите в палитре свойств пункт «ГоризонтальноеПоложение» (или «ПоложениеЗаголовка» для заголовка) и установите «Лево», «Право» или «Центр».

Для колонок табличной части или динамического списка выравнивание настраивается отдельно для каждой колонки: выделите колонку в дереве элементов формы и измените свойство. Числовые колонки по умолчанию уже выравниваются вправо платформой.

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

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

Как проверить результат и что важно помнить

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

Дополнительно проверьте предпросмотр печати и выгрузку в Excel, если документы передаются контрагентам: выравнивание «По ширине» и объединённые ячейки иногда выгружаются с отличиями от экранного вида.

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

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

Печатная форма с реальными данными
Норма

Текст выровнен как задумано, ничего не обрезано

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

Числа не помещаются, текст налезает на границы ячеек

Выгрузка в Excel или PDF
Норма

Выравнивание сохранилось

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

Съехали объединённые ячейки или переносы

Поведение после обновления конфигурации
Норма

Макет внешний или правки перенесены

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

Типовой макет затёрт, выравнивание пропало

Итог

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

Выравнивание текста в 1С задаётся свойствами «Горизонтальное положение» и «Вертикальное положение» — в палитре свойств ячейки, в условном оформлении СКД или программно через ГоризонтальноеПоложение области. Числа принято выравнивать вправо, строки — влево, заголовки — по центру. Типовые макеты правьте только через копии или внешние печатные формы.

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

Как выровнять текст по центру ячейки одновременно по горизонтали и вертикали?

Выделите ячейку, откройте свойства (Alt+Enter) и установите «Горизонтальное положение» = Центр и «Вертикальное положение» = Центр. Вертикальное центрирование заметно только если высота строки больше высоты текста.

Можно ли выровнять только часть текста внутри одной ячейки?

Нет, выравнивание применяется ко всему содержимому ячейки. Если нужно, чтобы часть строки была слева, а часть справа, разделите содержимое на две соседние ячейки в макете и задайте каждой своё выравнивание.

Почему числа в отчёте выровнены вправо, хотя я ничего не настраивал?

Это стандартное поведение платформы при значении «Авто»: числа, даты и булево выравниваются вправо, строки — влево. Чтобы изменить это, задайте явное значение горизонтального положения для ячейки или поля отчёта.

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

Получите область столбца методом ТабДок.Область("C2") (где 2 — номер колонки) и установите свойство ГоризонтальноеПоложение, например ГоризонтальноеПоложение.Право. Изменение применится ко всем ячейкам столбца.

Выравнивание в макете изменил, а в печатной форме ничего не поменялось. Почему?

Чаще всего конфигурация не была сохранена и обновлена в базе данных, либо печатная форма формируется из другого макета — например, подключена внешняя печатная форма, которая перекрывает встроенную. Проверьте список дополнительных отчётов и обработок в разделе «Администрирование».

Как выровнять текст в поле управляемой формы, если свойство не срабатывает?

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