Расширение группы формы для страниц.ПриСменеСтраницы

События · OnCurrentPageChange

Возникает при переключении с одной страницы на другую.

Синтаксис

ПриСменеСтраницы(<ТекущаяСтраница>)
Полное описание, параметры и ограничения

Расширение группы формы для страниц.ПриСменеСтраницы (Form group extension for pages.OnCurrentPageChange)

Расширение группы формы для страниц (Form group extension for pages)

ПриСменеСтраницы (OnCurrentPageChange)

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

Синтаксис:
ПриСменеСтраницы(<ТекущаяСтраница>)
Параметры:

<ТекущаяСтраница>
Тип: ГруппаФормы.
Новая активная страница.
Описание:

Возникает при переключении с одной страницы на другую.

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

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

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

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

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

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

Разобрать событие «ПриСменеСтраницы» на собственном элементе

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

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

Клиентский обработчик собственной управляемой формы; подготовка данных отдельно в ПриСозданииНаСервере.

Подготовка

  1. Создайте внешнюю обработку с собственной управляемой формой, запуск — тонкий клиент, если ниже не указан другой клиент.

  2. Добавьте СчетчикСобытий (Число 10.0) и СтатусУрока (Строка 200), выведите оба на форму. Дополнительный блок инициализации поместите в модуль этой же формы.

  3. Основной обработчик назначьте через свойства нужного элемента → События. Параметр Элемент добавляется обработчику события элемента формы; у события самой формы его нет. Не создавайте вторую процедуру с тем же именем.

  4. Добавьте группу СтраницыУрока вида Страницы и страницы Книги и Итоги с разными надписями. Назначьте ПриСменеСтраницы группе СтраницыУрока.

  5. После открытия переключитесь на Итоги, затем на Книги. ТекущаяСтраница — элемент ГруппаФормы, не строковое имя.

&НаКлиенте
Процедура СтраницыУрокаПриСменеСтраницы(Элемент, ТекущаяСтраница)
    СчетчикСобытий = СчетчикСобытий + 1;
    Если ТекущаяСтраница = Элементы.Итоги Тогда
        СтатусУрока = "Открыты итоги собственной книги";
    Иначе
        СтатусУрока = "Открыта страница книг";
    КонецЕсли;
    Сообщить(СтатусУрока);
КонецПроцедуры
Та же собственная форма: подготовка до интерактивного действия
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СчетчикСобытий = 0;
    СтатусУрока = "Ожидается действие пользователя";
    Элементы.СтраницыУрока.ТекущаяСтраница = Элементы.Книги;
КонецПроцедуры

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

  1. Разместите указанный элемент и отдельный инициализатор в правильном модуле.

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

  3. Посмотрите собственный статус / результат; не путайте событие с похожими соседними событиями.

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

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

  2. Переключение страницы не записывает реквизиты в базу и не создаёт новую форму.

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

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

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

  1. Не добавляйте Элемент в события самой формы / модуль команды; у событий элементов формы он является контекстным параметром обработчика.

  2. Разные дополнительные блоки относятся к явно названным модулям; одинаковые процедуры инициализации объединяются, а не дублируются.

  3. Код 1С при сборке справочника не исполнялся; сеть, рабочие записи, печать и внешние компоненты не использовались.

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

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

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

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

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