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