Имя: Пароль:
1C
1С v8
УФ УсловноеОформление, ПриВыводеСтроки
0 Snork
 
31.01.14
12:07
Есть УФ форма на ней программно создается таблица и заполняется данными.

Нужно выделять особым фоном те ячейки (не строки) таблицы, для которых выполнится некое условие. Как?

Таблица на форме имеет тип ТаблицаЗначений, а не динамический список, не СКД. Не нашел какому именно объекту установить УсловноеОформление
1 Wobland
 
31.01.14
12:09
в свойствах формы поройся
2 ДенисЧ
 
31.01.14
12:09
Форме, а не таблице настраивай УО
3 Snork
 
31.01.14
12:39
(2) на форме условное оформление доступно для редактирования в конфигураторе, а у меня таблица программно создается и рисуется, т.е. заранее колонки, условие не известны.
Получается такую задачу не решить?
4 Wobland
 
31.01.14
12:40
(3) двигая мышью в конфигураторе? нет
5 andreymongol82
 
31.01.14
12:41
(3) Рисуй условное оформление программно :). Там делов то на пару дестяков строчек
6 Snork
 
31.01.14
12:43
(4), (5) так оно только на чтение:

УправляемаяФорма (ManagedForm)
УсловноеОформление (ConditionalAppearance)
Использование:
Только чтение.
7 andreymongol82
 
31.01.14
12:45
ЭьаФорма.Условноеоформление.Очистить()
НовоеОформление = ЭтаФорма.УсловноеОформление.Элементы.Добавить();    
    НовоеУсловиеОтбора = НовоеОформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    
    НовоеУсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Распределение.Аналитика_1_Активность");
    НовоеУсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    НовоеУсловиеОтбора.ПравоеЗначение = Ложь;
    НовоеУсловиеОтбора.Использование = Истина;
    
    НовоеОформление.Оформление.Элементы[1].Значение = новый Цвет(255,0,0); //цвет текста красный
    НовоеОформление.Оформление.Элементы[1].Использование = Истина;

    
    НовыйЭлементОформления = НовоеОформление.Поля.Элементы.Добавить();
    НовыйЭлементОформления.Использование = Истина;
    НовыйЭлементОформления.Поле = Новый ПолеКомпоновкиДанных("РаспределениеАналитика_1");
8 andreymongol82
 
31.01.14
12:46
Тьфу, вместо ЭьаФорма.Условноеоформление.Очистить() следует
ЭтаФорма.Условноеоформление.Очистить().
как-то так.
9 Snork
 
31.01.14
14:04
(7) спс