Имя: Пароль:
1C
 
Как вывести флаг в табличном поле
0 iva77ru
 
17.02.10
12:29
Подскажите, пожалуйста, как вывести флажок в табличном поле, если тип значения Табличного поля - таблица значений?
1 Дикообразко
 
17.02.10
12:30
ДанныеФлажка заполни
2 mirosh
 
17.02.10
12:31
(1) плюс пустой формат для булевого  + редактировать непосредственно
3 iva77ru
 
17.02.10
12:51
Если колонки добавлять в ручную, то понятно. А если формировать программно:

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

А как дальше описать для колонки "Изменить", что элемент упавления - это "Флажок"?
4 Дикообразко
 
17.02.10
12:52
КолонкаТабличногоПоля (TableBoxColumn)
УстановитьЭлементУправления (SetControl)
Синтаксис:
УстановитьЭлементУправления(<Тип элемента управления>)
Параметры:
<Тип элемента управления> (обязательный)
Тип: Тип. Тип элемента управления, устанавливаемого в качестве редактора.
Описание:
Устанавливает новый вид элемента управления, используемого в качестве редактора значения ячейки данной колонки табличного поля.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Пример:
ТекКолонка = ЭлементыФормы.ТабличноеПоле.Колонки[2];
ТекКолонка.УстановитьЭлементУправления(Тип("Флажок"));
5 iva77ru
 
17.02.10
12:55
Спасибо! Одним чайником стало чуть-меньше.
6 mirosh
 
17.02.10
12:57
(5) оптимистично )
7 iva77ru
 
17.02.10
13:22
Поторопился...
Осталась проблема:
Добавляем новую строку - в предыдущей строке вместо флажка появляется надпись "Истина" или "Ложь" в зависимости от флага. А как сделать так, чтобы всегда был только флажок ?
8 Aprobator
 
17.02.10
13:35
Событие ТабличногоПоля ПриВыводеСтроки()
ОформлениеСтроки.Ячейки.ИмяТвоейКолонки.ОтоборажатьТекст = Ложь;
9 MrZLO
 
17.02.10
13:38
(7) покажи как ты строки заполняешь в табличном поле форме...
10 iva77ru
 
17.02.10
14:01
Вот код:

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

Процедура ТабличноеПолеКонстантыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
   ОформлениеСтроки.Ячейки.Изменить.ОтображатьТекст = Ложь;
   ОформлениеСтроки.Ячейки.Изменить.ОтображатьФлажок = Истина;
КонецПроцедуры

Осталась одна проблема:
Если щелкнуть мышкой по колонке "Изменить", то рядом с флажком появляется выбор Истина - Ложь. Как это устранить?
11 iva77ru
 
17.02.10
14:03
Забыл - заполнение строк:
Процедура ПриОткрытии()
   Для каждого Конст Из метаданные.Константы Цикл
       стр = тзКонстанты.Добавить();
       стр.Имя = Конст.Имя;
       стр.ТекЗначение = Константы[Конст.Имя].Получить();

       стр.НовЗначение = стр.ТекЗначение;
   КонецЦикла;
КонецПроцедуры
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn