Типы встроенного языка, порождаемые элементом проекта вида «КомпонентИнтерфейса»
После того, как вы добавили в проект компонент интерфейса и дали ему имя, «1С:Исполнитель» создаст один тип встроенного языка. Имя этого типа совпадает с именем вашего компонента.
Например, если в проекте есть компонент с именем ФормаРаздела, то будет создан тип ФормаРаздела
. В общем случае имя этого типа выглядит следующим образом: <ИмяКомпонента>
.
Тип <ИмяКомпонента>
Тип <ИмяКомпонента>
доступен на клиенте. Он содержит:
- свойства и методы базового компонента;
- собственные свойства компонента интерфейса,
- дополнительные свойства и методы, добавляемые «1С:Исполнителем»:
Компоненты
Менеджер
СобственнаяМодифицированность
РассчитаннаяМодифицированность
ОтслеживатьИзменениеДанных()
Компоненты
Это свойство предоставляет доступ ко всем именованным экземплярам компонентов, описанным в данном компоненте(подробнее)
СобственнаяМодифицированность
Автоматически устанавливается в Истина
, когда изменяются свойства самого компонента, у которых установлен признак СохраняемыеДанные
РассчитаннаяМодифицированность
Равен Истина
при выполнении любого из следующих условий:
- Свойство
СобственнаяМодифицированность
равноИстина
- Свойство
РасчитаннаяМодифицированность
у дочернего компонента (у которого включено отслеживание изменения данных методомОтслеживатьИзменениеДанных()
) равноИстина
- Модифицированы данные сущности в форме элемента
ОтслеживатьИзменениеДанных()
Включает или выключает отслеживание изменения данных компонента, переданного первым параметром (А). Если отслеживание включено, то изменение свойства РассчитаннаяМодифицированность
компонента А влияет на свойство РассчитаннаяМодифицированность
этого компонента
Этот тип вы можете использовать при описании экземпляров компонентов, наряду с системными компонентами:
Этот тип вы можете использовать во встроенном языке при конструировании компонентов интерфейса. Пример, показанный выше, может выглядеть так:
пер МояФиксированнаяГруппа = новый ФиксированнаяГруппа(Владелец = этот)
пер ОбычнаяКнопка = новый Кнопка(Владелец = этот, Заголовок = "Обычная кнопка")
пер НеобычнаяКнопка = новый МояКнопка(Владелец = этот, Заголовок = "Необычная кнопка")
// Вариант 1
МояФиксированнаяГруппа.Содержимое.Добавить(ОбычнаяКнопка)
МояФиксированнаяГруппа.Содержимое.Добавить(НеобычнаяКнопка)
// Вариант 2
МояФиксированнаяГруппа.Содержимое = [ОбычнаяКнопка, НеобычнаяКнопка]
В конструкторе компонента интерфейса каждому свойству компонента (за небольшим исключением) соответствует параметр конструктора. Имя параметра совпадает с именем инициализируемого этим параметром свойства компонента.
Для компонентов интерфейса, добавленных в проект, в параметры конструктора включаются как собственные свойства, так и свойства, унаследованные от системного компонента.
Свойства системных компонентов, которые не включаются в конструктор:
- Для всех компонентов
- ЕстьНаведение
- ПолеВвода
- ТекстРедактирования
- ДиапазонВыделения
- ВыборФайлов
- ВыбранныеФайлы
- ПроизвольныйСписок, Таблица
- ВыделеннаяСтрока
- ПроизвольнаяСтрокаСписка, СтрокаСписка
- ДанныеСтроки
- ВсплывающийКомпонент
- Открыт
- ВсплывающееМеню
- Открыт
Свойства компонента интерфейса (добавленного в проект), которые не включаются в конструктор:
- СобственнаяМодифицированность
- РассчитаннаяМодифицированность
- Компоненты
- Менеджер
Модуль компонента
В проекте модуль, расширяющий тип <ИмяКомпонента>
, называется модулем компонента. Он исполняется на клиенте.
В нем вы можете, например, обработать события, унаследованные от базового компонента, и собственные события, которые вы добавили компоненту.
Также, при необходимости, вы можете передать этот экземпляр компонента интерфейса в другой метод, используя ключевое слово этот
:
МойМетод(этот)
В модуле компонента может находиться реализация методов контракта типа.
Тип <ИмяКомпонента>.Компоненты
Тип <ИмяКомпонента>.Компоненты
— это служебный тип, который предоставляет доступ ко всем именованным экземплярам компонентов, описанным в данном компоненте.
Например, есть форма, состоящая из группы, в которой две кнопки: одна с именем, другая — без:
ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 653a4bf3-6988-47ed-9d81-a7d320cc867f
Имя: ФормаКомпоненты
Наследует:
Тип: Форма
Содержи мое:
Тип: ФиксированнаяГруппа
Имя: КорневаяГруппа
Содержимое:
-
Тип: Кнопка
Имя: КнопкаСИменем
Заголовок: Кнопка с именем
-
Тип: Кнопка
Заголовок: Кнопка без имени
Для такой формы коллекция Компоненты
будет содержать два элемента: КнопкаСИменем
и КорневаяГрупппа
: