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