Имя: Пароль:
1C
1С v8
Как раскрасить динамический список из данных самого списка?
0 ГдеСобака Зарыта
 
15.08.14
15:04
8.3.4
Есть справочник с реквизитом Цвет. В форме списка надо раскрасить строки цветами из этого реквизита. Как такое сделать?
1 elCust
 
15.08.14
15:12
Нужно сделать соответствие: Реквизит цвет <-> код цвета. Дальше по значению реквизита получаешь код цвета и красишь.
2 Поpyчик-4
 
15.08.14
15:13
(0) Через условия в условном оформлении.
3 ГдеСобака Зарыта
 
15.08.14
15:15
(2) Напиши пример условия. Я никак не могу придумать
4 Drac0
 
15.08.14
15:18
(0) Как вариант, программно генерировать условное оформление при открытие формы.
5 Поpyчик-4
 
15.08.14
15:18
(3) Делается в конфигураторе.
6 ГдеСобака Зарыта
 
15.08.14
15:21
ЭлементУО = УО.Добавить();
    ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", Цвет);
    ЭлементУсловия = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("....");
    ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементУсловия.ПравоеЗначение = ...

Заполните мне, плиз, многоточия
7 Drac0
 
15.08.14
15:25
(6) А как ты цвет хранишь?
8 ГдеСобака Зарыта
 
15.08.14
15:27
(7) ЗначениеВСтрокуВнутр()
9 Drac0
 
15.08.14
15:35
(8) Значит, строкой. Тогда как-то так.

Для Каждого пЦветСтр Из ДоступныеЦвета() Цикл
ЭлементУО = УО.Добавить();
    ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЗначениеИзСтрокиВнутр(пЦветСтр));
    ЭлементУсловия = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("МойСписок.Цвет");
    ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементУсловия.ПравоеЗначение = пЦветСтр

КонецЦикла
10 ГдеСобака Зарыта
 
15.08.14
15:42
А-а-а-а. В предприятии есть фича в отборе условного оформления "Использовать в качестве значения поле". Где ее в конфигураторе найти?
11 ГдеСобака Зарыта
 
15.08.14
15:48
(9) Спасибо, друг
2 + 2 = 3.9999999999999999999999999999999...