Разработка и Конфигурация · 8 мин
В чем измеряется ширина колонки в 1С
Разбираем, в чем измеряется ширина колонки в 1С: символы шрифта, пиксели, проценты. Как задать ширину колонок в табличных документах, формах и отчетах.
Вопрос о единицах измерения ширины колонки в 1С возникает у разработчиков и пользователей регулярно, потому что платформа использует нестандартную систему. В разных объектах — табличном документе, форме списка, табличной части, отчете СКД — ширина задается по-разному, и попытка перенести значение из одного места в другое часто дает неожиданный результат.
Ключевой момент: в 1С нет единой единицы измерения ширины колонок. Табличный документ оперирует условными единицами, привязанными к размеру шрифта, формы — аналогичными условными единицами, а при экспорте в Excel или HTML значения пересчитываются в пиксели или пункты. Понимание этой логики избавляет от типичных ошибок при настройке печатных форм и отчетов.
Условные единицы: основа измерения ширины в 1С
Основная единица измерения ширины колонки в 1С — условная единица, которая привязана к средней ширине одного символа базового шрифта. Это значит, что колонка шириной 10 вмещает примерно десять символов текста стандартным шрифтом. Такой подход заимствован из логики электронных таблиц и позволяет макетам выглядеть предсказуемо на разных мониторах и принтерах.
Из-за привязки к шрифту одна и та же условная единица не равна фиксированному числу пикселей. Если в свойствах области табличного документа изменить шрифт, визуальная ширина колонки изменится, хотя числовое значение останется прежним. Поэтому прямой пересчет «единица = N пикселей» некорректен без учета конкретного шрифта и масштаба отображения.
Ширина колонки в табличном документе
В табличном документе (объект ТабличныйДокумент) ширина колонки задается свойством ШиринаКолонки области. Значение указывается в условных единицах, допускаются дробные числа. Например, в конфигураторе можно выделить колонку макета и в палитре свойств установить нужное значение.
Программно ширина задается так:
Область = ТабДок.Область("R1C2");
Область.ШиринаКолонки = 15;
Если свойство не задано явно, колонка получает ширину по умолчанию, которая зависит от настроек документа и шрифта. При формировании печатных форм рекомендуется явно задавать ширину ключевых колонок в макете, чтобы результат не зависел от настроек клиентского компьютера.
Ширина колонок в формах и табличных частях
В управляемых формах ширина колонки таблицы задается свойством Ширина элемента формы. Здесь также используются условные единицы, привязанные к ширине символа. Значение 0 или пустое значение означает автоматический подбор ширины платформой — колонка растянется или сожмется в зависимости от содержимого и доступного места.
Дополнительно на поведение колонки влияют свойства РастягиватьПоГоризонтали и АвтоОтметкаНезаполненного у родительских элементов, а также режим изменения размера группы. Если колонка в форме «прыгает» при изменении размера окна, чаще всего причина в сочетании фиксированной ширины у одних колонок и растягивания у других.
Пользователь может менять ширину колонок мышью прямо в режиме 1С:Предприятие. Эти настройки сохраняются в хранилище пользовательских настроек и применяются при следующем открытии формы. Если разработчик изменил макет формы, а у пользователя остались старые настройки, колонки могут отображаться некорректно — тогда помогает сброс настроек формы.
Ширина колонок в отчетах на СКД
В отчетах на системе компоновки данных ширина колонки обычно не задается жестко: СКД сама подбирает размеры по содержимому. Однако разработчик может повлиять на результат через оформление поля — в настройках отчета на вкладке оформления доступны параметры шрифта, а ширина подбирается автоматически исходя из него и длины данных.
Если требуется точная ширина, например для печатной формы на базе СКД, выходом служит вывод результата в табличный документ с последующей программной установкой ШиринаКолонки для нужных колонок. Это стандартная практика при подготовке отчетов, которые должны строго соответствовать печатному бланку.
- 1Сформируйте отчет и выведите результат в табличный документ
- 2Определите номера колонок, требующих фиксированной ширины
- 3Программно установите ШиринаКолонки для каждой области
- 4Проверьте результат в предварительном просмотре печати
- 5Сохраните макет с заданными ширинами для повторного использования
Пересчет при экспорте в Excel и печати
При сохранении табличного документа в формате Excel платформа пересчитывает условные единицы в единицы Excel, которые также привязаны к ширине символа шрифта по умолчанию. В большинстве случаев пропорции сохраняются, но возможны небольшие отклонения из-за различий в шрифтах и округлении.
При печати условные единицы преобразуются в физические размеры на бумаге с учетом масштаба, заданного в параметрах страницы. Свойство МасштабПечати табличного документа позволяет сжать широкий отчет до одной страницы, но при сильном уменьшении текст становится нечитаемым. Альтернатива — альбомная ориентация или перенос части колонок на второй лист.
Где как задается ширина
Свойство ШиринаКолонки в условных единицах, подходит для печатных форм и макетов
Свойство Ширина элемента формы, 0 означает автоподбор; пользователь может менять мышью
Автоматический подбор; точная ширина достигается через вывод в табличный документ
Автоматический пересчет платформой, возможны погрешности из-за шрифтов
Типичные ошибки при работе с шириной колонок
Самая частая ошибка — попытка задать ширину в пикселях или сантиметрах по аналогии с веб-разработкой. В 1С таких единиц для колонок нет, и значение 100 будет означать сто условных символов, что приведет к гигантской колонке. Вторая распространенная проблема — проверка макета только на экране без предварительного просмотра печати: колонки, умещающиеся на мониторе, могут не поместиться на листе А4.
Еще одна ошибка — игнорирование пользовательских настроек форм. Если пользователь жалуется, что колонки «съехали», хотя в конфигураторе все корректно, первым делом стоит сбросить настройки формы через меню «Ещё — Установить стандартные настройки».
Как проверить результат
Все колонки видны без горизонтальной прокрутки
Часть колонок обрезана или сжата до нечитаемости
Таблица умещается в ширину страницы
Колонки переносятся на дополнительные листы
Ширина колонок пропорциональна исходному документу
Колонки сильно искажены, текст обрезан
Частые вопросы
Можно ли задать ширину колонки в сантиметрах?
Напрямую нет: 1С использует условные единицы, привязанные к шрифту. Для печатных форм точный размер на бумаге подбирается экспериментально через предварительный просмотр с учетом масштаба печати и полей страницы.
Почему ширина колонки меняется при смене шрифта?
Условная единица равна средней ширине символа шрифта. При увеличении шрифта физическая ширина колонки растет при том же числовом значении, поэтому шрифт макета лучше фиксировать до настройки ширины колонок.
Как сделать, чтобы колонка подстраивалась под содержимое?
В управляемых формах оставьте свойство Ширина пустым или равным 0 — платформа подберет размер автоматически. В табличном документе автоподбор недоступен, ширину нужно задавать явно.
Пользователь изменил ширину колонок, как вернуть исходную?
В форме откройте меню «Ещё» и выберите вариант установки стандартных настроек. Это сбросит пользовательские изменения размеров и порядка колонок к значениям, заданным разработчиком.
Почему после экспорта в Excel ширина колонок отличается?
Платформа пересчитывает условные единицы в единицы Excel, а они зависят от шрифта книги по умолчанию. Различия в шрифтах и округление дают небольшие отклонения — это нормальное поведение, а не ошибка.
Как уместить широкий отчет на одну страницу при печати?
Используйте свойство МасштабПечати табличного документа, альбомную ориентацию или уменьшите ширину второстепенных колонок. При сильном уменьшении масштаба проверьте читаемость текста на печатном образце.
Что важно запомнить
Ширина колонки в 1С измеряется в условных единицах, привязанных к ширине символа шрифта, а не в пикселях или сантиметрах. В табличном документе используется свойство ШиринаКолонки, в формах — свойство Ширина элемента. Результат всегда проверяйте в предварительном просмотре печати и учитывайте пользовательские настройки форм.