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