Имя: Пароль:
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, если таблица большая
  КонецЦикла;
1 Fragster
 
гуру
15.06.12
19:11
продолжайте наблюдения
2 smekalov
 
15.06.12
19:14
В статье была использована переменная ТипЗнач:

МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Булево"));
ТипЗнач = Новый ОписаниеТипов(МассивТипов);
3 Reset
 
15.06.12
19:16
Это статья чтоле, госпаде
4 steep1
 
15.06.12
20:29
А как программно установить флажку значение? НоваяСтрока.Пометка = Истина; - не проканывает.
5 smekalov
 
18.06.12
12:15
(4)
Для Каждого Строчка из ТабличноеПоле Цикл
   Строчка.Пометка = ИСТИНА;
   ОбработкаПрерыванияПользователя();
КонецЦикла;
6 proger2011
 
18.06.12
12:19
(0) Это не актуально уже. Давай для упрформ пиши статью.
7 Balabass
 
18.06.12
12:21
ТС проявляет смекалку?
8 Aprobator
 
18.06.12
12:22
не понял, пятница что ли???
9 0xFFFFFF
 
18.06.12
12:30
В 9.0 чувствую будут появляться статьи, как правильно реализовать цикл от 1 до 100...
10 Прохожий
 
18.06.12
13:17
(9) В 9.0 все галочки будут круглые.
11 Aprobator
 
18.06.12
13:21
(10) не - летающие и с крылышками.
12 Прохожий
 
19.06.12
07:12
(11) С крылышками - это не галочки.
13 kosts
 
19.06.12
07:49
(0)
Шаги 2 и 3 выкинуть


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

Знаю наизусть!
14 kosts
 
19.06.12
07:52
(0)
> 5) Интерактивно установим флажки в нескольких строках

Где установка флажка? Рано писать статьи