Имя: Пароль:
1C
1С v8
Программное создание флажка в табличном поле 1С
, ,
0 smekalov
 
15.06.12
19:08
1. Знаю наизусть! 100% (1)
2. Всегда забываю как это сделать! 0% (0)
3. Не пользуюсь такими возможностями! 0% (0)
Всего мнений: 1

1) Создаем колонку в таблице значений, т.к. обычно в ней подготавливаются необходимые данные для работы

  ТаблицаЗначений.Колонки.Вставить(0,"Пометка",ТипЗнач,"Метка",5);    

2) Загружаем таблицу значений в табличное поле

  ЭлементыФормы.ТабличноеПоле.Значение = ТаблицаЗначений.Скопировать();
  ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();

3) В событии "ПриВыводеСтроки" элемента ТабличноеПоле пишем:

  ОформлениеСтроки.Ячейки.Пометка.ОтображатьФлажок=Истина;
  ОформлениеСтроки.Ячейки.Пометка.ОтображатьТекст=Ложь;

  После этого в колонке уже будет флажок, который интерактивно можно включать/выключать.

4) Для того, чтобы можно было считывать значение флажка не через оформление строки, настроим данные для колонки "Пометка":

  ЭлементыФормы.ТабличноеПоле.Колонки.Пометка.Данные = "";
  ЭлементыФормы.ТабличноеПоле.Колонки.Пометка.ДанныеФлажка = "Пометка";
  ЭлементыФормы.ТабличноеПоле.Колонки.Пометка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;

5) Интерактивно установим флажки в нескольких строках, и проверим наличие флажков программно:
 
  Для Каждого Строчка из ТабличноеПоле Цикл
   Сообщить(Строчка.пометка);
   ОбработкаПрерыванияПользователя(); // для прерывания цикла по Ctrl+Break, если таблица большая
  КонецЦикла;
13 kosts
 
19.06.12
07:49
(0)
Шаги 2 и 3 выкинуть


ТабличноеПоле2.Колонки.Добавить("Пометка", Новый ОписаниеТипов("Булево"));
Колонка = ЭлементыФормы.ТабличноеПоле2.Колонки.Вставить(0, "Пометка");
Колонка.Имя = "Пометка";
Колонка.Данные="";
Колонка.ДанныеФлажка = "Пометка";
Колонка.РежимРедактирования =  РежимРедактированияКолонки.Непосредственно;

Знаю наизусть!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший