Использование текущей строки таблицы
страницаИспользование текущей строки таблицы
Нажатие на строку таблицы в мобильном клиенте имеет свои особенности, которые нужно знать и учитывать. Поведение текущей строки таблицы при этом определяется свойством ИспользованиеТекущейСтроки. Оно принимает значения перечисления ИспользованиеТекущейСтрокиТаблицы:
Авто. Данное значение трактуется как значениеВыбори на мобильной платформе, и в мобильном клиенте.Выбор. В этом случае свойстваТекущаяСтрока,ТекущийЭлемент,ТекущиеДанныеопределены только во время выполнения:- обработчика контекстной команды;
- событий активизации строки или ячейки;
- событий редактирования строки.
В остальное время эти свойства таблицы имеют значение Неопределено. Для команды формы, которой необходимы данные текущей строки, следует явно указать такую необходимость в свойстве команды
ИспользованиеТекущейСтроки. Дополнительно необходимо указать таблицу, данные из которой будет использовать команда, с помощью свойстваИспользуемаяТаблица.В списке текущая строка визуально определяется кратковременно, во время нажатия на строку.
При нажатии на строку вызываются события ПриАктивизацииПоля, ПриАктивизацииСтроки, ПриАктивизацииЯчейки, Выбор.
Данное значение рекомендуется использовать для таблиц, логически не связанных с какими-то другими данными (в том числе и табличными).
ОтображениеВыделения. В этом случае текущая строка существует всегда, если таблица содержит хотя бы одну строку.- списке текущая строка визуально определяется всегда.
- нажатии на строку вызывается событие ПриАктивизацииПоля. Событие Выбор не вызывается.
- значение рекомендуется использовать для таблиц, которые логически связаны с какими-то другими данными (в том числе и табличными).
ОтображениеВыделенияИВыбор. В этом случае текущая строка существует всегда, если таблица содержит хотя бы одну строку.- списке текущая строка визуально определяется всегда. Также в правой части строки имеется кнопка, при нажатии которой вызываются события ПриАктивизацииПоля и Выбор.
Чтобы продемонстрировать вышесказанное на примере, рассмотрим ситуацию, когда в форме размещены список групп и собственно содержимое иерархического справочника, а при нажатии на группу в первой таблице нужно отобразить во второй таблице список элементов справочника, относящихся к выбранной группе.
Как мы уже знаем, такую автоматическую синхронизацию данных в форме можно поддерживать с помощью свойства СписокГрупп, когда одна таблица (связанная с основным реквизитом формы типа ДинамическийСписок) отображает данные справочника, а другая таблица отображает динамический список, который показывает только иерархию групп отображаемого справочника.
Для примера возьмем форму списка иерархического справочника Контрагенты. В форме списка присутствует таблица Список, связанная с основным реквизитом Список (типа ДинамическийСписок), получающим данные из справочника Контрагенты. Создадим еще один такой же динамический список – реквизит формы ГруппыКонтрагентов. Таблицу, связанную с этим реквизитом в форме, поместим над таблицей Список и укажем эту таблицу в свойстве формы СписокГрупп(рис. 5.10).

Рис. 5.10. Форма списка справочника «Контрагенты» в конфигураторе
Таким образом, в верхней таблице будет отображаться список групп контрагентов, а под ним, в нижней таблице – содержимое текущей группы, выделенной в первой таблице.
В соответствии с требуемым поведением установим свойство ИспользованиеТекущейСтроки таблицы ГруппыКонтрагентов в значение ОтображениеВыделения, так как нам все время нужно видеть в этой таблице выделенную группу контрагентов, а выбор конкретного контрагента производить в нижней таблице.
Обновим конфигурацию базы данных (F7) и опубликуем конфигурацию на веб-сервере. После этого запустим наше демонстрационное приложение на планшете и откроем форму списка контрагентов.
Поведение двух связанных списков соответствует желаемому. При этом у нижней таблицы формы Список свойство ИспользованиеТекущейСтроки мы не меняли, так как стандартно оно установлено в значение Авто, что соответствует значению Выбор (рис. 5.11).

Рис. 5.11. Форма списка контрагентов