Глобальный контекст.ПриИзмененииПараметровЭкрана

События · OnChangeDisplaySettings

Возникает при изменении информации, собранной в объекте ИнформацияЭкранаКлиента: разрешение, ориентация и т.п.

Синтаксис

ПриИзмененииПараметровЭкрана()
Полное описание, параметры и ограничения

Глобальный контекст.ПриИзмененииПараметровЭкрана (Global context.OnChangeDisplaySettings)

Глобальный контекст (Global context)

ПриИзмененииПараметровЭкрана (OnChangeDisplaySettings)

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

Синтаксис:
ПриИзмененииПараметровЭкрана()
Описание:

Возникает при изменении информации, собранной в объекте ИнформацияЭкранаКлиента: разрешение, ориентация и т.п.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер, интеграция.

Использование в версии:

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

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

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

ПриИзмененииПараметровЭкрана: собственный модуль ordinary

При настоящем изменении параметров экрана помечаем данные собственной компоновки устаревшими и сохраняем время события.

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

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

Подготовка

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

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

  3. Модуль обычного приложения. Сначала запускается подготовка собственного кэша.

  4. После запуска измените параметры экрана в ОС. Изменение размеров одной формы само по себе не обязано вызывать это событие. Код лишь помечает свой кэш, не меняет настройки дисплея.

Процедура ПриИзмененииПараметровЭкрана()
    УчебныйКеш.Вставить("ЭкранИзменен", ТекущаяДата());
    УчебныйКеш.Вставить("КомпоновкаУстарела", Истина);
    Сообщить("Параметры экрана изменены: собственную компоновку нужно пересчитать отдельно");
КонецПроцедуры
Тот же модуль приложения: объявление и подготовка своего кэша
Перем УчебныйКеш;

Процедура ПриНачалеРаботыСистемы()
    УчебныйКеш = Новый Соответствие;
    УчебныйКеш.Вставить("Урок", "Книга");
    УчебныйКеш.Вставить("Начало", ТекущаяДата());
КонецПроцедуры

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

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

  2. Используется явно подготовленный собственный параметр / кэш / команда, а не неизвестный входной объект.

  3. Соблюдаем ограничения этапа: до окна и после его закрытия не показываем интерфейс, в фоне не выполняем долгую работу.

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

  1. В кэше появился ЭкранИзменен и КомпоновкаУстарела = Истина.

  2. Пересчёт размеров собственной формы — отдельная прикладная операция; он этим кодом не подменяется.

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

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

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

  1. Не смешивайте модули управляемого приложения, обычного приложения, внешнего соединения и сеанса.

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

  3. При сборке HTML сеансы 1С, внешние соединения, системный буфер и BSL не запускались.

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

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

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

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

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