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

Учебные задачи

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

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

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

Подготовка

  1. В учебной конфигурации создайте собственную обработку УчебнаяГрафическаяСхема с управляемой формой, запуск — тонкий клиент.

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

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

  4. В макетах собственной обработки создайте макет СхемаКниги типа ГрафическаяСхема. Нарисуйте два своих блока Обработка с подписями Книга и Тетрадь и сохраните макет.

  5. Добавьте реквизит СхемаУрока типа ГрафическаяСхема и соответствующее поле графической схемы с тем же источником данных. Назначьте его событие ПриАктивизации.

  6. В форме щёлкните один блок, затем другой; можно переключаться Tab. Это собственная схема, не карта маршрута рабочего бизнес-процесса.

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

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

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

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

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

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

  1. Счётчик отражает реальную смену текущего блока, а не создание графической схемы.

  2. Обработчик не меняет саму схему, не вызывает сервер и не запускает бизнес-процесс.

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

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

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

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

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

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

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

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

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

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

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