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

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

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

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

Модуль собственной обычной формы, толстый клиент.

Подготовка

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

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

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

  4. Добавьте реквизит ЛистУрока типа ТабличныйДокумент и обычное поле табличного документа с данными ЛистУрока. Разрешите редактирование собственного листа.

  5. Выделяйте разные ячейки, а для ПриИзмененииСодержимогоОбласти вручную измените текст своей ячейки. Ни файл, ни печать не нужны.

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

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

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

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

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

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

  1. Статус и счётчик меняются после указанного интерактивного действия. Перемещение курсора не подменяет изменение содержимого.

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

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

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

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

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

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

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

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

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

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

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

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