Таблица
Для представления большинства списков приложения используется компонент интерфейса, унаследованный от системного компонента Таблица
(подробнее).
Для таблицы определяется массив колонок, каждая из которых:
- может быть стандартной — экземпляр компонента
СтандартнаяКолонкаТаблицы
(подробнее); - может иметь произвольное содержимое — экземпляр компонента
ПроизвольнаяКолонкаТаблицы
(подробнее).
Вид колонки
Колонки большинства таблиц приложения — стандартные. Стандартная колонка может быть разных видов. Например, статус задачи в форме списка задач демонстрационного приложения имеет вид значка (Вид = ВидКолонкиТаблицы.Значок
).
Описание колонки Статус в файле ЗадачиФормаСписка.yaml:
Колонки:
-
Тип: СтандартнаяКолонкаТаблицы<СтрокаДинамическогоСписка>
Заголовок: $ЛокализованныеСтроки.Статус
ПолеЗначения: Статус
Вид: Значок
Цвет: =((ДанныеСтроки как СтрокаДинамическогоСписка).Данные["Статус"] как СтатусМероприятия).ПолучитьЦвет()
Изображение в колонке
В ячейке стандартной колонки может выводиться изображение, как в колонке Наименование таблицы Стадии сделок.
Описание колонки Наименование в фай ле СтадииСделокФормаСписка.yaml:
Колонки:
-
Тип: СтандартнаяКолонкаТаблицы<СтрокаДинамическогоСписка>
Заголовок: $ЛокализованныеСтроки.Наименование
ПолеЗначения: Наименование
Изображение: =(ДанныеСтроки как СтрокаДинамическогоСписка).Данные["Иконка"] как ДвоичныйОбъект.Ссылка?
Гиперссылка на элемент
Для данных типа Сущность.Ключ
надпись в ячейке стандартной колонки по умолчанию принимает вид гиперссылки, как в колонке Клиент списка сделок. Для колонки Направление этого же списка вывод гиперссылки отключен.
Описание колонок Клиент и Направление в файле СделкиФормаСписка.yaml:
Колонки:
-
Тип: СтандартнаяКолонкаТаблицы<СтрокаДинамическогоСписка>
Заголовок: $ЛокализованныеСтроки.Клиент
ПолеЗначения: Клиент
-
Тип: СтандартнаяКолонкаТаблицы<СтрокаДинамическогоСписка>
Заголовок: $ЛокализованныеСтроки.Направление
ПолеЗначения: Направление
ОбрабатыватьНажатие: Ложь
Несколько полей в одной колонке
Колонки с произвольным содержимым можно использовать для того, чтобы в рамках одной колонки выводить данные сразу двух полей, а также использовать произвольное форматирование:
Описание колонок Наименование и Адрес:
Колонки:
-
Тип: ПроизвольнаяКолонкаТаблицы<СтрокаДинамическогоСписка>
ШиринаВКолонках: Одинарная
ОтключитьСортировку: Истина
Содержимое:
Тип: ФиксированнаяГруппа
ИнтервалМеждуЭлементамиПоВертикали: Половинный
Содержимое:
-
Тип: Надпись
Значение: =ДанныеСтроки.Данные["Наименование"]
Важность: Высокая
Шрифт: =СтилевыеШрифты.Крупный
-
Тип: Надпись
Значение: =ДанныеСтроки.Данные["Адрес"]
Важность: Низкая
Источник данных
Источником данных для таблицы может быть как экземпляр системного компонента ДинамическийСписок
(подробнее) (как в формах списков клиентов, контактных лиц и др.), так и экземпляр системного компонента ИсточникДанныхМассив
(как в форме путеводителя по проекту).
Пример использования компонента ДинамическийСписок
в качестве источника данных таблицы в файле КлиентыФормаСписка.yaml:
ВидЭлемента: КомпонентИнтерфейса
Ид: fe8a2a42-9018-4d5c-918e-bf8948c546ea
Имя: КлиентыФормаСписка
ОбластьВидимости: ВПодсистеме
Импорт:
- Общие
Наследует:
Тип: ФормаСписка
КомпонентТаблицы: =Компоненты.ТаблицаСписка
КомандыСоздания: =Создать
Содержимое:
Тип: ПроизвольныйШаблонФормы
Содержимое:
Тип: Таблица<ДинамическийСписок>
ЗамещающийТекстПоляПоиска: '=ЛокализованныеСтроки.ПодсказкаПоляПоискаКлиента()'
ОтображатьНастройки: Истина
Имя: ТаблицаСписка
Пример использования компонента ИсточникДанныхМассив
в качестве источника данных таблицы в файле ПутеводительПоПроекту.yaml:
ВидЭлемента: КомпонентИнтерфейса
Ид: 5826731a-d110-410b-94c2-1ffef248d7fd
Имя: ПутеводительПоПроекту
ОбластьВидимости: ВПодсистеме
Наследует:
Тип: Форма
Заголовок: Путеводитель по проекту
ПовторноеИспользованиеФормы: Истина
Содержимое:
Тип: ПроизвольныйШаблонФормы
Содержимое:
Тип: АвтоматическаяГруппа
Содержимое:
-
Тип: Таблица<ИсточникДанныхМассив<ПутеводительПоПроекту.Раздел>>
Имя: СписокРазделов
ТолькоЧтение: Истина
ВесПриРастягивании: 1
РастягиватьПоВертикали: Истина
РастягиватьПоГоризонтали: Истина
ОтображатьШапку: Ложь
ИспользованиеПоиска: Ложь
РазмерСтраницы: 20
ПриНажатииСтроки: СписокРазделовПриНажатииСтроки
Панель командного интерфейса
Для удобной организации взаимодействия пользователя с таблицей, вы можете добавить команды таблицы и расположить их в командной панели. Командная панель располагается над таблицей. Если у таблицы включено свойство ОтображатьНастройки, в командной панели также будет отображаться кнопка открытия настроек. Пример:
Команды:
Тип: ФрагментКомандногоИнтерфейса<Команда>
Элементы:
-
Тип: ОбычнаяКоманда
Пр едставление: Добавить запись
Изображение: Плюс.svg
Обработчик: ПриДобавлении
-
Тип: ГруппаКомандногоИнтерфейса<Команда>
Представление: Группа 2
Изображение: Зарплата.svg
ВидОтображения: ГруппаКнопок
Элементы:
-
Тип: ОбычнаяКоманда
Представление: Команда 2.1
Обработчик: ПриНажатииКоманды
-
Тип: ОбычнаяКоманда
Представление: Команда 2.2
Изображение: Корзина.svg
Обработчик: ПриНажатииКоманды
-
Тип: ГруппаКомандногоИнтерфейса<Команда>
Представление: Группа 2.3
Изображение: Настройки.svg
ВидОтображения: Подменю
Элементы:
-
Тип: ОбычнаяКоманда
Представление: Команда 2.3.1
Изображение: Отпуск.svg
Обработчик: ПриНажатииКоманды
-
Тип: ОбычнаяКоманда
Представление: Команда 2.3.2
Изображение: Отсутствия.svg
Обработчик: ПриНажатииКоманды
Редактирование ячеек таблицы
Если в качестве источника данных для таблицы используется ИсточникДанныхМассив
, пользователи могут редактировать содержимое ячеек непосредственно в самой таблице.
Возможность редактирования данных в таблице определяется свойствами Доступность
и ТолькоЧтение
. Если вы хотите запретить пользователям редактировать ячейки таблицы, установите свойство таблицы Доступность
равным Ложь
, а свойству ТолькоЧтение
присвойте значение Истина
. Вы также можете запретить редактирование отдельных колонок таблицы. Для этого аналогичным образом задайте свойства Доступность
и ТолькоЧтение
для нужной колонки.
«1С:Исполнитель» позволяет вам указать настройки редактирования данных в колонке. Для этого используйте свойство НастройкиРедактирования
типа КолонкаТаблицы
. Данное свойство может принимать следующие значения:
НастройкиРедактированияПоляВвода
— задает настройки поля ввода, используемого для редактирования содержимого ячеек. Позволяет вам указать допустимые типы значений, определить настройки для ввода строк, чисел, даты, времени и длительности, добавить выпадающий список значений, включить режим пароля и т. д.НастройкиРедактированияПереключателя
— задает настройки переключателя (флажка), используемого для редактирования содержимого ячеек.
В примере ниже показано, как создать таблицу, изображенную на анимированной картинке выше. Для колонки Код заданы НастройкиРедактированияПоляВвода
: изменено выравнивание содержимого по горизонтали и добавлено отображение кнопок изменения значения.
Тип: Таблица<ИсточникДанныхМассив<Сотрудник>>
Имя: ТаблицаСотрудников
ИспользованиеПоиска: Ложь
Колонки:
-
Тип: СтандартнаяКолонкаТаблицы<Сотрудник>
ПолеЗначения: Код
НастройкиРедактирования:
Тип: НастройкиРедактированияПоляВвода
ВыравниваниеСодержимогоПоГоризонтали: Начало
ОтображатьКнопкиИзмененияЗначения: Истина
-
Тип: СтандартнаяКолонкаТаблицы<Сотрудник>
Заголовок: Имя
ПолеЗначения: Наименование
-
Тип: СтандартнаяКолонкаТаблицы<Сотрудник>
ПолеЗначения: ДатаРождения
-
Тип: СтандартнаяКолонкаТаблицы<Сотрудник>
ПолеЗначения: Должность
В качестве источника данных таблица использует ИсточникДанныхМассив<Сотрудник>
, где Сотрудник
— это структура, определенная следующим образом:
ВидЭлемента: Структура
Ид: f2486e43-d754-4c7f-ace9-9af33cc768f1
Имя: Сотрудник
ОбластьВидимости: ВПодсистеме
Окружение: КлиентИСерве р
Поля:
-
Имя: Код
Тип: Число
-
Имя: Наименование
Тип: Строка
-
Имя: ДатаРождения
Тип: Дата?
-
Имя: Должность
Тип: ДолжностьСотрудника?
# ДолжностьСотрудника — перечисление с элементами
# «Разработчик», «МенеджерПроектов», «ТехническийПисатель» и «ИнженерПоддержки»
Горячие клавиши
Для быстрого редактирования данных в таблице пользователи могут использовать горячие клавиши, перечисленные в таблице ниже:
Клавиши | Действие |
---|---|
Enter | Начать или завершить редактирование ячейки. |
Tab | 1) Если текущая ячейка в режиме редактирования — завершить редактирование и перейти к редактированию следующей ячейки. 2) Если текущая ячейке не в режиме редактирования — перейти к следующей ячейке. |
Пробел | Перейти в режим редактирования ячейки с очисткой текущего значения. |
Insert | Вставить новую строку. При добавлении строки таблица переходит в режим редактирования, а фокус устанавливается на первую доступную для редактирования ячейку, если такая ячейка существует. |
Ctrl + Shift + стрелка вверх | Переместить строку вверх. |
Ctrl + Shift + стрелка вниз | Переместить строку вниз. |