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