Тип: КолонкаТабличногоПоля. Содержит текущую колонку табличного поля. Если данному свойству присвоить КолонкаТабличногоПоля, то произойдет активизация указанной колонки, если устанавливается значение Неопределено, то активная колонка сбрасывается.
Полное описание, параметры и ограничения
ТабличноеПоле.ТекущаяКолонка (TableBox.CurrentColumn)
ТабличноеПоле (TableBox)
ТекущаяКолонка (CurrentColumn)
Доступен, начиная с версии 8.0.
Использование:
Чтение и запись.
Описание:
Тип: КолонкаТабличногоПоля.
Содержит текущую колонку табличного поля. Если данному свойству присвоить КолонкаТабличногоПоля, то произойдет активизация указанной колонки, если устанавливается значение Неопределено, то активная колонка сбрасывается.
Доступность:
Толстый клиент.
См. также:
КолонкаТабличногоПоля
ТабличноеПоле, свойство ТекущаяСтрока
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Получить текущие данные строки обычного табличного поля
ТекущаяСтрока для таблицы значений — объект строки, не номер 0. Находим колонку количества и проверяем текущую книгу.
Где и как запускать
Модуль новой обычной формы внешней обработки. Только толстый клиент, обычные формы; не серверный модуль и не управляемая форма.
Подготовка
Это обычная форма, не управляемая: используйте толстый клиент с обычными формами в отдельной учебной базе. Создайте новую внешнюю обработку, обычную форму и её реквизит Товары типа ТаблицаЗначений. Рабочие документы и справочники не нужны.
В редакторе формы добавьте табличное поле ТаблицаТоваров, свойство Данные свяжите с реквизитом Товары. Добавьте обычную кнопку УчебнаяКоманда, её действие свяжите с процедурой УчебнаяКоманда. ПриОткрытии свяжите с одноимённым событием формы.
Каждый урок — отдельный полный модуль этой учебной формы. Он заново создаёт в памяти Книгу (3) и Ручку (1), а СоздатьКолонки удаляет прежние колонки только своего табличного поля. Не вставляйте код в рабочую форму с настроенными колонками.
Откройте форму, затем нажмите учебную кнопку. Изменения данных и оформления относятся только к реквизиту внешней обработки в памяти. Здесь нет Записать, обращения к рабочим данным или проверки интерфейса реальной УТ 10.3.
Процедура ПриОткрытии()
Товары = Новый ТаблицаЗначений;
Товары.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Товары.Колонки.Добавить("Выбран", Новый ОписаниеТипов("Булево"));
Книга = Товары.Добавить();
Книга.Код = "A-01";
Книга.Наименование = "Книга";
Книга.Количество = 3;
Книга.Выбран = Ложь;
Ручка = Товары.Добавить();
Ручка.Код = "B-02";
Ручка.Наименование = "Ручка";
Ручка.Количество = 1;
Ручка.Выбран = Ложь;
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Таблица.СоздатьКолонки();
Таблица.АвтоВводНовойСтроки = Ложь;
Если Товары.Количество() <> 2 Тогда
ВызватьИсключение "Ожидались два собственных учебных товара";
КонецЕсли;
Таблица.ТекущаяСтрока = Товары[0];
Колонка = Таблица.Колонки.Найти("Количество");
Если Колонка = Неопределено Тогда
ВызватьИсключение "В своей таблице не найдена колонка количества";
КонецЕсли;
Таблица.ТекущаяКолонка = Колонка;
Таблица.РежимВыбора = Ложь;
Таблица.Подсказка = "Собственная учебная книга и ручка";
КонецПроцедуры
Процедура УчебнаяКоманда(Кнопка)
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Текущая = Таблица.ТекущаяСтрока;
Если Текущая = Неопределено Тогда
Сообщить("Сначала выберите собственную строку");
Возврат;
КонецЕсли;
Данные = Таблица.ДанныеСтроки(Текущая);
Если Данные = Неопределено Тогда
ВызватьИсключение "Не получены данные выбранной учебной строки";
КонецЕсли;
Сообщить(Данные = Таблица.ТекущиеДанные);
Сообщить(Данные.Наименование + ": " + Строка(Данные.Количество));
Сообщить(Таблица.ТекущаяКолонка.Имя = "Количество");
Сообщить(Таблица.ПроверитьСтроку(Текущая));
Сообщить("Способ выделения строки: " + Строка(Таблица.РежимВыделенияСтроки));
КонецПроцедурыРазбор по шагам
СоздатьКолонки формирует колонки по четырём полям собственной таблицы значений.
Колонка Количество ищется и проверяется перед назначением ТекущаяКолонка.
ТекущаяСтрока назначается объектом Товары[0]. Это не переносимая модель для динамического списка: там тип идентификатора может быть другим.
ДанныеСтроки и ТекущиеДанные дают данные текущей строки. До доступа к полям оба случая отсутствия обработаны.
ПроверитьСтроку проверяет соответствие отбору табличного поля, не существование SQL-записи. Отбора в собственной форме нет.
Как проверить результат
Сразу после открытия выбрана Книга: выводится количество 3 и три сравнения Истина.
Выберите Ручку: выводится количество 1. Выделение строки диагностируется, не изменяется присваиванием.
Ожидаемый результат
Проверен доступ к собственной текущей строке и колонке.
На что обратить внимание
РежимВыделенияСтроки только для чтения.
После выбора другой колонки сравнение с Количество может стать Ложь: это изменение состояния интерфейса, не ошибка поиска.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.