РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца

Свойства · LockOwner

Режим блокировки при открытии формы, при котором форма открывается поверх владельца. При открытии формы в таком режиме блокируется работа окна-владельца. В интерфейсах "В отдельных окнах", "В закладках", "Такси" и "Версия 8.5" в варианте открытия окон ОткрыватьДанныеВоВкладках блокируемое окно определяется следующим образом: Если в свойстве ВладелецФормы задана форма и эта форма не закрыта, блокируется окно этой формы. Если в свойстве ВладелецФормы задан элемент формы и эта форма не закрыта, блокируется окно формы, которому принадлежит этот элемент. Если в свойстве ВладелецФормы задано значение Неопределено или форма владельца закрыта, блокируется окно, которое является текущим окном клиентского приложения на момент открытия формы. В интерфейсе "Версия 8.5" в варианте открытия окон ОткрыватьДанныеВДиалоговыхОкнах форма всегда открывается в диалоговом окне. Окно владельца блокируется, если оно задано в свойстве ВладелецФормы и соответствующая форма не закрыта. Если свойство ВладелецФормы не задано или форма владельца закрыта, блокировка окна не выполняется. Свойство РежимОтображенияОкна всегда интерпретируется как ВДиалоговомОкне.

Полное описание, параметры и ограничения

РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца (OnFormWindowOpenLockMode.LockOwner)

РежимБлокировкиПриОткрытииОкнаФормы (OnFormWindowOpenLockMode)

БлокироватьВладельца (LockOwner)

Доступен, начиная с версии 8.5.1.

Описание:
Режим блокировки при открытии формы, при котором форма открывается поверх владельца. При открытии формы в таком режиме блокируется работа окна-владельца.

В интерфейсах "В отдельных окнах", "В закладках", "Такси" и "Версия 8.5" в варианте открытия окон ОткрыватьДанныеВоВкладках блокируемое окно определяется следующим образом:
Если в свойстве ВладелецФормы задана форма и эта форма не закрыта, блокируется окно этой формы.

Если в свойстве ВладелецФормы задан элемент формы и эта форма не закрыта, блокируется окно формы, которому принадлежит этот элемент.

Если в свойстве ВладелецФормы задано значение Неопределено или форма владельца закрыта, блокируется окно, которое является текущим окном клиентского приложения на момент открытия формы.

В интерфейсе "Версия 8.5" в варианте открытия окон ОткрыватьДанныеВДиалоговыхОкнах форма всегда открывается в диалоговом окне. Окно владельца блокируется, если оно задано в свойстве ВладелецФормы и соответствующая форма не закрыта.
Если свойство ВладелецФормы не задано или форма владельца закрыта, блокировка окна не выполняется.
Свойство РежимОтображенияОкна всегда интерпретируется как ВДиалоговомОкне.
Использование в версии:

Доступен, начиная с версии 8.5.1.

Методическая информация

Практические примеры

Применить РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца к собственной форме

Подготовлены конкретный владелец / дочерняя форма, настоящая команда или связанное дополнение. Настройка не выдаётся за выполнение операции с рабочими данными.

Где и как запускать

Своя форма Родитель: клиентская команда ОткрытьСвойДиалог до открытия дочерней формы.

Подготовка

  1. В своей учебной конфигурации создайте обработку УчебныеОкна с двумя управляемыми формами: Родитель и УчебныйДиалог. Родитель назначьте основной; в дочерней разместите свою надпись Учебная книга и кнопку штатной команды Закрыть.

  2. В Родитель создайте команду ОткрытьСвойДиалог и её кнопку. Основной код — клиентский обработчик этой команды; пользователь сначала открывает Родитель.

  3. ПолучитьФорму получает именно свою дочернюю форму с настоящим владельцем. Свой UUID обеспечивает отдельное получение, настройки задаются до Открыть. Не открывайте и не закрывайте её в одном вызове.

  4. Интерфейс «Версия 8.5». Дочерняя открывается в диалоговом окне; режим блокировки сравнивается отдельно от способа отображения.

&НаКлиенте
Процедура ОткрытьСвойДиалог(Команда)
    ПараметрыДиалога = Новый Структура;
    Дочерняя = ПолучитьФорму("Обработка.УчебныеОкна.Форма.УчебныйДиалог",
        ПараметрыДиалога, ЭтаФорма, Новый УникальныйИдентификатор);
    Дочерняя.РежимОтображенияОкна = РежимОтображенияОкнаФормы.ВДиалоговомОкне;
    Дочерняя.РежимБлокировкиПриОткрытииОкна = РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца;
    Дочерняя.Открыть();
    Сообщить("Открыта собственная форма: БлокироватьВладельца");
КонецПроцедуры

Разбор по шагам

  1. Создайте описанные собственные формы и элементы, не используйте формы рабочей конфигурации.

  2. Назначьте код нужной команде либо серверному событию создания формы.

  3. Сравните указанный режим и выполните безопасное действие собственной кнопки / поиска.

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

  1. Сравните доступность Родитель и остального интерфейса / место открытия собственной дочерней формы согласно выбранному режиму.

  2. Закройте дочернюю штатной кнопкой. Открыть здесь не является ОткрытьМодально; выполнение команды продолжается после открытия.

Ожидаемый результат

Свойство применено к действительному подготовленному объекту в документированном контексте.

На что обратить внимание

  1. Старый РежимОткрытияОкна и новые свойства отображения / блокировки имеют разную применимость.

  2. Дополнение, кнопка и команда — разные объекты формы; похожее имя не создаёт связь автоматически.

  3. BSL при сборке HTML не выполнялся; ручная проверка интерфейса 1С остаётся необходимой.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.