Обработка интерфейсных событий
Подавляющее большинство компонентов имеют обработчики событий, которые принимают два параметра: Источник и Событие.
Источник — это тот компонент, который вызвал событие.
Событие — это экземпляр, содержащий входные и выходные параметры события. Если «1С:Исполнитель» должен предоставить вам какие-то данные для этого события, то эти данные находятся, скорее всего, в свойствах этого экземпляра. Если вам нужно передать какие-то данные «1С:Исполнителю» или как-то повлиять на его поведение, то это также делается через свойства этого экземпляра.
Рассмотрим несколько простых примеров. Компонент ПолеВвода имеет событие ПриАвтоПодборе, в котором вы можете отказаться от стандартного списка подходящих значений, который формирует «1С:Исполнитель», создать собственный список, а также просто проанализировать текст, введенный в поле.
Внутри обработчика событий эти действия доступны следующим образом:
метод ПолеВводаПриАвтоПодборе(Источник: ПолеВвода<Строка>, Событие: СобытиеПриАвтоПодборе)
// Отказаться от стандартной обработки
Событие.СтандартнаяОбработка = Ложь
// Установить собственный список выбора, например пустой
Событие.ЗначенияАвтоПодбора = новый Массив<ЭлементСпискаЗначений>()
// Получить текст, введенный в поле
пер ВведенныйТекст = Событие.Текст
;
Другой пример. У многих компонентов есть событие ПриИзменении. В нем вам доступны старое и новое значения следующим образом:
метод ПолеВводаПриИзменении(Источник: ПолеВвода<Строка>, Событие: СобытиеПриИзменении<Строка>)
// Старое значение
пер СтароеЗначение = Событие.СтароеЗначение
// Новое значение
пер НовоеЗначение = Событие.НовоеЗначение
;
Обратите внимание, что в обработчики приходят события разных типов, это определяется «видом» события, например:
- СобытиеПередИзменением
- СобытиеПриАвтоПодборе
- СобытиеПриИзменении
- СобытиеПриНажатии
- СобытиеПриПеретаскивании
- СобытиеПриПоиске
- СобытиеСДанными
Как и другие методы, обработчик события описывается в соответствующем модуле встроенного языка. Чтобы создать обработчик события автоматически, на панели свойств выбранного компонента перейдите к группе свойств СОБЫТИЯ, выберите интересующее вас событие и нажмите на значок лупы:
Автоматически сгенериро ванный обработчик события появится в модуле компонента (см. примеры выше).
Имя обработчика генерируется автоматически с использованием следующих схем:
-
Если имя компонента не указано:
ТипКомпонента + ИмяСобытия
.
Например, так для компонента ПолеВвода будет называться обработчик события ПриАвтоПодборе:
ПолеВводаПриАвтоПодборе
.
-
Если имя компонента указано:
ИмяКомпонента + ИмяСобытия
.
Например, так для компонента ПолеВводаИмя будет называться обработчик события ПриИзменении:
ПолеВводаИмяПриИзменении
.