Колонка не влезает: меняем её ширину в списках, отчётах и макетах 1С
Содержание
Наименование контрагента обрезано до трёх букв, сумма превратилась в «#####», а в отчёте половина текста ушла за край. Многие думают, что для этого нужен программист. Нет: в большинстве случаев хватает мыши. Нужен программист или конфигуратор только тогда, когда ширина должна быть правильной у всех пользователей сразу.
Способ зависит от того, где именно лежит колонка. Список или журнал в обычной форме, результат отчёта, макет печатной формы и форма в конфигураторе устроены по-разному. Ниже — каждый случай по порядку, от самого простого к тому, что требует доступа к конфигурации.
Где вы меняете колонку и какой способ подойдёт
Сначала определитесь, с чем работаете. От этого зависит и результат: останется ширина после закрытия окна или нет.
| Где колонка | Как менять | Сохранится ли | Кому доступно |
|---|---|---|---|
| Список, журнал, табличная часть документа | Тянуть границу заголовка мышью | Да, в настройках пользователя | Любому пользователю |
| Результат отчёта | Тянуть границу в строке заголовков | Обычно нет, при формировании заново сбрасывается | Любому пользователю |
| Макет печатной формы | Редактор макета в конфигураторе или в режиме разработки | Да, для всех | Разработчику, администратору |
| Форма объекта | Свойства элемента формы в конфигураторе | Да, для всех | Разработчику |
| Программно | Свойства области или элемента формы в коде | Зависит от места вызова | Программисту |
Если вопрос звучит как «почему у меня так, а у коллеги иначе» — это почти всегда личные настройки формы. Их ширина колонок хранится отдельно для каждого пользователя.
Расширить колонку мышью в списке или табличной части
Это основной способ, и он работает в любой конфигурации на управляемых формах: Бухгалтерия, ЗУП, Управление торговлей, Розница.
- Откройте список или документ, где колонка слишком узкая.
- Наведите курсор на вертикальную границу между заголовками колонок. Справа от нужной колонки стрелка изменит вид на двунаправленную.
- Зажмите левую кнопку и тяните вправо, чтобы расширить, или влево, чтобы сузить.
- Отпустите кнопку. Соседние колонки сдвинутся, а если места мало — внизу или сбоку появится полоса прокрутки.
Самая частая ошибка — тянуть не ту границу. Граница меняет ширину колонки, которая стоит слева от неё. Хотите расширить «Контрагента» — схватите границу между «Контрагентом» и следующим заголовком.
Порядок и видимость колонок
Узкая колонка бывает узкой не потому, что вы её сузили, а потому что рядом много лишнего. В интерфейсе «Такси» в командной панели списка есть меню «Ещё» и в нём команда «Изменить форму». Через неё можно убрать ненужные колонки или переставить их, и тогда оставшимся достанется больше места.
Если в таблице стало слишком тесно, сначала уберите колонки, которыми вы не пользуетесь. Расширять оставшиеся придётся реже.
Вернуть всё как было
Растянули одну колонку на полэкрана и не знаете, как вернуть? В том же меню «Ещё» формы ищите команду, возвращающую стандартные настройки формы. Она сбрасывает не только ширину, но и порядок колонок, и положение панелей, поэтому используйте её, когда хотите вернуть форму целиком.
Сброс настроек формы затрагивает только вашего пользователя. Другие сотрудники ничего не заметят.
Результат отчёта: тянем границу в самом отчёте
Отчёт — это табличный документ, который собирается на лету. Поэтому ширина колонок в нём ведёт себя иначе: платформа сама определяет её при каждом формировании по макету отчёта.
Если колонка не вмещает значение, поступите так:
- Сформируйте отчёт.
- Найдите строку с обозначениями колонок над таблицей. Если её нет, включите показ заголовков в настройках внешнего вида отчёта.
- Потяните границу нужной колонки мышью, как в обычной таблице.
Учтите: ширина, выставленная руками, пропадёт при следующем нажатии «Сформировать». Платформа заново применит значения из настройки отчёта. Для разовой распечатки это не страшно. Если нужна постоянная ширина, правят уже не результат, а настройку или макет отчёта (о макете ниже).
Ещё один приём для отчётов: выгрузить результат в Excel и подогнать ширину там. Это не лучший вариант для регулярной работы, но для разового запроса от руководителя подходит.
Табличный документ и макет печатной формы
Печатные формы, внешние отчёты и обработки хранят оформление в макетах. Макет — это тоже табличный документ, только в режиме редактирования. Именно его ширина колонок определяет, как выглядит документ при печати.
Изменение в редакторе макета
- В конфигураторе откройте нужный объект: документ, справочник, отчёт или обработку.
- В ветке «Макеты» откройте макет двойным щелчком.
- Выделите нужную колонку, щёлкнув по её номеру в верхней строке заголовков.
- Вызовите контекстное меню и выберите пункт, меняющий ширину колонки. Введите значение и подтвердите. Либо просто потяните границу колонки мышью.
- Сохраните объект и проверьте результат через «Предварительный просмотр» или запуском 1С:Предприятие.
Выделять можно сразу несколько колонок: тогда ширина применится ко всем. Это удобно для таблицы с повторяющимися числовыми колонками.
Что учесть при работе с макетом
- Все секции макета опираются на одну сетку колонок. Если в «Шапке» колонка В широкая, то в «Строке» она тоже будет широкой. Нужна другая раскладка — объединяйте ячейки, а не меняйте ширину для одной секции.
- Менять макет типовой конфигурации на поддержке можно только осознанно: объект придётся снять с поддержки, а при обновлении релиза потом придётся сравнивать изменения. Безопаснее переносить правки через расширение конфигурации .
- Для внешней печатной формы, которая подключается из справочника «Дополнительные отчёты и обработки», достаточно открыть файл обработки в конфигураторе и поправить макет там.
Перед правкой макета в рабочей конфигурации сохраните копию информационной базы или хотя бы выгрузите конфигурацию в файл. Ошибка в макете ломает печать документа у всех пользователей.
Ширина колонок в форме: правка в конфигураторе
Если пользователи жалуются, что колонка в списке всегда по умолчанию узкая, правят саму форму. Тогда ширину получают все, у кого нет личных настроек.
- Откройте нужную форму в конфигураторе (например, форму списка справочника или форму документа).
- В дереве элементов найдите таблицу и раскройте её колонки.
- Выделите колонку и откройте палитру свойств.
- Поменяйте нужные свойства.
Что именно можно задать у колонки формы:
| Свойство | Для чего |
|---|---|
| Ширина | Желаемая ширина, измеряется в символах шрифта |
| Максимальная ширина | Верхний предел, чтобы длинный текст не растягивал колонку |
| Автоматическая максимальная ширина | Платформа сама ограничивает рост колонки |
| Растягивать по горизонтали | Колонка забирает свободное место таблицы |
Практический совет: растягивать по горизонтали делайте для одной колонки, обычно для самой текстовой — наименования или комментария. Если растягиваются сразу несколько, свободное место делится между ними, и результат часто неожиданный.
Для числовых колонок задавайте ширину исходя из самой длинной суммы. Для сумм до миллиарда с копейками хватает 14–16 символов. Меньше — и вместо числа увидите решётки.
Форма сохранила чужую настройку
После правки в конфигураторе пользователи могут не увидеть изменений: у них уже сохранена своя ширина. Платформа приоритетно применяет пользовательские настройки. Чтобы увидеть новое значение, пользователю нужно сбросить настройки формы, как описано выше.
Менять ширину из кода
Программная смена ширины нужна в двух случаях: при формировании собственного отчёта или печатной формы и при подстройке формы под данные.
Табличный документ
У области табличного документа есть свойство ШиринаКолонки. Обращаться удобнее всего по номерам строк и колонок. В формулах 1С колонки считаются с единицы, а нулевая строка означает «колонка целиком».
ТабДок = Новый ТабличныйДокумент;
// ... вывод данных ...
// Третья колонка целиком: строки 0..0, колонки 3..3
Область = ТабДок.Область(0, 3, 0, 3);
Область.ШиринаКолонки = 28;
Ширина здесь тоже задаётся в символах. Подбирайте её по самому длинному значению и проверяйте на реальных данных: на коротком тестовом наборе всё влезает, а на живом контрагенте с длинным названием обрезается.
Колонка формы
У элемента формы тоже есть свойство Ширина. Меняют его на клиенте после открытия формы:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Элементы.СписокНаименование.Ширина = 40;
КонецПроцедуры
Имя элемента зависит от формы: смотрите его в дереве элементов конфигуратора. Если элемента с таким именем нет, форма вызовет ошибку при открытии, поэтому после правки обязательно запустите её.
Код нужен, когда ширина зависит от данных или режима. Если ширина всегда одна и та же, надёжнее задать её свойством в конфигураторе, а не кодом: так её проще найти и поправить.
Автоподбор и экономия места
Постоянно двигать границы утомительно. Несколько приёмов, после которых колонки перестают лезть за край:
- Уберите лишние колонки через «Ещё → Изменить форму». Освободившееся место перераспределится.
- Включите перенос текста в колонках с длинным наименованием, если в форме предусмотрена такая настройка. Текст пойдёт в несколько строк, а ширина останется компактной.
- Задайте максимальную ширину для колонок, которые растут от содержимого, и растягивание для одной главной колонки.
- Увеличьте окно: развернуть форму на весь экран и закрыть боковую панель разделов часто быстрее, чем перенастраивать колонки.
- Проверьте масштаб интерфейса. Если в настройках 1С включён крупный масштаб, а экран небольшой, любая таблица кажется тесной.
Решётки «#####» вместо суммы — отдельный случай. Это не баг, а сигнал, что число не помещается в ширину. Расширьте колонку, и значение появится.
Мини-кейс: наименование номенклатуры обрезается в подборе
Ситуация из практики. В табличной части документа реализации колонка «Номенклатура» показывает только первые 15 символов, а названия товаров длинные. Менеджеры каждое утро растягивают её заново.
Что происходит: у пользователей сохранена старая узкая ширина, а в форме для колонки задана небольшая фиксированная. Решение в три шага:
- В конфигураторе откройте форму документа и выберите колонку «Номенклатура».
- Включите для неё растягивание по горизонтали, а у остальных колонок задайте фиксированную ширину по самому длинному значению.
- Сообщите пользователям, что нужно один раз сбросить настройки формы. После этого колонка займёт всё свободное место и будет подстраиваться под размер окна.
Так вы убираете причину, а не лечите симптом у каждого сотрудника по отдельности.
Если ничего не получается
Несколько ситуаций, когда мышь «не слушается»:
- Граница не двигается. В таблицах без пользовательских настроек, например в некоторых диалогах, ширина зафиксирована разработчиком. Здесь поможет только правка формы.
- Колонка возвращается после закрытия. Это отчёт или форма, которая сбрасывает настройки при открытии. Либо у пользователя не сохраняются настройки: проверьте, не запрещена ли запись настроек политикой безопасности и не открывается ли база под гостевой учётной записью.
- После обновления конфигурации всё «поехало». Новая версия формы может не совпасть со старыми пользовательскими настройками. Сбросьте настройки формы.
- В макете ширина колонки не меняется. Проверьте, не объединены ли ячейки в этой колонке: при объединении ширина считается по сумме колонок.
- Печатная форма изменилась на экране, но не при печати. Вы правили результат, а не макет. Меняйте макет.