Колонка не влезает: меняем её ширину в списках, отчётах и макетах 1С

· 9 мин

Содержание

Наименование контрагента обрезано до трёх букв, сумма превратилась в «#####», а в отчёте половина текста ушла за край. Многие думают, что для этого нужен программист. Нет: в большинстве случаев хватает мыши. Нужен программист или конфигуратор только тогда, когда ширина должна быть правильной у всех пользователей сразу.

Способ зависит от того, где именно лежит колонка. Список или журнал в обычной форме, результат отчёта, макет печатной формы и форма в конфигураторе устроены по-разному. Ниже — каждый случай по порядку, от самого простого к тому, что требует доступа к конфигурации.

Где вы меняете колонку и какой способ подойдёт

Сначала определитесь, с чем работаете. От этого зависит и результат: останется ширина после закрытия окна или нет.

Где колонкаКак менятьСохранится лиКому доступно
Список, журнал, табличная часть документаТянуть границу заголовка мышьюДа, в настройках пользователяЛюбому пользователю
Результат отчётаТянуть границу в строке заголовковОбычно нет, при формировании заново сбрасываетсяЛюбому пользователю
Макет печатной формыРедактор макета в конфигураторе или в режиме разработкиДа, для всехРазработчику, администратору
Форма объектаСвойства элемента формы в конфигуратореДа, для всехРазработчику
ПрограммноСвойства области или элемента формы в кодеЗависит от места вызоваПрограммисту

Если вопрос звучит как «почему у меня так, а у коллеги иначе» — это почти всегда личные настройки формы. Их ширина колонок хранится отдельно для каждого пользователя.

Расширить колонку мышью в списке или табличной части

Это основной способ, и он работает в любой конфигурации на управляемых формах: Бухгалтерия, ЗУП, Управление торговлей, Розница.

  1. Откройте список или документ, где колонка слишком узкая.
  2. Наведите курсор на вертикальную границу между заголовками колонок. Справа от нужной колонки стрелка изменит вид на двунаправленную.
  3. Зажмите левую кнопку и тяните вправо, чтобы расширить, или влево, чтобы сузить.
  4. Отпустите кнопку. Соседние колонки сдвинутся, а если места мало — внизу или сбоку появится полоса прокрутки.

Самая частая ошибка — тянуть не ту границу. Граница меняет ширину колонки, которая стоит слева от неё. Хотите расширить «Контрагента» — схватите границу между «Контрагентом» и следующим заголовком.

Порядок и видимость колонок

Узкая колонка бывает узкой не потому, что вы её сузили, а потому что рядом много лишнего. В интерфейсе «Такси» в командной панели списка есть меню «Ещё» и в нём команда «Изменить форму». Через неё можно убрать ненужные колонки или переставить их, и тогда оставшимся достанется больше места.

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

Вернуть всё как было

Растянули одну колонку на полэкрана и не знаете, как вернуть? В том же меню «Ещё» формы ищите команду, возвращающую стандартные настройки формы. Она сбрасывает не только ширину, но и порядок колонок, и положение панелей, поэтому используйте её, когда хотите вернуть форму целиком.

Сброс настроек формы затрагивает только вашего пользователя. Другие сотрудники ничего не заметят.

Результат отчёта: тянем границу в самом отчёте

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

Если колонка не вмещает значение, поступите так:

  1. Сформируйте отчёт.
  2. Найдите строку с обозначениями колонок над таблицей. Если её нет, включите показ заголовков в настройках внешнего вида отчёта.
  3. Потяните границу нужной колонки мышью, как в обычной таблице.

Учтите: ширина, выставленная руками, пропадёт при следующем нажатии «Сформировать». Платформа заново применит значения из настройки отчёта. Для разовой распечатки это не страшно. Если нужна постоянная ширина, правят уже не результат, а настройку или макет отчёта (о макете ниже).

Ещё один приём для отчётов: выгрузить результат в Excel и подогнать ширину там. Это не лучший вариант для регулярной работы, но для разового запроса от руководителя подходит.

Табличный документ и макет печатной формы

Печатные формы, внешние отчёты и обработки хранят оформление в макетах. Макет — это тоже табличный документ, только в режиме редактирования. Именно его ширина колонок определяет, как выглядит документ при печати.

Изменение в редакторе макета

  1. В конфигураторе откройте нужный объект: документ, справочник, отчёт или обработку.
  2. В ветке «Макеты» откройте макет двойным щелчком.
  3. Выделите нужную колонку, щёлкнув по её номеру в верхней строке заголовков.
  4. Вызовите контекстное меню и выберите пункт, меняющий ширину колонки. Введите значение и подтвердите. Либо просто потяните границу колонки мышью.
  5. Сохраните объект и проверьте результат через «Предварительный просмотр» или запуском 1С:Предприятие.

Выделять можно сразу несколько колонок: тогда ширина применится ко всем. Это удобно для таблицы с повторяющимися числовыми колонками.

Что учесть при работе с макетом

  • Все секции макета опираются на одну сетку колонок. Если в «Шапке» колонка В широкая, то в «Строке» она тоже будет широкой. Нужна другая раскладка — объединяйте ячейки, а не меняйте ширину для одной секции.
  • Менять макет типовой конфигурации на поддержке можно только осознанно: объект придётся снять с поддержки, а при обновлении релиза потом придётся сравнивать изменения. Безопаснее переносить правки через расширение конфигурации .
  • Для внешней печатной формы, которая подключается из справочника «Дополнительные отчёты и обработки», достаточно открыть файл обработки в конфигураторе и поправить макет там.

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

Ширина колонок в форме: правка в конфигураторе

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

  1. Откройте нужную форму в конфигураторе (например, форму списка справочника или форму документа).
  2. В дереве элементов найдите таблицу и раскройте её колонки.
  3. Выделите колонку и откройте палитру свойств.
  4. Поменяйте нужные свойства.

Что именно можно задать у колонки формы:

СвойствоДля чего
ШиринаЖелаемая ширина, измеряется в символах шрифта
Максимальная ширинаВерхний предел, чтобы длинный текст не растягивал колонку
Автоматическая максимальная ширинаПлатформа сама ограничивает рост колонки
Растягивать по горизонталиКолонка забирает свободное место таблицы

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

Для числовых колонок задавайте ширину исходя из самой длинной суммы. Для сумм до миллиарда с копейками хватает 14–16 символов. Меньше — и вместо числа увидите решётки.

Форма сохранила чужую настройку

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

Менять ширину из кода

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

Табличный документ

У области табличного документа есть свойство ШиринаКолонки. Обращаться удобнее всего по номерам строк и колонок. В формулах 1С колонки считаются с единицы, а нулевая строка означает «колонка целиком».

ТабДок = Новый ТабличныйДокумент;
// ... вывод данных ...

// Третья колонка целиком: строки 0..0, колонки 3..3
Область = ТабДок.Область(0, 3, 0, 3);
Область.ШиринаКолонки = 28;

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

Колонка формы

У элемента формы тоже есть свойство Ширина. Меняют его на клиенте после открытия формы:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Элементы.СписокНаименование.Ширина = 40;
КонецПроцедуры

Имя элемента зависит от формы: смотрите его в дереве элементов конфигуратора. Если элемента с таким именем нет, форма вызовет ошибку при открытии, поэтому после правки обязательно запустите её.

Код нужен, когда ширина зависит от данных или режима. Если ширина всегда одна и та же, надёжнее задать её свойством в конфигураторе, а не кодом: так её проще найти и поправить.

Автоподбор и экономия места

Постоянно двигать границы утомительно. Несколько приёмов, после которых колонки перестают лезть за край:

  • Уберите лишние колонки через «Ещё → Изменить форму». Освободившееся место перераспределится.
  • Включите перенос текста в колонках с длинным наименованием, если в форме предусмотрена такая настройка. Текст пойдёт в несколько строк, а ширина останется компактной.
  • Задайте максимальную ширину для колонок, которые растут от содержимого, и растягивание для одной главной колонки.
  • Увеличьте окно: развернуть форму на весь экран и закрыть боковую панель разделов часто быстрее, чем перенастраивать колонки.
  • Проверьте масштаб интерфейса. Если в настройках 1С включён крупный масштаб, а экран небольшой, любая таблица кажется тесной.

Решётки «#####» вместо суммы — отдельный случай. Это не баг, а сигнал, что число не помещается в ширину. Расширьте колонку, и значение появится.

Мини-кейс: наименование номенклатуры обрезается в подборе

Ситуация из практики. В табличной части документа реализации колонка «Номенклатура» показывает только первые 15 символов, а названия товаров длинные. Менеджеры каждое утро растягивают её заново.

Что происходит: у пользователей сохранена старая узкая ширина, а в форме для колонки задана небольшая фиксированная. Решение в три шага:

  1. В конфигураторе откройте форму документа и выберите колонку «Номенклатура».
  2. Включите для неё растягивание по горизонтали, а у остальных колонок задайте фиксированную ширину по самому длинному значению.
  3. Сообщите пользователям, что нужно один раз сбросить настройки формы. После этого колонка займёт всё свободное место и будет подстраиваться под размер окна.

Так вы убираете причину, а не лечите симптом у каждого сотрудника по отдельности.

Если ничего не получается

Несколько ситуаций, когда мышь «не слушается»:

  • Граница не двигается. В таблицах без пользовательских настроек, например в некоторых диалогах, ширина зафиксирована разработчиком. Здесь поможет только правка формы.
  • Колонка возвращается после закрытия. Это отчёт или форма, которая сбрасывает настройки при открытии. Либо у пользователя не сохраняются настройки: проверьте, не запрещена ли запись настроек политикой безопасности и не открывается ли база под гостевой учётной записью.
  • После обновления конфигурации всё «поехало». Новая версия формы может не совпасть со старыми пользовательскими настройками. Сбросьте настройки формы.
  • В макете ширина колонки не меняется. Проверьте, не объединены ли ячейки в этой колонке: при объединении ширина считается по сумме колонок.
  • Печатная форма изменилась на экране, но не при печати. Вы правили результат, а не макет. Меняйте макет.

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

Почему я расширил колонку, а у коллеги осталась прежней?
Ширина колонок в списках — личная настройка пользователя. Чтобы она была одинаковой у всех, её нужно задать в самой форме в конфигураторе.
Можно ли сохранить ширину колонок в отчёте?
Руками выставленная ширина обычно не сохраняется и сбрасывается при повторном формировании. Постоянную ширину задают в макете или настройках самого отчёта.
Что делать, если вместо суммы в ячейке «#####»?
Колонка слишком узкая для числа. Потяните границу вправо или увеличьте ширину в макете, пока значение не появится.
Какая единица измерения у ширины колонки?
Ширину задают в условных символах шрифта, а не в пикселях и миллиметрах. Поэтому на экранах с разным масштабом реальный размер немного отличается.
Нужно ли снимать конфигурацию с поддержки ради ширины колонки?
Для личных настроек нет: достаточно мыши. Если правите типовой макет или форму, объект придётся снять с поддержки или внести правку через расширение конфигурации.