Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

СКД. Программное создание условного оформления

СКД. Программное создание условного оформления
Я
   nemoxp
 
15.09.16 - 12:20
Для отчета на СКД нужно создать программно условное оформление. Источник данных для отчета - запрос. Написал такой код в обработчике при открытии:

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


Открываю настройки отчета, на закладке Условное Оформление пусто. Настроить через интерфейс СКД не устраивает тем, что функционал урезан.

Ошибок не выдает. Кто знает - помогите плз!
 
 
   nemoxp
 
1 - 15.09.16 - 12:21
платформа 8.2
   nemoxp
 
2 - 15.09.16 - 13:02
Вот так работает:

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

Так то. Пользуйтесь, неучи.
   nemoxp
 
3 - 15.09.16 - 13:24
Кто знает, как в правое значение загрузить список номенклатуры с видом сравнения "в списке"?
   Nuobu
 
4 - 15.09.16 - 13:25
(3) Как неуч неучу отвечу тебе: поменять видСравниения.
   nemoxp
 
5 - 15.09.16 - 13:29
Пишу "в списке". Создаю новый список значений. А в предприятии список пустой, если его открыть. Везде пустое значение
   nemoxp
 
6 - 15.09.16 - 13:32
СписокНоменклатуры = новый списокзначений;
Пока Выборка.Следующий() цикл
     СписокНоменклатуры.Добавить(Выборка.Номенклатура);
КонецЦикла;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.ПравоеЗначение = СписокНоменклатуры;

В предприятии открываю этот список и везде "пустое значение". Что не так?
   nemoxp
 
7 - 15.09.16 - 13:33
Все ок. Вопрос снят. Не то поле установил для отбора.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует