Программное создание флажка в табличном поле 1С
☑
0
smekalov
15.06.12
✎
19:08
Всего мнений: 1
1) Создаем колонку в таблице значений, т.к. обычно в ней подготавливаются необходимые данные для работы
ТаблицаЗначений.Колонки.Вставить(0,"Пометка",ТипЗнач,"Метка",5);
2) Загружаем таблицу значений в табличное поле
ЭлементыФормы.ТабличноеПоле.Значение = ТаблицаЗначений.Скопировать();
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
3) В событии "ПриВыводеСтроки" элемента ТабличноеПоле пишем:
ОформлениеСтроки.Ячейки.Пометка.ОтображатьФлажок=Истина;
ОформлениеСтроки.Ячейки.Пометка.ОтображатьТекст=Ложь;
После этого в колонке уже будет флажок, который интерактивно можно включать/выключать.
4) Для того, чтобы можно было считывать значение флажка не через оформление строки, настроим данные для колонки "Пометка":
ЭлементыФормы.ТабличноеПоле.Колонки.Пометка.Данные = "";
ЭлементыФормы.ТабличноеПоле.Колонки.Пометка.ДанныеФлажка = "Пометка";
ЭлементыФормы.ТабличноеПоле.Колонки.Пометка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
5) Интерактивно установим флажки в нескольких строках, и проверим наличие флажков программно:
Для Каждого Строчка из ТабличноеПоле Цикл
Сообщить(Строчка.пометка);
ОбработкаПрерыванияПользователя(); // для прерывания цикла по Ctrl+Break, если таблица большая
КонецЦикла;
13
kosts
19.06.12
✎
07:49
(0)
Шаги 2 и 3 выкинуть
ТабличноеПоле2.Колонки.Добавить("Пометка", Новый ОписаниеТипов("Булево"));
Колонка = ЭлементыФормы.ТабличноеПоле2.Колонки.Вставить(0, "Пометка");
Колонка.Имя = "Пометка";
Колонка.Данные="";
Колонка.ДанныеФлажка = "Пометка";
Колонка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
Знаю наизусть!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший