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