Перейти к основному содержимому

Обработка интерфейсных событий

Подавляющее большинство компонентов имеют обработчики событий, которые принимают два параметра: Источник и Событие.

Источник — это тот компонент, который вызвал событие.

Событие — это экземпляр, содержащий входные и выходные параметры события. Если «1С:Исполнитель» должен предоставить вам какие-то данные для этого события, то эти данные находятся, скорее всего, в свойствах этого экземпляра. Если вам нужно передать какие-то данные «1С:Исполнителю» или как-то повлиять на его поведение, то это также делается через свойства этого экземпляра.

Рассмотрим несколько простых примеров. Компонент ПолеВвода имеет событие ПриАвтоПодборе, в котором вы можете отказаться от стандартного списка подходящих значений, который формирует «1С:Исполнитель», создать собственный список, а также просто проанализировать текст, введенный в поле.

Внутри обработчика событий эти действия доступны следующим образом:

метод ПолеВводаПриАвтоПодборе(Источник: ПолеВвода<Строка>, Событие: СобытиеПриАвтоПодборе)

// Отказаться от стандартной обработки
Событие.СтандартнаяОбработка = Ложь

// Установить собственный список выбора, например пустой
Событие.ЗначенияАвтоПодбора = новый Массив<ЭлементСпискаЗначений>()

// Получить текст, введенный в поле
пер ВведенныйТекст = Событие.Текст
;

Другой пример. У многих компонентов есть событие ПриИзменении. В нем вам доступны старое и новое значения следующим образом:

метод ПолеВводаПриИзменении(Источник: ПолеВвода<Строка>, Событие: СобытиеПриИзменении<Строка>)

// Старое значение
пер СтароеЗначение = Событие.СтароеЗначение

// Новое значение
пер НовоеЗначение = Событие.НовоеЗначение
;

Обратите внимание, что в обработчики приходят события разных типов, это определяется «видом» события, например:

  • СобытиеПередИзменением
  • СобытиеПриАвтоПодборе
  • СобытиеПриИзменении
  • СобытиеПриНажатии
  • СобытиеПриПеретаскивании
  • СобытиеПриПоиске
  • СобытиеСДанными

Как и другие методы, обработчик события описывается в соответствующем модуле встроенного языка. Чтобы создать обработчик события автоматически, на панели свойств выбранного компонента перейдите к группе свойств СОБЫТИЯ, выберите интересующее вас событие и нажмите на значок лупы:

Автоматически сгенерированный обработчик события появится в модуле компонента (см. примеры выше).

Имя обработчика генерируется автоматически с использованием следующих схем:

  • Если имя компонента не указано:

    • ТипКомпонента + ИмяСобытия.

    Например, так для компонента ПолеВвода будет называться обработчик события ПриАвтоПодборе:

    • ПолеВводаПриАвтоПодборе.
  • Если имя компонента указано:

    • ИмяКомпонента + ИмяСобытия.

    Например, так для компонента ПолеВводаИмя будет называться обработчик события ПриИзменении:

    • ПолеВводаИмяПриИзменении.