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

Базовые компоненты интерфейса

Компонент интерфейса получает все свойства, методы и события базового компонента (системного компонента, от которого он унаследован). Вы можете добавить ему собственные свойства и события или переопределить базовые. Тем самым вы создаете собственный компонент, который в дальнейшем будете использовать для описания интерфейса приложения.

совет

Свойства компонента интерфейса могут реализовывать контракт типа.

Описание компонента и использование компонента (описание экземпляра компонента)

Добавляя в проект компонент интерфейса, вы только описываете тип, который будете использовать. Сам компонент при этом не появляется в интерфейсе. Чтобы он появился в каком-либо месте интерфейса, необходимо описать экземпляр этого компонента в составе другого компонента.

примечание

Исключение из этого правила составляют компоненты, унаследованные от абстрактного компонента КлиентскоеПриложение: СтандартноеКлиентскоеПриложениеСРазделами и ПроизвольноеКлиентскоеПриложение. Именно эти компоненты автоматически показывает «1С:Исполнитель» при запуске приложения (подробнее).

примечание

Еще одним исключением из этого правила являются формы. Во-первых, они имеют свойство ВключатьВАвтоИнтерфейс, с помощью которого команда открытия этой формы включается в автоматический интерфейс, а во-вторых, форму можно открыть стандартной или навигационной командой (подробнее).

Экземпляры компонентов описываются, например:

  • в свойстве Содержимое у компонентов ФиксированнаяГруппа, МатричнаяГруппа, Форма, ФормаОбъекта, ФормаСписка и других;
  • в свойстве Меню у компонентов Кнопка и КомпонентВыбора;
  • в свойстве Картинка у компонентов Кнопка и КомпонентВыбора и т. д.

Например, в следующем примере в компоненте с именем МояКнопка описан экземпляр системного компонента Картинка:

ВидЭлемента: КомпонентИнтерфейса
Ид: 3bb6a20e-f859-4ba8-b1de-aa6232473933
Имя: МояКнопка
ОбластьВидимости: ВПодсистеме
Наследует:
Тип: Кнопка
Заголовок: Добавить файлы
Подсказка: Нажмите, чтобы добавить файлы
Картинка:
Имя: КартинкаНаКнопке
Изображение: Вложение.svg

В свою очередь экземпляр этого компонента интерфейса МояКнопка может быть описан в составе другого компонента, например в составе группы МояГруппа:

ВидЭлемента: КомпонентИнтерфейса
Ид: 68f5f2c1-44dd-4b11-8112-2a9f7393ebb5
Имя: МояГруппа
ОбластьВидимости: ВПодсистеме
Наследует:
Тип: ФиксированнаяГруппа
Содержимое:
-
Тип: МояКнопка
Имя: ИмяКнопки
-
Тип: МояКартинка
Имя: ИмяКартинки

Описание одного экземпляра компонента может включать в себя описание экземпляров других компонентов. Например, в следующем примере в содержимом формы описан экземпляр системного компонента ФиксированнаяГруппа, в составе которого описаны два экземпляра системного компонента Флажок с именами ЗагружатьВсе и ПерезаписыватьСтарые:

ВидЭлемента: КомпонентИнтерфейса
Ид: 9f51db7f-c98d-499c-9607-545d5e0a58c2
Имя: МояФормаОбъекта
Наследует:
Тип: ФормаОбъекта<МойСправочник.Объект>
ВключатьВАвтоИнтерфейс: Ложь
Содержимое:
Тип: ПроизвольныйШаблонФормы
Содержимое:
Тип: ФиксированнаяГруппа
Содержимое:
-
Тип: Флажок
Имя: ЗагружатьВсе
Заголовок: Загружать все данные
Значение:
Тип: Булево
Значение: Истина
-
Тип: Флажок
Имя: ПерезаписыватьСтарые
Заголовок: Перезаписывать старые элементы

При описании экземпляра компонента вы можете:

  • переопределить стандартные значения собственных свойств компонента (созданных вами) и базовых свойств;
  • переопределить обработчики базовых событий (при добавлении в проект компонента интерфейса вы могли назначить обработчики его базовых событий, здесь вы можете их переопределить);
  • назначить обработчики собственных событий компонента (при добавлении в проект компонента интерфейса вы могли создать для него события, здесь вы можете назначить обработчики этих событий).

Пример описания компонента вы можете посмотреть здесь.