|
|
СКД. Программное создание условного оформления |
☑ |
|
0
nemoxp
15.09.16
✎
12:20
|
Для отчета на СКД нужно создать программно условное оформление. Источник данных для отчета - запрос. Написал такой код в обработчике при открытии:
ЭлементОформления = КомпоновщикНастроек.Настройки.Структура[0].УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Использование = Истина;
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = КомпоновщикНастроек.Настройки.Структура[0].УсловноеОформление.ДоступныеПоляПолей.Элементы.Найти("Номенклатура").Элементы.Найти("Номенклатура.СтатусТовара").Поле;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Справочники.ПланированиеЗаказов.НайтиПоКоду("000000002");
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 126, 126));
Открываю настройки отчета, на закладке Условное Оформление пусто. Настроить через интерфейс СКД не устраивает тем, что функционал урезан.
Ошибок не выдает. Кто знает - помогите плз!
|
|
|
1
nemoxp
15.09.16
✎
12:21
|
платформа 8.2
|
|
|
2
nemoxp
15.09.16
✎
13:02
|
Вот так работает:
ЭлементОформления = КомпоновщикНастроек.Настройки.УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Использование = Истина;
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура.СтатусТовара");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Справочники.ПланированиеЗаказов.НайтиПоКоду("000000002");
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 126, 126));
Так то. Пользуйтесь, неучи.
|
|
|
3
nemoxp
15.09.16
✎
13:24
|
Кто знает, как в правое значение загрузить список номенклатуры с видом сравнения "в списке"?
|
|
|
4
Nuobu
15.09.16
✎
13:25
|
(3) Как неуч неучу отвечу тебе: поменять видСравниения.
|
|
|
5
nemoxp
15.09.16
✎
13:29
|
Пишу "в списке". Создаю новый список значений. А в предприятии список пустой, если его открыть. Везде пустое значение
|
|
|
6
nemoxp
15.09.16
✎
13:32
|
СписокНоменклатуры = новый списокзначений;
Пока Выборка.Следующий() цикл
СписокНоменклатуры.Добавить(Выборка.Номенклатура);
КонецЦикла;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.ПравоеЗначение = СписокНоменклатуры;
В предприятии открываю этот список и везде "пустое значение". Что не так?
|
|
|
7
nemoxp
15.09.16
✎
13:33
|
Все ок. Вопрос снят. Не то поле установил для отбора.
|
|