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

Свойства компонента интерфейса, унаследованного от компонента «ПроизвольныйСписок»

Список произвольного вида с элементами ПроизвольнаяСтрокаСписка.

Иерархия наследования

Свойства

ТипКомпонентаСтроки

Компонент ПроизвольнаяСтрокаСписка или его наследник, который будет использоваться для вывода записи списка

КонтейнерСтрок

Экземпляр компонента, в котором список размещает свои элементы. Например, можно указать матричную группу, с колонками от 100 до 200:

Тип: ПроизвольныйСписок<ИсточникДанныхМассив<Строка>>
ТипКомпонентаСтроки: ЭлементСтрокиСписка
КонтейнерСтрок:
Тип: МатричнаяГруппа
ОписаниеАвтоматическихКолонок:
Ширина: 200
МинимальнаяШирина: 100
АвтоЗаполнение: ДобавлятьКолонкиИСтроки

Или горизонтальную группу вместо вертикальной:

Тип: ПроизвольныйСписок<ИсточникДанныхМассив<Строка>>
ТипКомпонентаСтроки: ЭлементСтрокиСписка
КонтейнерСтрок:
Тип: ФиксированнаяГруппа
Ориентация: Горизонтальная

Если Авто, то «Шина» использует вертикальную ориентацию. Экземпляр компонента описывается следующими свойствами:

Тип

Обязательное. Имя компонента, экземпляр которого вы описываете. Это может быть системный компонент или компонент интерфейса. Пример YAML-файла:

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

Имя

Имя экземпляра компонента. По этому имени можно будет обратиться к экземпляру. Пример YAML-файла:

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

Например, к его свойству Видимость:

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

ОтслеживатьИзменениеДанных

Не обязательное. По умолчанию Ложь.

Если Истина, то «Шина» будет учитывать изменение данных в этом экземпляре при вычислении свойства РассчитаннаяМодифицированность у экземпляра этого компонента интерфейса. Пример YAML-файла:

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

<Свойство компонента>

Значение свойства компонента в этом экземпляре. Если тип свойства составной (включает несколько типов), необходимо указать тип значения. Иначе просто само значение. Пример YAML-файла:

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

<Событие компонента>

Имя метода, обрабатывающего событие компонента в этом экземпляре. Метод должен находиться в модуле компонента. Пример YAML-файла:

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

АвтоВыделениеСтроки

Авто|АвтоВыделениеСтроки. Режим автоматической установки текущей строки: АвтоВыделениеСтроки.ВыделятьПервый и АвтоВыделениеСтроки.Выключено. При значении ВыделятьПервый и если ИспользоватьВыделениеСтроки равно Истина, то при первом отображении списка текущей строкой устанавливается первая строка и вызывается событие ПриВыделенииСтроки. Событие ПриНажатииСтроки в этом случае не вызывается.

ВыделеннаяСтрока

Содержит идентификатор текущего элемента списка или Неопределено, если текущего элемента нет. Идентификаторы элементов списка зависят от типа источника:

ИспользованиеПоиска

Авто|Булево. Управляет отображением поисковой строки. Возможные значения:

  • Авто — строка поиска отображается и задействована при наличии данных, по которым можно выполнять поиск;
  • Истина — строка поиска отображается и задействована вне зависимости от наличия данных, по которым можно выполнять поиск;
  • Ложь — строка поиска не отображается и не задействована.

ИспользоватьВыделениеСтроки

Признак использования функциональности текущего элемента. Если равно Ложь (стандартное значение), то функциональность текущего элемента не используется:

  • Вызов метода ВыделитьСтроку() ничего не делает;
  • Нажатие на строку списка не приводит к установке ее текущей;
  • Свойство ВыделеннаяСтрока всегда равно Неопределено.

ИспользоватьОтметкиСтрок

Булево. Включает или выключает функциональность множественного выделения строк списка. Если равно Истина, то в список будет автоматически добавлена специальная колонка с флажками для выбора строк.

Источник

Источник данных списка. Экземпляр типа ДинамическийСписок или ИсточникДанныхМассив.

ЗамещающийТекстПоляПоиска

Устанавливает в поле ввода поиска замещающий текст. Если не задано, будет отображено «Поиск…»

Команды

ФрагментКомандногоИнтерфейса<Команда>?. Данное свойство позволяет задать команды, отображаемые в командной панели списка либо таблицы. Командная панель располагается над основным компонентом. Если используется в таблице и у таблицы включено свойство ОтображатьНастройки, в командной панели также будет отображаться кнопка открытия настроек. Команды, которые не уместились в командной панели на форме, переносятся в меню Еще, отображаемое в правой части командной панели. Если значение свойства Неопределено, командная панель не отображается. По умолчанию — Неопределено. Пример:

Команды:
Тип: ФрагментКомандногоИнтерфейса<Команда>
Элементы:
-
Тип: ОбычнаяКоманда
Представление: Добавить запись
Изображение: Плюс.svg
Обработчик: ПриДобавлении
-
Тип: ГруппаКомандногоИнтерфейса<Команда>
Представление: Группа 2
Изображение: Зарплата.svg
ВидОтображения: ГруппаКнопок
Элементы:
-
Тип: ОбычнаяКоманда
Представление: Команда 2.1
Обработчик: ПриНажатииКоманды
-
Тип: ОбычнаяКоманда
Представление: Команда 2.2
Изображение: Корзина.svg
Обработчик: ПриНажатииКоманды

КомандыНадОтмеченнымиСтроками

Описание команд действий выпадающей панели над множеством отмеченных строк. Параметр обработчика команды — массив идентификаторов строк списка. Идентификаторы строк списка зависят от типа источника:

Получить доступ к массиву идентификаторов отмеченных строк списка можно через параметр ОтмеченныеСтроки. Параметр имеет тип Массив<ТипИсточника.ТипИдентификатора> и содержит массив идентификаторов отмеченных строк.

Пример 1. В примере описывается таблица Таблица1, источником данных для которой служит структура МояСтруктура с полями Бренд, Цена, Страна и Наличие. Для отмеченных строк таблицы определены две команды: ПоменятьБренд и УдалитьВыделенные.

Описание таблицы Таблица1 в yaml-файле:

Тип: Таблица<ИсточникДанныхМассив<МояСтруктура>>
Имя: Таблица1
ИспользоватьОтметкиСтрок: Истина
КомандыНадОтмеченнымиСтроками:
Тип: ФрагментКомандногоИнтерфейса<КомандаСПараметром<Массив<МояСтруктура>>>
Элементы:
-
Тип: КомандаСПараметром<Массив<МояСтруктура>>
Представление: Удалить выделенные
Обработчик: УдалитьВыделенные
-
Тип: КомандаСПараметром<Массив<МояСтруктура>>
Представление: Поменять бренд
Обработчик: ПоменятьБренд
Колонки:
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Бренд
ПолеЗначения: Бренд
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Цена
ПолеЗначения: Цена
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Страна
ПолеЗначения: Страна
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Наличие
ПолеЗначения: Наличие

Описание методов УдалитьВыделенные и ПоменятьБренд в xbsl-файле:

метод УдалитьВыделенные(Команда: КомандаСПараметром<Массив<МояСтруктура>>, 
Выделенные: Массив<МояСтруктура>)
для Строка из Выделенные
Компоненты.Таблица1.Источник.Данные.Удалить(Строка)
;
;
метод ПоменятьБренд(Команда: КомандаСПараметром<Массив<МояСтруктура>>, Выделенные: Массив<МояСтруктура>)
для Строка из Выделенные
Строка.Бренд = "BMW"
;
;

Пример 2. В примере описывается форма ФормаТаблицы, которая содержит флажок ИспользоватьКомандыНадОтмеченными и таблицу Таблица1, источником данных для которой служит структура МояСтруктура с полями Бренд, Цена, Страна и Наличие. Если значение флажка — Истина, то к отмеченным строкам применяется метод КомандыНадОтмеченными. Он инвертирует значение в колонке Наличие и соответствующим образом меняет изображение элемента команды.

Описание формы ФормаТаблицы в yaml-файле:

ВидЭлемента: КомпонентИнтерфейса
Ид: d031d576-aee7-4053-a2c7-008f4a10183c
Имя: ФормаТаблицы
ОбластьВидимости: ВПодсистеме
Свойства:
-
Имя: ИспользоватьКомандыНадОтмеченными
Тип: Булево
ЗначениеПоУмолчанию: Ложь
Наследует:
Тип: Форма
Содержимое:
Тип: ШаблонФормыСРазделами
ОсновнойРаздел:
Тип: ОбластьРазделаФормы
Содержимое:
-
Тип: Флажок
Заголовок: ИспользоватьКомандыНадОтмеченными
Значение: =ИспользоватьКомандыНадОтмеченными
-
Тип: Таблица<ИсточникДанныхМассив<МояСтруктура>>
Имя: Таблица1
КомандыНадОтмеченнымиСтроками: '=ИспользоватьКомандыНадОтмеченными ? КомандыНадОтмеченными(ОтмеченныеСтроки) : Неопределено'
ИспользоватьОтметкиСтрок: Истина
Колонки:
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Бренд
ПолеЗначения: Бренд
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Цена
ПолеЗначения: Цена
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Страна
ПолеЗначения: Страна
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Наличие
ПолеЗначения: Наличие

Описание метода КомандыНадОтмеченными в xbsl-файле:

метод КомандыНадОтмеченными(ОтмеченныеСтроки: Массив<МояСтруктура>): ФрагментКомандногоИнтерфейса<КомандаСПараметром<Массив<МояСтруктура>>>
пер ТолькоВНаличии = ТолькоВНаличии(ОтмеченныеСтроки)
пер Представление = ТолькоВНаличии ? "Есть в наличии (команда отмеченных)" : "Нет в наличии (команда отмеченных)"
пер Изображение = ТолькоВНаличии ? Ресурс{Плюс.svg}.Ссылка : Ресурс{Минус.svg}.Ссылка

возврат новый ФрагментКомандногоИнтерфейса<КомандаСПараметром<Массив<МояСтруктура>>>(Элементы = [
новый КомандаСПараметром<Массив<МояСтруктура>>(
Представление = Представление,
Изображение = Изображение,
Обработчик = метод (Команда, Строки) ->
для Строка из Строки
Строка.Наличие = ТолькоВНаличии
;
;
)
])
;

метод ТолькоВНаличии(ДанныеСтроки: Массив<МояСтруктура>): Булево
пер ТолькоВНаличии = Истина
для Объект из ДанныеСтроки
если Объект.Наличие
ТолькоВНаличии = Ложь
;
;
возврат ТолькоВНаличии
;

КомандыСтроки

Команды, которые будут доступны для конкретной строки таблицы (списка). Параметр обработчика команды — идентификатор строки списка, который зависит от типа источника:

Получить доступ к идентификатору строки можно через параметр ДанныеСтроки. Параметр имеет тип ТипИсточника.ТипДанных и содержит данные строки, для которой формируется команда.

Пример. В примере описывается Таблица, источником данных для которой служит структура МояСтруктура с полями Статус, Код, Задача и Ответственный. Для строки таблицы определена команда, которая инвертирует статус задачи и соответствующим образом меняет изображение элемента команды.

Описание таблицы в yaml-файле:

Тип: Таблица<ИсточникДанныхМассив<МояСтруктура>>
Имя: МояТаблица
ТолькоЧтение: Истина
КомандыСтроки:
Тип: ФрагментКомандногоИнтерфейса<КомандаСПараметром<Массив<МояСтруктура>>|КомандаСПараметром<МояСтруктура>>
Элементы:
-
Тип: КомандаСПараметром<МояСтруктура>
Представление: '= ДанныеСтроки.Статус ? "Остановить" : "Запустить"'
Изображение: '= ДанныеСтроки.Статус ? Ресурс{Стоп.svg}.Ссылка : Ресурс{Старт.svg}.Ссылка'
Обработчик: ОбработчикКоманды
ИспользоватьОтметкиСтрок: Истина
Колонки:
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Статус
ПолеЗначения: Статус
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Код
ПолеЗначения: Код
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Задача
ПолеЗначения: Задача
-
Тип: СтандартнаяКолонкаТаблицы<МояСтруктура>
Имя: Ответственный
ПолеЗначения: Ответственный

Описание метода ОбработчикКоманды в xbsl-файле:

метод ОбработчикКоманды(Команда: КомандаСПараметром<МояСтруктура>, Параметр: МояСтруктура)
Параметр.Статус = не Параметр.Статус
;

Навигация

Авто|НавигацияВСписке. Тип навигации в списке:

ПереключательСтраниц

Если список/таблица не помещается на экране полностью, то снизу, под списком, появляется переключатель страниц. Он позволяет переключаться между частями списка/таблицы:

Отсутствует

Список/таблица отображается без навигации.

важно

Отображается только та часть данных, которая помещается на экране полностью.

КнопкаПодгрузки

Если список/таблица не помещается на экране полностью, то снизу, под списком, появляется кнопка Еще.... Она позволяет загрузить следующую часть списка/таблицы:

ПодгрузкаПриПрокрутке

Если список/таблица не помещается на экране полностью, то при прокручивании списка/таблицы до конца происходит автоматическая загрузка следующих частей списка/таблицы. При этом снизу, под списком, появляется индикатор загрузки:

Значение по умолчанию: ПереключательСтраниц.

ОбрабатыватьНажатие

Авто|Булево. Свойство определяет, является ли элемент нажимаемым. Возможные значения:

  • Авто — значение по умолчанию, поведение нажатия определяется системой;
  • Истина — строка отображается в виде гиперссылки;
  • Ложь — строка не отображается в виде гиперссылки и не подсвечивается при наведении; отключается выделение строки (свойство ИспользоватьВыделениеСтроки).

ОтображатьПанельКомандНадОтмеченнымиСтроками

Авто|Булево. Показать/скрыть панель команд над отмеченными строками списка.

ОтображениеПоляПоиска

Авто|ВидОтображенияПоляПоискаВСписке. Управляет способом отображения поисковой строки. Возможные значения:

  • Авто — если панель команд доступна, поле поиска отображается в ней; если нет, поле поиска отображается отдельным полем над таблицей или списком;
  • ВидОтображенияПоляПоискаВСписке.ВнеКоманднойПанели — строка поиска отображается отдельным полем над таблицей или списком.

ПредставлениеОтмеченнойСтроки

Авто|Строка. Свойство для формирования текста выделенных строк в выпадающем списке.

Чтобы сформировать текст отмеченных строк, можно:

  1. использовать Свойство ПредставлениеОтмеченнойСтроки таблицы, куда параметром биндинга передается идентификатор строки (ссылка для динамического списка, ключ записи регистра для регистра сведений, сам объект строки для источника данных массива);
  2. свойству ПредставлениеОтмеченнойСтроки оставить значение по умолчанию Авто, тогда, если идентификатор строки наследуется от типа Представляемое, вызывается метод Представление().

Пример:

ПредставлениеОтмеченнойСтроки: =ДанныеСтроки.brand + " " + ДанныеСтроки.model

РазмерСтраницы

Авто|Число. Размер страницы для постраничной навигации. Если Авто, то размер страницы вычисляется автоматически.

СоздатьКопию

КомандаСПараметром. Используется в качестве команды строки для создания нового экземпляра сущности путем копирования того, который ассоциируется со строкой списка/таблицы (подробнее).

СоздатьНаОсновании

ГруппаКомандногоИнтерфейса<КомандаСПараметром>. Используется в качестве команды строки. Создает группу команд создания на основании для данных строки. Содержимое группы формируется на основании источников, указанных в YAML-файле элемента проекта (подробнее). Эта группа команд будет видна и доступна только в том случае, если ключ источника данных используется в какой-либо сущности в качестве источника создания на основании.

Удалить

Предопределенная команда удаления элементов списка

ВесПриРастягивании

Значимость данного компонента по сравнению с другими растягиваемыми компонентами. Например, если у данного компонента ВесПриРастягивании = 1, а у другого ВесПриРастягивании = 2, то другой компонент будет в 2 раза больше данного (подробнее). Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
ВесПриРастягивании: 2

ВыравниваниеВГруппеПоВертикали

Способ вертикального выравнивания этого компонента внутри родительской группы:

  • Авто — значение ВыравниваниеПоВертикали.ПоБазовойЛинии;
  • элементы перечисления ВыравниваниеПоВертикали — Верх, Центр, Низ, ПоБазовойЛинии.

Позволяет управлять индивидуальным положением этого компонента в группе, если размер группы больше размера, требуемого всем ее компонентам. Например, если «Шина» растягивает группу, а компоненты в ней не растягивает.

Для компонента, расположенного внутри вертикальной группы, это свойство имеет смысл только в том случае, если этот компонент крайний. Например, если компоненты группы расположены вверху, то последний компонент можно расположить внизу.

Если у компонентов внутри группы указаны разные способы вертикального положения, которые входят в конфликт друг с другом, то «Шина» будет использовать для всех конфликтных компонентов тот способ, который указан у первого из них. Например, если у первого конфликтного компонента в группе указано положение Низ, а у второго Верх, то оба компонента окажутся внизу.

Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
ВыравниваниеВГруппеПоВертикали: Центр

Видимость

Показать или скрыть компонент. Фактическая видимость компонента зависит от видимости его родительских компонентов. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
Видимость: Ложь

Высота

Авто|Число. Высота компонента в пикселях (подробнее).

Если Авто, то рассчитывается автоматически. Если отлична от 0 и РастягиватьПоВертикали вычислено как Ложь, то компонент будет иметь указанную высоту. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
Высота: 300

ВыравниваниеВГруппеПоГоризонтали

Способ горизонтального выравнивания этого компонента внутри родительской группы:

  • Авто — значение ВыравниваниеПоГоризонтали.Начало;
  • элементы перечисления ВыравниваниеПоГоризонтали — Начало, Центр, Конец, ПоШирине.

Позволяет управлять индивидуальным положением компонента в группе, если размер группы больше размера, требуемого всем ее компонентам. Например, если «Шина» растягивает группу, а компоненты в ней не растягивает.

Для компонента, расположенного внутри горизонтальной группы, это свойство имеет смысл только в том случае, если этот компонент крайний. Например, если компоненты группы расположены в начале, то последний компонент можно расположить в конце.

Если у компонентов внутри группы указаны разные способы горизонтального положения, которые входят в конфликт друг с другом, то «Шина» будет использовать для всех конфликтных компонентов тот способ, который указан у первого из них. Например, если у первого конфликтного компонента в группе указано положение Конец, а у второго Начало, то оба компонента окажутся в конце группы.

Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
ВыравниваниеВГруппеПоГоризонтали: Конец

Доступность

Способность компонента принимать фокус и редактировать данные. Состояние доступности распространяется на все компоненты содержимого, пока не встретится переопределение этого свойства. Имеет приоритет над свойством ТолькоЧтение. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
Доступность: Ложь

МаксимальнаяВысота

Максимальная высота компонента в пикселях. Свойство используется, если РастягиватьПоВертикали вычислено как Истина. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
МаксимальнаяВысота: 100

МаксимальнаяШирина

Максимальная ширина компонента в пикселях. Свойство используется, если РастягиватьПоГоризонтали вычислено как Истина. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
МаксимальнаяШирина: 300

МинимальнаяВысота

Минимальная высота компонента в пикселях. Свойство используется, если РастягиватьПоВертикали вычислено как Истина. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
МинимальнаяВысота: 100

МинимальнаяШирина

Минимальная ширина компонента в пикселях. Свойство используется, если РастягиватьПоГоризонтали вычислено как Истина. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
МинимальнаяШирина: 300

РастягиватьПоВертикали

Авто|Булево. Необходимость растягивания компонента по всей доступной высоте (подробнее).

Доступная высота — это высота родительской группы, которая определяется:

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

Значения:

  • Истина — «Шина» растягивает компонент, несмотря на значения свойств Высота или Ширина;
  • Ложь;
  • Авто — имеет различное поведение в зависимости от типа компонента:
    • Компоненты, не перечисленные далее - Ложь
    • Таблица - Истина
    • Группа, Страницы - анализируются вычисленные значения растягивания у компонентов содержимого. Если хотя бы одно из них равно Истина, то используется Истина, иначе — Ложь.
    • МатричнаяГруппа - если хотя бы для одной колонки или столбца включено растягивание, то Истина, иначе Ложь. Если у матричной группы задано фиксированное количество колонок или строк, то компоненты содержимого так же проверяются на наличие растягиваемых.
    • ПроизвольныйКомпонент, Страница - используется вычисленное значение этого свойства у того компонента, который указан в свойстве Содержимое.
    • СтековаяГруппа - используется вычисленное значение этого свойства у последнего из компонентов содержимого.

Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
РастягиватьПоВертикали: Ложь

РастягиватьПоГоризонтали

Необходимость растягивания компонента по всей доступной ширине (подробнее).

Доступная ширина — это ширина родительской группы, которая определяется:

  • либо также растягиванием по ее родительской группе;
  • либо компонентом содержимого с максимальным значением свойства Ширина.

Значения:

  • Истина — «Шина» растягивает компонент, несмотря на значения свойств Высота или Ширина;
  • Ложь;
  • Авто — имеет различное поведение в зависимости от типа компонента:
    • Компоненты, не перечисленные далее - Ложь
    • Таблица - Истина
    • Группа, Страницы - анализируются вычисленные значения растягивания у компонентов содержимого. Если хотя бы одно из них равно Истина, то используется Истина, иначе — Ложь.
    • МатричнаяГруппа - если хотя бы для одной колонки или столбца включено растягивание, то Истина, иначе Ложь. Если у матричной группы задано фиксированное количество колонок или строк, то компоненты содержимого так же проверяются на наличие растягиваемых.
    • ПроизвольныйКомпонент, Страница - используется вычисленное значение этого свойства у того компонента, который указан в свойстве Содержимое.
    • СтековаяГруппа - используется вычисленное значение этого свойства у последнего из компонентов содержимого.

Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
РастягиватьПоГоризонтали: Истина

ТолькоЧтение

Запрет редактирования данных компонента. Если флажок установлен, то компонент может принимать фокус, текст более четкий, его данные можно просматривать и копировать. В этом состоянии некоторые компоненты могут сохранять свою интерактивность, которая не влечет за собой изменение каких-либо данных. Состояние ТолькоЧтение распространяется на все компоненты содержимого, пока не встретится переопределение этого свойства. Имеет более низкий приоритет, чем свойство Доступность. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
ТолькоЧтение: Истина

Ширина

Авто|Число. Ширина компонента в пикселях (подробнее).

Если Авто, то рассчитывается автоматически. Если отлична от 0 и РастягиватьПоГоризонтали вычислено как Ложь, то компонент будет иметь указанную высоту. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
Ширина: 300

НастройкиТипа

Контракты, которые реализует компонент интерфейса

  • Контракты

Массив<Тип>. Имена контрактов типа, которые реализует данный компонент.

Свойство разработчика

Собственное свойство компонента (добавленное вами). Каждое собственное свойство описывается следующими свойствами:

ЗначениеПоУмолчанию

Стандартное значение свойства. Значение можно не указывать, если у его типа/типов есть значение по умолчанию (в частности, если его тип включает Неопределено или Null). Если тип свойства составной (включает несколько типов), необходимо указать тип значения. Иначе просто само значение. Пример YAML-файла:

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

В описании экземпляра этого компонента вы можете установить другое значение этому свойству

Имя

Имя свойства. Пример YAML-файла:

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

Контекстное

Булево. Признак доступности значения свойства на клиенте и сервере. Значение по умолчанию — Ложь. Если Истина, то поле Тип свойства должно содержать тип, доступный на клиенте и сервере.

«1С:Шина» генерирует структурный тип {ИмяКомпонента}.Контекст, который содержит как собственные контекстные свойства, так и контекстные свойства, наследуемые от базовых системных типов. Этот тип генерируется всегда, даже если контекстные свойства отсутствуют.

Пример:

Имя: МойКомпонент
Свойства:
-
Имя: КонтекстноеСвойство
Тип: Строка
Контекстное: Истина

Для работы с контекстными свойствами на сервере вы можете использовать контекстные серверные методы. Эти методы должны располагаться в модуле компонента интерфейса и содержать аннотации @Контекстный и @НаСервере. В теле метода тип объекта этот заменяется на {ИмяКомпонента}.Контекст. Состояние этого объекта передается с клиента на сервер при каждом вызове метода. На сервере в теле метода вы можете изменить состояние объекта. Измененное состояние будет автоматически передано на клиент, и компонент будет инициализирован заново с учетом внесенных изменений.

Пример изменения значения контекстного свойства на сервере:

@НаСервере @ДоступноСКлиента
@Контекстный
метод КонтекстныйМетод()
этот.ПолучитьТип() // Вернет "ИмяКомпонента.Контекст"
// Задание значения контекстного свойства на сервере
КонтекстноеСвойство = "Значение"
;

СохраняемыеДанные

Истина — при изменении значения этого свойства «Шина» установит свойство СобственнаяМодифицированность элемента компонента в значение Истина. В значение Ложь свойство СобственнаяМодифицированность вам нужно установить самостоятельно после записи данных. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 9f51db7f-c98d-499c-9607-545d5e0a58c2
Имя: МояФормаОбъекта
Свойства:
-
Имя: ЭлектроннаяПочта
Тип: Строка
СохраняемыеДанные: Истина
Наследует:
Тип: ФормаОбъекта<МойСправочник.Объект>

Тип

Тип свойства. Пример YAML-файла:

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

Событие разработчика

Собственные события компонента (добавленные вами). Здесь вы описываете только само событие, обработчик для этого события вы назначите при описании экземпляра этого компонента. О вызове и назначении обработчиков собственных событий компонента можно прочитать здесь. Каждое событие описывается следующими свойствами:

Имя

Имя события. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 4a2f1305-d442-41e2-9c07-5aaebbe6bdeb
Имя: МояПроизвольнаяСтрокаСписка
События:
-
Имя: ВыбратьСотрудника
Тип: СобытиеСДанными<ДанныеМероприятия>
Наследует:
Тип: ПроизвольнаяСтрокаСписка<МояСтруктура>

Тип

Тип объекта события:

  • тип должен быть наследником типа СобытиеКомпонента;
  • если значение не указано, то тип события — СобытиеКомпонента.
ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 4a2f1305-d442-41e2-9c07-5aaebbe6bdeb
Имя: МояПроизвольнаяСтрокаСписка
События:
-
Имя: ВыбратьСотрудника
Тип: СобытиеСДанными<ДанныеМероприятия>
Наследует:
Тип: ПроизвольнаяСтрокаСписка<МояСтруктура>

Тип

Тип наследуемого компонента. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 746eb2b7-5067-4ee4-badd-16751a6ecd16
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа

Имя

Имя элемента проекта или компонента. Пример YAML-файла:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600

Импорт

Список импортированных пространств имен (подробнее). Пример YAML-файла:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600
Импорт:
- Главная
- Настройки::НовыйПакет

Ид

Идентификатор элемента проекта или компонента. «1С:Шина» создает этот идентификатор автоматически. Пример YAML-файла:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600

ОбластьВидимости

Видимость элемента проекта (подробнее):

  • ВПодсистеме — элемент виден внутри одной подсистемы во всех пакетах. Значение по умолчанию.
  • ВПроекте — элемент виден во всех подсистемах одного проекта.
  • Глобально — элемент виден во всех подсистемах всех проектов.

Пример YAML-файла:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600

ВидЭлемента

Вид элементов проекта (подробнее)либо компонент интерфейса (подробнее). Пример YAML-файла элемента проекта:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600

Пример YAML-файла компонента:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа

События

ПослеСозданияСтроки

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

Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 95909c54-a283-4314-912c-9715a56d47cb
Имя: МойПроизвольныйСписок
Наследует:
Тип: ПроизвольныйСписок<ДинамическийСписок>
ПослеСозданияСтроки: ОбработчикПослеСозданияСтроки

Сигнатура обработчика события на встроенном языке:

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

ПриВыделенииСтроки

Вызывается при изменении выделенного элемента, если ИспользоватьВыделениеСтроки равно Истина

Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 95909c54-a283-4314-912c-9715a56d47cb
Имя: МойПроизвольныйСписок
Наследует:
Тип: ПроизвольныйСписок<ДинамическийСписок>
ПриВыделенииСтроки: ОбработчикПриВыделенииСтроки

Сигнатура обработчика события на встроенном языке:

метод ОбработчикПриВыделенииСтроки(Источник: Список<ДинамическийСписок>, 
Событие: СобытиеСДанными<Сущность.Ключ?>)
;

ПриНажатииСтроки

Вызывается при нажатии на элемент списка: либо на пустую область, либо на компонент в этом элементе, который сам не обрабатывает событие ПриНажатии

Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 95909c54-a283-4314-912c-9715a56d47cb
Имя: МойПроизвольныйСписок
Наследует:
Тип: ПроизвольныйСписок<ДинамическийСписок>
ПриНажатииСтроки: ОбработчикПриНажатииСтроки

Сигнатура обработчика события на встроенном языке:

метод ОбработчикПриНажатииСтроки(Источник: Список<ДинамическийСписок>, 
Событие: СобытиеСДанными<СтрокаСписка<СтрокаДинамическогоСписка>>)
;

ПослеСоздания

Переопределяемый обработчик. Предназначен для дополнительной инициализации свойств экземпляра компонента на клиенте и вызова прикладной логики инициализации экземпляра компонента. Выполняется после полного конструирования экземпляра компонента, т. е. когда:

  • установлены значения свойств экземпляра компонента, указанные при описании экземпляра;
  • созданы свои компоненты данного экземпляра;
  • значения свойств своих компонентов установлены из описаний их экземпляров;
  • подключены обработчики событий в экземпляре компонента и в экземплярах его внутренних компонентов.

Сигнатура обработчика на встроенном языке:

@Обработчик
метод ПослеСоздания()
;

ПриНаведении

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

  • При наведении указателя мыши на вложенные элементы событие ПриНаведении сначала вызывается для родительского элемента, а затем для дочернего.
  • Событие не поддерживается на мобильных устройствах.

Когда указатель мыши покидает область компонента, вызывается событие ПриПотереНаведения.

В примере ниже показано использование событий ПриНаведении и ПриПотереНаведения для изменения цвета картинки при наведении на нее указателя мыши:

Тип: Картинка
Изображение: Дом.svg
ПриНаведении: ПриНаведении
ПриПотереНаведения: ПриПотереНаведения

Обработка событий во встроенном языке:

метод ПриНаведении(Источник: Компонент, Событие: СобытиеКомпонента)
(Источник как Картинка).Цвет = Цвета.Стилевые.АкцентныйПервичный
;

метод ПриПотереНаведения(Источник: Компонент, Событие: СобытиеКомпонента)
(Источник как Картинка).Цвет = Авто
;

ПриПеретаскивании

Назначаемое событие. Возникает при окончании перетаскивания, например, при перетаскивании файлов из проводника на компонент. Если обработчик события не установил свойство СобытиеПриПеретаскивании.СтандартнаяОбработка равным Ложь, то происходит системная обработка события (она есть, например, у компонента ВыборФайлов), после чего «Шина» вызывает событие у родительского по визуальной иерархии компонента, вплоть до компонента, унаследованного от КлиентскоеПриложение. Пример YAML-файла:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа
ПриПеретаскивании: ОбработчикПриПеретаскивании

Сигнатура обработчика события на встроенном языке:

метод ОбработчикПриПеретаскивании(Компонент: Компонент, 
Событие: СобытиеПриПеретаскивании)
;

ПриПотереНаведения

Назначаемое событие. Вызывается, когда указатель мыши покидает область компонента. Особенности вызова события:

  • Если событие срабатывает для вложенных элементов (курсор смещается за пределы родительского элемента), то сначала оно вызывается для дочернего элемента, а затем для родительского.
  • Событие не вызывается при удалении компонента, изменении его видимости или размера (если в результате указатель мыши больше не находится над областью компонента).
  • Событие не поддерживается на мобильных устройствах.

При наведении указателя мыши на область компонента вызывается событие ПриНаведении.

В примере ниже показано использование событий ПриНаведении и ПриПотереНаведения для изменения цвета картинки при наведении на нее указателя мыши:

Тип: Картинка
Изображение: Дом.svg
ПриНаведении: ПриНаведении
ПриПотереНаведения: ПриПотереНаведения

Обработка событий во встроенном языке:

метод ПриНаведении(Источник: Компонент, Событие: СобытиеКомпонента)
(Источник как Картинка).Цвет = Цвета.Стилевые.АкцентныйПервичный
;

метод ПриПотереНаведения(Источник: Компонент, Событие: СобытиеКомпонента)
(Источник как Картинка).Цвет = Авто
;