Пример описания компонента интерфейса

В качестве примера рассмотрим группу с кнопкой, которая показывается в форме.

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

Он имеет собственное свойство НомерНажатия, собственное событие ПриИзмененииСчетчика, переопределяет базовые свойства ЦветФона и Рамка, а также содержит описание экземпляра системного компонента Кнопка, у которого назначен обработчик события ПриНажатии.

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 287b8298-cecd-4620-acd7-c74986f47d24
Имя: ГруппаСКнопкой

# Собственные свойства компонента
Свойства: 
    -
        Имя: НомерНажатия
        Тип: Число
        ЗначениеПоУмолчанию: 0

# Собственные события компонента
События:
    -
        Имя: ПриИзмененииСчетчика
        Тип: СобытиеСДанными<Число>

Наследует:
    Тип: ОбычнаяГруппа

    # Переопределение базовых свойств
    ЦветФона: =Цвета.Желтый
    Рамка: Истина
    Содержимое: 
        -
            # Описание экземпляра системного компонента Кнопка
            Тип: Кнопка
            Имя: КнопкаВГруппе
            Заголовок: Это кнопка в группе
            ПриНажатии: ОбработчикПриНажатииКнопки

Модуль компонента ГруппаСКнопкой содержит обработчик события кнопки ПриНажатии. В этом методе вызывается собственное событие компонента ПриИзмененииСчетчика.

// Обработчик системного события КнопкаВГруппе.ПриНажатии
метод ОбработчикПриНажатииКнопки(Источник: Кнопка, Событие: СобытиеПриНажатии)

    // Вызов собственного события ГруппаСКнопкой.ПриНажатии
    ПриИзмененииСчетчика(новый СобытиеСДанными(НомерНажатия)) 

    НомерНажатия +=1

    // Тестовое уведомление
    пер Уведомление = новый Уведомление("Системное событие кнопки", 
                                        "Номер нажатия: " + НомерНажатия.Представление())
    Уведомление.Показать() 
;

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

ВидЭлемента: КомпонентИнтерфейса
Ид: 451a456a-8955-4774-94f7-590cc6fcadfc
Имя: ФормаГруппаСКнопкой
ОбластьВидимости: ВПроекте
Наследует:
    Тип: Форма
    ВключатьВАвтоИнтерфейс: Истина
    Содержимое:

        # Описание экземпляра компонента интерфейса ГруппаСКнопкой
        Тип: ГруппаСКнопкой
        Имя: ГруппаСКнопкой

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

Модуль компонента формы ФормаГруппаСКнопкой содержит обработчик события группы ПриНажатии.

метод ОбработчикПриИзмененииСчетчика(Источник: ГруппаСКнопкой, Событие: СобытиеСДанными<Число>)

    // Тестовое уведомление
    пер Уведомление = новый Уведомление("Собственное событие группы", 
                                        "Номер нажатия: " + Событие.Данные)
    Уведомление.Показать() 

;

В результате при нажатии на кнопку сначала появляется уведомление от обработчика собственного события группы, а затем — от системного события кнопки.