Имя: Пароль:
1C
1С v8
Условное оформление, не работает.
0 TristanTorn
 
10.08.15
15:55
Не правленная конфа УТ11, необходимо выделить текст красным в ТЧ товары, если номенклатура находится в группе. Вот код которым пытаюсь это сделать, но почему то не работает -
Элемент = ЭтаФорма.УсловноеОформление.Элементы.Добавить();
    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ТоварыНоменклатура");
    Элемент.Использование = Истина;
    ПолеЭлемента.Использование = Истина;
    ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура");
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ОтборЭлемента.ПравоеЗначение = Справочники.Номенклатура.НайтиПоКоду("00000001836");
    ОтборЭлемента.Использование = Истина;
    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
1 Nuobu
 
10.08.15
16:00
(0) Нужно создать поле в форме, в котором укажешь группу номенклатуры, заполнить его и использовать в сравнении.
А так получается, что ты сравниваешь саму номенклатуру с нужной тебе группой, а не её группу.
2 TristanTorn
 
10.08.15
16:25
А если сделать так -
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура");
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
    ОтборЭлемента.ПравоеЗначение = Справочники.Номенклатура.НайтиПоКоду("00000001836");
3 Nuobu
 
10.08.15
16:37
(2) в Условном оформлении нет сравнения "В иерархии".
4 TristanTorn
 
11.08.15
07:47
Спасибо.
5 TristanTorn
 
11.08.15
08:18
ГРуппаНоменклатура = Справочники.Номенклатура.НайтиПоКоду("00000001836");
    Элемент = ЭтаФорма.УсловноеОформление.Элементы.Добавить();
    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ТоварыНоменклатура");
    Элемент.Использование = Истина;
    ПолеЭлемента.Использование = Истина;
    ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.ГруппаНоменклатуры");
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ОтборЭлемента.ПравоеЗначение = ГРуппаНоменклатура;
    ОтборЭлемента.Использование = Истина;
    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);

Сделал таким образом, вытащил на форму поле с группой номенклатуры, но все равно при сравнении ничего не происходит.