Ширина колонок в 1С: как растянуть, сузить и закрепить
Содержание
Размер колонки в 1С меняется перетаскиванием правой границы заголовка мышью. Это работает в списках, журналах и табличных частях документов. Ширина запоминается для вашего пользователя, и в следующий раз форма откроется с теми же размерами.
Если нужно, чтобы ширину получили все, её задают в Конфигураторе свойствами колонки. Для табличного документа (печатной формы, макета) своя ширина колонок, и менять её можно из кода одной строкой. Ниже все три случая по порядку, от простого к сложному.
Способ зависит от того, для кого вы меняете ширину и где именно.
| Способ | Для кого действует | Где применяется |
|---|---|---|
| Перетаскивание границы мышью | Только для вас | Списки, журналы, табличные части |
| «Изменить форму…» | Только для вас | Состав и порядок колонок формы |
| Свойства колонки в Конфигураторе | Для всех | Формы объектов конфигурации |
| Расширение конфигурации | Для всех, без правки типового кода | Типовые формы на поддержке |
Код Элементы.….Ширина | Для всех, по условию | Формы с динамическим составом колонок |
| Ширина колонки в макете | Для всех | Печатные формы |
Меняем ширину мышью в обычной работе
Подведите курсор к правой границе заголовка колонки. Он станет двойной стрелкой. Зажмите левую кнопку и тяните вправо, чтобы расширить колонку, или влево, чтобы сузить.
Что важно знать:
- 📏 Соседние колонки сдвигаются, а общая ширина таблицы остаётся прежней. Если колонок много, справа появится горизонтальная прокрутка.
- 🖱️ Тянуть нужно именно границу в строке заголовка, а не в теле таблицы.
- 🔒 Если граница не двигается, у колонки в Конфигураторе стоит жёсткая ширина или таблица растягивается автоматически. Это решается способами ниже.
- 🧾 Работает одинаково в списках справочников, журналах документов и табличных частях.
Нужна не просто шире, а видеть весь текст? Сначала расширьте окно формы или разверните её на весь экран. Если у формы широкий монитор, колонки с признаком растягивания сами займут свободное место.
Заодно можно поменять порядок колонок: потяните заголовок влево или вправо. Скрыть лишние колонки можно в настройке формы, о ней следующий раздел.
Две привычки экономят время. Во-первых, сначала расширьте окно, а потом двигайте колонки: так видно, сколько места реально свободно. Во-вторых, начинайте с самой нужной колонки и сдвигайте остальные под неё. Если сделать наоборот, придётся возвращаться и подправлять первые же колонки по второму разу.
Если таблица очень широкая, а колонок десять и больше, ширину лучше не выравнивать. Уберите ненужные колонки через настройку формы, и оставшиеся сами станут читаемыми. Это быстрее, чем подбирать каждую границу.
Настройка формы: как сохранить и как вернуть
Ширина, которую вы выставили мышью, хранится в пользовательских настройках формы. Её видите только вы. Коллеги увидят свои размеры, а новичок получит стандартные.
Чтобы управлять колонками списка целиком, откройте меню формы. В интерфейсе «Такси» это кнопка «Ещё» в командной панели или значок шестерёнки в правом верхнем углу формы. Там есть команда «Изменить форму…». Откроется окно со списком всех элементов формы: можно включать и выключать колонки, менять их порядок и ширину.
Порядок действий:
- Откройте нужный список или документ.
- Вызовите меню «Ещё» (или шестерёнку) и выберите «Изменить форму…».
- Найдите в дереве нужную колонку и поправьте её свойства или переставьте её.
- Нажмите «ОК». Форма перерисуется с новыми настройками.
Если колонки «поехали» и вы хотите начать с чистого листа, в том же меню найдите команду сброса настроек формы. В ней слово «стандартные» (установить стандартные настройки). После этого форма вернётся к виду, который задал разработчик конфигурации.
Сброс убирает все ваши изменения формы целиком: и ширину, и порядок, и скрытые колонки. Если вам нужна одна колонка, лучше поправьте её руками.
Отдельная история с отчётами. Ширина колонок в отчёте на СКД задаётся при формировании, и сохранить её на следующий раз нельзя без изменения варианта отчёта. Для разовой правки подвиньте границу в готовом отчёте, а для постоянной настройте вариант отчёта.
Конфигуратор: ширина колонки для всех пользователей
Если вы разработчик или администратор с доступом к Конфигуратору, ширину можно закрепить в самой форме. Тогда она станет стандартной для всех.
Где искать
- Откройте Конфигуратор и найдите объект (справочник, документ, обработку).
- Откройте нужную форму двойным щелчком, а затем вкладку «Элементы» редактора формы.
- Найдите таблицу, а в ней колонку. Откройте её свойства (двойной щелчок или палитра свойств).
- Поменяйте параметры ширины и сохраните форму.
Какие свойства влияют на ширину
| Свойство | Что делает | Когда нужно |
|---|---|---|
Ширина | Задаёт ширину в условных символах | Колонка с предсказуемым содержимым: дата, номер, сумма |
АвтоМаксимальнаяШирина | Ширина подстраивается под содержимое, но не больше максимума | Колонка с текстом разной длины |
МаксимальнаяШирина | Предел для автоподбора | Чтобы наименование не «съело» всю таблицу |
РастягиватьПоГоризонтали | Колонка занимает свободное место | Главная текстовая колонка, например «Наименование» |
Практический подход: у наименований включают растягивание, у дат и сумм ставят жёсткую небольшую ширину. Так форма выглядит аккуратно и на широком, и на узком мониторе.
Ширина в свойствах измеряется не в пикселях, а в условных символах. Значение 10 примерно соответствует десяти цифрам. Для даты хватает 10-12, для суммы с копейками обычно 12-15.
Правка типовой формы через расширение
Если конфигурация типовая (Бухгалтерия, ЗУП, Управление торговлей), менять её напрямую неудобно: при каждом обновлении придётся сравнивать и объединять изменения. Надёжнее сделать расширение.
- В Конфигураторе откройте
Конфигурация → Расширения конфигурациии создайте расширение. - Добавьте в расширение нужную форму из основной конфигурации. Она появится как заимствованный объект.
- Откройте заимствованную форму и поменяйте свойства колонки так же, как в обычной форме.
- Сохраните расширение в базу данных. Пользователям нужно перезапустить 1С, чтобы увидеть изменение.
Это самый безопасный путь для типовых решений. Основная конфигурация остаётся на полной поддержке и обновляется без конфликтов.
Какую ширину ставить: ориентиры
Цифры примерные, подгоните под свой экран:
- 📅 Дата без времени: 10-11.
- 🔢 Номер документа: 10-12.
- 💰 Сумма с копейками: 12-15.
- 🏷️ Код или артикул: 12-18.
- 📝 Наименование: растягивание вместо жёсткой ширины или 40-60.
- 💬 Комментарий: растягивание и перенос по словам.
Поменяли форму в типовой конфигурации? Она уйдёт «на поддержку с изменением», и при обновлении может появиться конфликт. Лучше сделать правку в расширении конфигурации или оставить задачу на пользовательскую настройку.
Управление шириной из программного кода
Ширину колонок можно задать в модуле формы. Это полезно, когда её нужно считать по условию: например, показать колонку шире, если выбран подробный режим.
Для поля формы (колонки таблицы) используется свойство Ширина элемента:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Колонка "Наименование" шире, колонка "Сумма" уже
Элементы.ТоварыНоменклатура.Ширина = 45;
Элементы.ТоварыСумма.Ширина = 14;
КонецПроцедуры
Имена элементов формируются так: ИмяТаблицы + ИмяКолонки. Точные имена смотрите в редакторе формы на вкладке «Элементы».
А если нужно подстроить колонки под пользователя, сохраните значения в хранилище общих настроек и применяйте при открытии формы. Но это усложнение, которое требуется редко. В большинстве случаев хватает свойств колонки в Конфигураторе.
Иногда ширину нужно подогнать под содержимое. Например, колонка «Комментарий» то пустая, то с длинным текстом. Тогда считают наибольшую длину строки и ограничивают её сверху:
&НаКлиенте
Процедура ПодобратьШирину()
МаксДлина = 0;
Для Каждого Строка Из Объект.Товары Цикл
МаксДлина = Макс(МаксДлина, СтрДлина(Строка.Комментарий));
КонецЦикла;
// Не уже 10 и не шире 60 условных символов
Элементы.ТоварыКомментарий.Ширина = Макс(10, Мин(МаксДлина, 60));
КонецПроцедуры
Цикл проходит все строки табличной части и находит самый длинный комментарий. Результат зажат между 10 и 60, поэтому колонка не исчезнет и не растянется на весь экран . Эту процедуру вызывают при открытии формы и после заполнения таблицы.
Три замечания:
- 🧩 Меняйте ширину на клиенте. Свойства элементов формы доступны там без обращения к серверу.
- 🔁 Не ставьте ширину в обработчике, который вызывается на каждое изменение данных. Пользователь будет терять свои правки.
- 🧪 После правки проверьте форму на узком и широком экране.
Табличный документ: печатные формы и макеты
Табличный документ работает иначе, чем список. Его колонки не привязаны к данным, это просто сетка ячеек, как в электронной таблице. Поэтому ширину задают для колонки сетки.
В макете (Конфигуратор)
Откройте макет печатной формы. Выделите колонки, ширину которых нужно изменить, кликнув по заголовку столбца. Вызовите контекстное меню и найдите пункт задания ширины колонки, либо потяните границу заголовка мышью. Сохраните макет.
Подсказки по макетам:
- 🔢 Если печатная форма «разваливается» на два листа по ширине, суммарная ширина колонок больше области печати. Сузьте колонки или поменяйте ориентацию листа.
- 🧱 Объединённые ячейки не подстраиваются под ширину сами. Подгоняйте ширину колонок, которые они охватывают.
- 🖨️ Проверяйте результат в предварительном просмотре, а не на экране.
Из кода
Для готового табличного документа ширина колонки задаётся через область:
ТабДок = Новый ТабличныйДокумент;
// ... заполнение документа ...
// Колонка 2 шире, колонка 3 уже
ТабДок.Область("C2").ШиринаКолонки = 40;
ТабДок.Область("C3").ШиринаКолонки = 12;
Запись "C2" означает второй столбец целиком (формат областей, где R строка, C колонка). Ту же колонку можно указать числами: ТабДок.Область(1, 2, ТабДок.ВысотаТаблицы(), 2).
Когда выводите макет через ПолучитьОбласть, ширина колонок наследуется из макета. Если в макете она верная, дополнительно ничего менять не нужно.
В пользовательском режиме табличный документ тоже допускает перетаскивание границ, но только если он открыт на редактирование. В режиме просмотра формы (например, отчёт) ширину колонки руками часто не поменять. Тогда либо правят макет, либо выгружают результат в Excel и подгоняют там.
Ошибки и странности, которые встречаются чаще всего
Разберём ситуации, когда ширина «не слушается».
Граница не двигается. Колонка может быть зафиксирована или таблица занимает ровно то место, которое ей отведено. Попробуйте сузить соседнюю колонку, чтобы освободить место, а затем расширяйте нужную.
Настройка не сохраняется. Пользовательские настройки формы хранятся в профиле. Если вы работаете под общим пользователем или профиль сбрасывается при каждом входе (например, в терминальной сессии без сохранения профиля), размеры забываются. Тут нужно решать вопрос на уровне администрирования входа в базу.
После обновления конфигурации размеры сбросились. Если разработчик изменил форму, прежние пользовательские настройки частично отбрасываются. Выставьте ширину заново.
Текст в ячейках обрезается. Колонка уже содержимого. Либо расширьте её, либо включите перенос по словам в свойствах поля, тогда текст уйдёт в несколько строк, а высота строки вырастет.
В печатной форме поехала вёрстка. Убедитесь, что вы правите ширину в макете, а не в уже сформированном документе: сформированный документ при следующей печати соберётся заново из макета.
Частые вопросы
Можно ли изменить ширину колонки сразу у всех пользователей?
Ширина, АвтоМаксимальнаяШирина, РастягиватьПоГоризонтали. Пользовательские размеры у тех, кто уже менял её сам, останутся.