Имя: Пароль:
1C
1С v8
Условное оформление Списка документов
,
0 alexkr
 
18.06.12
18:20
Доброго времени суток, Уважаемы форумчане!
Возникло у меня желание облегчить жизнь отделу продаж, ну а для этого нужно реализовать небольшую часть функционала CRM системы в тонком клиенте.
В общем все хорошо, дошло дело до "бантиков", и тут же наступил на первые грабли.
Список документов Событие, нужно сделать так чтобы шрифт колонки Контрагент выделялся Определенным шрифтом если контрагент имеет тип "строка", ну как в толстом клиенте.
Логичное решение задача - Условное оформление, и вот тут то мои грабли меня и настигли. УО не знает как сравнить тип значения элемента (ну или я не знаю как это сделать).

ЭлементУсловногоОформления = Список.УсловноеОформление.Элементы.Добавить();
   
   ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
   ПолеОформления.Использование = Истина;
   ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Контрагент");
   
   ПолеОтбора = ЭлементУсловногоОформления.Отбор.элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   ПолеОтбора.ЛевоеЗначение = новый ПолеКомпоновкиДанных("Контрагент");
   //а вот как и с чем сравнить???
   
   ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.ТемноСиний);
   ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(ЭлементУсловногоОформления.Оформление.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Шрифт")).Значение,,,Истина));
   
Если кто то переступил через сии грабельки, поделитесь опытом, ну или хоть идеями - как это обойти без лишней головной боли.
1 alexei366
 
18.06.12
18:34
давайка лучше пример, а то у тя же динамический список скорей всего и у колонки один и тотже тип, немного непонятно чо с чем сравнивать собрался
2 alexkr
 
18.06.12
18:35
Всем спасибо, все заработало...

ЭлементУсловногоОформления = Список.УсловноеОформление.Элементы.Добавить();
   
   ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
   ПолеОформления.Использование = Истина;
   ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Контрагент");
   
   ПолеОтбора = ЭлементУсловногоОформления.Отбор.элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   ПолеОтбора.ЛевоеЗначение = новый ПолеКомпоновкиДанных("Контрагент");
   ПолеОтбора.ПравоеЗначение = Справочники.Контрагенты.ПустаяСсылка();
   ПолеОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.НеВИерархии;
   
   
   ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.ТемноСиний);
   ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(ЭлементУсловногоОформления.Оформление.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Шрифт")).Значение,,,Истина));
   
право, аж стыдно, что не сразу врубился как это обойти
3 alexkr
 
18.06.12
18:36
(1) список не динамический
4 Mort
 
18.06.12
18:56
(3) да ну. А какой?