К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как изменить размер формы в 1С

Как изменить размер формы в 1С: настройка у пользователя, свойства формы в конфигураторе, программное изменение размеров, типичные ошибки и проверка результата.

Размер формы в 1С определяется на разных уровнях: пользователь может растянуть окно мышью, разработчик задаёт габариты в конфигураторе, а программный код способен менять размеры и положение элементов при открытии. Конфликт этих уровней — частая причина ситуаций, когда форма «съезжает», обрезает колонки таблицы или открывается слишком маленькой.

Подход к изменению размера зависит от того, о какой форме идёт речь: обычная форма (толстый клиент, старые конфигурации) или управляемая форма (большинство современных решений на платформе 8.3). В управляемых формах размер жёстко в пикселях задаётся редко — платформа сама компонует элементы, а разработчик управляет поведением через свойства растягивания и группировки.

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

Как пользователю изменить размер окна формы без конфигуратора

Самый простой способ — взяться за границу или угол окна формы и перетащить её, как в любой программе Windows. Платформа 1С автоматически сохраняет размер и положение окна в пользовательских настройках: при следующем открытии форма появится в том же виде. Это работает и для управляемых, и для обычных форм.

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

Учтите ограничение: пользовательские настройки хранятся отдельно для каждого пользователя и каждого объекта. Изменив размер формы под собой, вы не повлияете на коллег. Если требуется единый размер для всех — задачу нужно решать на уровне конфигурации.

Как сбросить сохранённые размеры формы

Когда окно открывается «криво» — обрезанным, за пределами экрана или с нулевой шириной — причина почти всегда в повреждённых или устаревших пользовательских настройках. Это типичная ситуация после смены монитора с другим разрешением или после переноса настроек между базами.

Для сброса откройте «Администрирование» → «Пользователи и права» (в типовых конфигурациях название может отличаться) и найдите инструмент очистки пользовательских настроек. Альтернатива — обработка очистки настроек через раздел «Настройки пользователей». Выберите конкретного пользователя и удалите настройки нужной формы или все настройки интерфейса целиком.

Порядок действий
  1. 1
    Закройте проблемную форму
  2. 2
    Откройте раздел управления пользовательскими настройками
  3. 3
    Найдите настройки нужной формы или пользователя
  4. 4
    Удалите сохранённые настройки интерфейса
  5. 5
    Откройте форму заново и проверьте размер

Изменение размера управляемой формы в конфигураторе

В управляемых формах разработчик не задаёт размер окна напрямую — платформа сама рассчитывает компоновку. Управление размерами идёт через свойства элементов. Откройте форму объекта в конфигураторе, выделите элемент (поле, таблицу, группу) и в палитре свойств найдите параметры «Растягивать по горизонтали» и «Растягивать по вертикали».

Логика простая: если элемент должен занимать всё доступное пространство при расширении окна — включите растягивание. Если элемент должен сохранять компактный размер (например, поле ввода короткого кода) — отключите его и при необходимости задайте свойство «Ширина» в символах. Табличные документы и таблицы значений почти всегда должны растягиваться в обе стороны, иначе при большом окне останется пустое место.

Дополнительно используйте свойство «АвтоМаксимальнаяШирина» и «МаксимальнаяШирина», чтобы элементы не разъезжались на широких мониторах. Для групп элементов важно свойство «Группировка»: горизонтальная группа размещает элементы в ряд, вертикальная — столбиком, и от этого зависит, как форма перестраивается при изменении размера.

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

Изменение размера обычной формы

Обычные формы (режим обычного приложения, толстый клиент) работают по другому принципу: здесь элементы имеют явные координаты и размеры, которые можно менять мышью прямо в редакторе формы конфигуратора. Выделите элемент и перетащите его границы, либо задайте точные значения в свойствах «Лево», «Верх», «Ширина», «Высота».

Чтобы элементы следовали за изменением размера окна, используются привязки границ. В свойствах элемента настройте, к каким краям формы он привязан: например, табличное поле обычно привязывают ко всем четырём краям, тогда оно растягивается вместе с окном, а кнопки «ОК» и «Отмена» привязывают к правому нижнему углу.

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

Программное изменение размеров формы и элементов

В управляемых формах программно меняют свойства элементов через объект Элементы. Например, в обработчике ПриСозданииНаСервере или ПриОткрытии можно задать ширину, высоту и видимость элементов в зависимости от условий — роли пользователя, режима работы, данных объекта.

1c
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Элементы.ТаблицаТоваров.Высота = 15;
    Элементы.Комментарий.Ширина = 60;
    Элементы.ТаблицаТоваров.РастягиватьПоГоризонтали = Истина;
КонецПроцедуры

Для обычных форм доступны прямые свойства элементов: Ширина, Высота, Лево, Верх — они изменяются в любой момент работы формы. Размер самого окна можно корректировать через свойства формы, однако злоупотреблять этим не стоит: резкое перемещение окна из кода раздражает пользователей.

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

Расширения конфигурации и типичные ошибки

Современный и безопасный способ изменить форму типовой конфигурации — расширение. В конфигураторе создайте новое расширение, добавьте в него нужную форму через «Добавить в расширение» и измените свойства элементов: ширину, растягивание, группировку. Расширение подключается и отключается без изменения основной конфигурации, а обновления типового решения проходят без конфликтов.

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

Типичные ошибки
01
Включение растягивания у всех элементов подряд — форма разъезжается на широких мониторах и теряет читаемость
02
Фиксированная ширина таблицы без растягивания — при большом окне справа остаётся пустое место, а колонки остаются узкими
03
Изменение типовой формы без расширения и копии — при обновлении конфигурации доработки теряются или ломают обновление
04
Игнорирование сохранённых пользовательских настроек — после правок в конфигураторе у пользователей форма выглядит по-старому, пока не сбросить настройки
05
Программное изменение размеров без проверки на разных разрешениях экрана — форма ломается у пользователей с маленькими мониторами

Проверка результата и выбор подхода

После изменения размеров проверьте форму в реальных условиях: откройте её под обычным пользователем (не разработчиком), измените размер окна вручную, протестируйте на минимальном и максимальном разрешении экрана, которое встречается у пользователей. Убедитесь, что кнопки командной панели не скрываются, таблицы растягиваются, а поля ввода не обрезают значения.

Контрольные точки

Как проверить результат

Поведение при растягивании окна
Норма

Таблицы и многострочные поля увеличиваются, кнопки остаются на месте

Тревожный признак

Появляются пустые области или элементы наезжают друг на друга

Открытие у другого пользователя
Норма

Форма выглядит одинаково у всех

Тревожный признак

У части пользователей сохранились старые размеры — нужен сброс настроек

Минимальное разрешение экрана
Норма

Все элементы доступны, появляются полосы прокрутки при необходимости

Тревожный признак

Кнопки и поля обрезаны без возможности прокрутить

Маршрут решения

Как выбрать действие

Нужно поправить размер только для себяПеретащите границы окна мышью — настройка сохранится автоматически
Форма открывается криво у конкретного пользователяСбросьте его пользовательские настройки интерфейса
Нужно изменить форму для всех в типовой конфигурацииИспользуйте расширение конфигурации, не редактируя типовую форму
Форма собственная, конфигурация дорабатываетсяМеняйте свойства элементов в конфигураторе: растягивание, ширину, группировку
Итог

Что важно запомнить

Пользователь меняет размер формы мышью, и 1С запоминает результат; разработчик управляет размерами через свойства растягивания и группировки в конфигураторе. Типовые формы правьте через расширения, делайте резервные копии и проверяйте результат на разных разрешениях экрана и под разными пользователями.

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

Почему форма после моих правок в конфигураторе у пользователей не изменилась?

У пользователей сохранились старые настройки интерфейса, которые имеют приоритет над настройками по умолчанию. Сбросьте пользовательские настройки формы через раздел администрирования или попросите пользователя восстановить стандартные настройки в меню формы.

Можно ли запретить пользователю менять размер окна?

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

Как сделать, чтобы таблица занимала всё свободное место формы?

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

Что делать, если форма открывается за пределами экрана?

Это следствие сохранённых координат с другого монитора. Закройте форму и сбросьте пользовательские настройки интерфейса — после этого окно откроется с размерами и положением по умолчанию. Если сброс недоступен, попробуйте переместить окно клавиатурой через системное меню Windows.

Потеряются ли изменения размеров формы при обновлении конфигурации?

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

Можно ли задать размер формы в пикселях в управляемом приложении?

Напрямую размер окна в пикселях не задаётся — управляемые формы строятся по правилам компоновки. Размерами управляют через ширину и высоту элементов (в символах и строках), свойства растягивания и группировку, а итоговый размер окна платформа рассчитывает автоматически.