Документы и Печать · 11 мин
Как изменить ширину колонки в табличном документе 1С
Как изменить ширину колонки в табличном документе 1С: мышью, через свойства, программно и при выводе отчёта. Пошаговые инструкции и типичные ошибки.
Ширина колонки в табличном документе 1С влияет на то, как печатная форма выглядит на экране и на бумаге: текст может обрезаться, переноситься или «съезжать» за границы страницы. Изменить ширину можно несколькими способами — вручную мышью, через палитру свойств, программно из кода и через настройки макета.
Выбор способа зависит от задачи. Если нужно быстро поправить готовый документ перед печатью — достаточно перетащить границу колонки. Если ширина должна быть задана жёстко и одинаково для всех пользователей — правильнее изменить макет в конфигураторе или установить ширину программно при формировании отчёта.
Важно понимать, что ширина колонки в 1С задаётся в разных единицах в зависимости от контекста: в интерфейсе — условные единицы ширины символа, программно — в миллиметрах или пунктах через объектную модель. Из-за этого значения «на глаз» и в коде могут отличаться.
Ниже разобраны все рабочие способы с пошаговыми действиями, ограничениями и способами проверки результата.
Как изменить ширину колонки мышью в режиме 1С:Предприятие
Самый простой способ подходит для готового табличного документа — сформированного отчёта или печатной формы, открытой перед печатью. Он работает, если документ не защищён от редактирования.
Наведите курсор на правую границу заголовка нужной колонки (серые ячейки с номерами колонок сверху). Курсор изменит вид на двунаправленную стрелку. Зажмите левую кнопку мыши и перетащите границу в нужную сторону: вправо — колонка станет шире, влево — уже.
Если граница не перетаскивается, значит для табличного документа включена защита. Снимите её: в главном меню откройте «Таблица» → «Вид» → «Только просмотр» и снимите флажок, либо используйте команду «Защита» в том же меню. В тонком клиенте путь может отличаться: ищите кнопку с замком на панели инструментов табличного документа.
Учтите, что ручное изменение действует только на текущий экземпляр документа. При повторном формировании отчёта или печатной формы ширина колонок вернётся к значениям из макета.
- 1Откройте табличный документ (отчёт или печатную форму)
- 2Убедитесь, что снят режим «Только просмотр» и защита документа
- 3Наведите курсор на границу между заголовками колонок
- 4Перетащите границу до нужной ширины
- 5Проверьте результат через предварительный просмотр печати
Как задать точную ширину через свойства колонки
Когда нужна точность, а не «на глаз», используйте палитру свойств. Выделите колонку, кликнув по её заголовку (серая ячейка с номером), затем откройте контекстное меню правой кнопкой мыши и выберите пункт «Свойства». Либо нажмите сочетание клавиш Alt+Enter.
В палитре свойств найдите параметр «Ширина». Введите числовое значение — оно задаётся в усреднённых единицах ширины символа шрифта. Чем больше число, тем шире колонка. Типичные значения для текстовых колонок — от 10 до 30, для узких числовых — от 5 до 10.
Чтобы изменить ширину сразу нескольких колонок одинаково, выделите их с зажатой клавишей Ctrl или Shift, кликая по заголовкам, а затем задайте значение в свойствах. Все выделенные колонки получат одинаковую ширину.
Обратите внимание на свойство «АвтоШирина» в некоторых контекстах: если оно включено, ручное значение может игнорироваться при выводе. Отключите автоматический подбор, если ширина «сбрасывается» после формирования.
Как изменить ширину колонки в макете конфигуратора
Если печатная форма строится по макету, ручные правки в режиме предприятия бессмысленны — при следующем формировании документ снова возьмёт размеры из макета. Постоянное изменение делается в конфигураторе.
Откройте конфигуратор, найдите нужный объект (документ, отчёт, обработку) и раскройте ветку «Макеты». Откройте макет типа «Табличный документ». Выделите колонку кликом по её заголовку и через палитру свойств установите нужную ширину.
Альтернатива — выделить именованную область колонок и задать ширину для всей области сразу. Это удобно, когда в макете несколько однотипных колонок таблицы. Сохраните конфигурацию и обновите конфигурацию базы данных, если изменения касаются объектов, требующих обновления.
После изменения макета сформируйте печатную форму заново и проверьте результат. Помните: если у пользователей нет прав на изменение конфигурации или база находится на поддержке без возможности изменения, потребуется снятие с поддержки либо использование внешней печатной формы.
Как изменить ширину колонки программно
Программный способ нужен разработчикам и при создании внешних печатных форм и отчётов. Ширина колонки задаётся через свойство «ШиринаКолонки» области табличного документа.
Базовый пример: получить область колонки и установить ширину. Значение указывается в тех же условных единицах, что и в палитре свойств.
ТабДок = Новый ТабличныйДокумент;
// ... вывод области из макета ...
ОбластьКолонки = ТабДок.Область(, 3, , 3); // колонка 3
ОбластьКолонки.ШиринаКолонки = 20;
Метод Область() с параметрами (R1, C1, R2, C2) позволяет адресовать колонки по номерам. Если номера строк не указаны, область охватывает колонку целиком. Для нескольких колонок укажите диапазон, например колонки со 2 по 5.
Проверьте результат, выведя табличный документ на форму или сохранив его в файл: ТабДок.Записать("C:\Temp\test.mxl"). Откройте файл и убедитесь, что ширина применилась к нужным колонкам, а не сместилась из-за неверной нумерации.
ОбластьКолонки = ТабДок.Область(, 3, , 5);
ОбластьКолонки.ШиринаКолонки = 15;Ширина колонок в отчётах на СКД и в управляемых формах
Отчёты на системе компоновки данных формируют табличный документ автоматически, и ширина колонок в них подбирается по содержимому. Чтобы управлять шириной, откройте настройки отчёта: «Настройки» → вкладка или окно оформления нужного поля.
В конструкторе настроек СКД для поля можно задать параметр оформления «Ширина» — выберите поле в списке выбранных полей, откройте его оформление и укажите значение. В пользовательском режиме это делается через «Ещё» → «Изменить вариант» → оформление поля, если разработчик открыл такую возможность.
Если речь о табличном поле или таблице на управляемой форме (не табличном документе), ширина колонки меняется мышью прямо в форме, а в конфигураторе — через свойство «Ширина» элемента колонки таблицы формы. Не путайте эти объекты: табличный документ и таблица формы — разные механизмы с разными свойствами.
Сравнение способов
Быстро, но действует только на текущий документ; при переформировании ширина сбрасывается
Постоянное решение для всех пользователей; требует прав на изменение конфигурации и влияет на поддержку
Гибко, подходит для внешних печатных форм; требует навыков разработки и тестирования
Пользовательский способ для отчётов; доступен, только если разработчик открыл настройку оформления
Типичные ошибки и ограничения
Частая ситуация: пользователь меняет ширину мышью, формирует отчёт заново — и всё сбрасывается. Это не ошибка платформы, а ожидаемое поведение: документ строится из макета. Решение — править макет или настройки отчёта, а не готовый результат.
Вторая ошибка — попытка изменить ширину в защищённом документе. Печатные формы многих типовых конфигураций открываются в режиме «Только просмотр». Пока защита включена, ни перетаскивание, ни палитра свойств работать не будут.
Третья проблема — ширина задана, но на печати текст обрезается. Проверьте свойство «РазмещениеТекста» ячеек: если перенос отключён, длинный текст визуально уходит за границу. Включите перенос по словам или увеличьте ширину с учётом реальной длины данных.
Также помните про масштаб печати: если документ не помещается на страницу, проблема может быть не в ширине отдельной колонки, а в суммарной ширине таблицы. Используйте параметры «МасштабПечати» или «АвтоМасштаб» табличного документа.
Как проверить результат перед печатью
После изменения ширины всегда проверяйте документ в предварительном просмотре: «Файл» → «Печать» → «Предварительный просмотр» или кнопка с лупой на панели инструментов. На экране формы и на листе бумаги результат может отличаться.
Обратите внимание на три признака корректной настройки: текст не обрезан справа, числа отображаются полностью (без символов ### вместо значений), таблица целиком помещается на страницу без разрыва важных колонок.
Если документ печатается регулярно, проверьте его на реальном принтере с реальными данными максимальной длины — например, с самым длинным наименованием номенклатуры. Короткие тестовые данные могут скрыть проблему обрезки.
Как проверить результат
Текст виден полностью или переносится по строкам
Текст обрезан справа, часть символов скрыта
Все цифры видны целиком
Вместо числа отображаются символы ###
Все колонки помещаются на страницу
Часть колонок уходит на следующий лист непреднамеренно
Ширина сохраняется при новом формировании (макет или код)
Ширина сбрасывается — значит, правили готовый документ, а не источник
Что важно запомнить
Для разовой правки перетащите границу колонки мышью, предварительно сняв защиту документа. Для постоянной настройки измените ширину в макете конфигуратора или программно через свойство ШиринаКолонки. Результат всегда проверяйте в предварительном просмотре печати.
Частые вопросы
Почему ширина колонки сбрасывается после повторного формирования отчёта?
Потому что табличный документ каждый раз строится заново из макета или настроек СКД. Ручные изменения применяются только к текущему экземпляру. Чтобы ширина сохранялась, измените макет в конфигураторе, настройте оформление поля в СКД или задайте ширину программно при выводе.
Как изменить ширину сразу нескольких колонок одинаково?
Выделите нужные колонки, кликая по их заголовкам с зажатой клавишей Ctrl (произвольный набор) или Shift (диапазон). Затем откройте палитру свойств и задайте значение ширины — оно применится ко всем выделенным колонкам одновременно.
Не перетаскивается граница колонки — что делать?
Скорее всего, документ открыт в режиме «Только просмотр» или включена защита. Снимите соответствующий флажок в меню «Таблица» → «Вид» или нажмите кнопку с замком на панели инструментов. Если документ формируется защищённым программно, изменить его без правки кода не получится.
В каких единицах задаётся ширина колонки в 1С?
В палитре свойств и в свойстве «ШиринаКолонки» используются условные единицы, привязанные к усреднённой ширине символа шрифта документа, а не миллиметры. Поэтому одно и то же значение при разных шрифтах даст разную физическую ширину. Ориентируйтесь на предварительный просмотр.
Как сделать, чтобы ширина подбиралась автоматически под содержимое?
В отчётах на СКД ширина по умолчанию подбирается автоматически по содержимому. В обычном табличном документе автоподбор ограничен: надёжнее задать достаточную ширину с запасом и включить перенос текста в свойстве «РазмещениеТекста» ячеек, чтобы длинные значения переносились, а не обрезались.
Можно ли изменить ширину колонок печатной формы без доступа к конфигуратору?
Да, двумя способами: временно — мышью в открытой печатной форме после снятия защиты, либо постоянно — через подключение внешней печатной формы, если конфигурация поддерживает механизм дополнительных отчетов и обработок. Внешняя печатная форма не требует изменения типовой конфигурации.