Имя: Пароль:
1C
 
Не отрабатывает условное оформление програмно
0 Sova112
 
13.06.16
11:22
Доброго время дня,
написала УО для таблитчной части, процедура отрабатывает нормально.

Процедура ОформитьСтрокиТЧ(Объект,УсловноеОформление,ТипОбъектаПодробный,ИмяТЧ) Экспорт
    ТипОбъектаСтр               = СтрЗаменить(ТипОбъектаПодробный,".",Символы.ПС);
    ТипОбъектаКраткий           = СтрПолучитьСтроку(ТипОбъектаСтр,1);
    ИмяОформляемогоМетаданного  = СтрПолучитьСтроку(ТипОбъектаСтр,2);

      ТипОбъектаКраткий = "Документы";


    ОбъектДанные = ДанныеФормыВЗначение(Объект,Тип(ТипОбъектаПодробный));

    Для каждого СтрТЧ Из ОбъектДанные.Товары Цикл
        
        Если НЕ ЗначениеЗаполнено(СтрТЧ.Серия) Тогда
            Продолжить;
        КонецЕсли;
        
        Если СтрТЧ.Серия.ГоденДо = дата("00010101") Тогда
            Продолжить;

        КонецЕсли;

        Процент = НайтиЗначениеПроцента();
        
        Если Процент = 0 Тогда
            Продолжить;
        КонецЕсли;
        
         КолДней =(НачалоДня(СтрТЧ.Серия.ГоденДо) -НачалоДня(ТекущаяДата()))/86400;
        
         ПроцентРезультат = 0;
        ПроцентРезультат = 100*КолДней/365;

        
        
        Если ПроцентРезультат <= Процент Тогда
            
            
            ОбъектСОформлением  = СтрТЧ.НомерСтроки;
            
            ЦветФонаСтроки      = WebЦвета.Красный;
            //ЦветШрифтаСтроки    = WebЦвета.Красный;
            
            
            ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
            ЭлементУсловногоОформления.Использование    = Истина;
            
            ОформлениеУО        = ЭлементУсловногоОформления.Оформление;
            ОтборУО             = ЭлементУсловногоОформления.Отбор;
            ОформляемыеПоляУО   = ЭлементУсловногоОформления.Поля;
            
            
            ОформлениеУО.УстановитьЗначениеПараметра("ЦветФона", ЦветФонаСтроки);
            //ОформлениеУО.УстановитьЗначениеПараметра("ЦветТекста", ЦветШрифтаСтроки);
            //ОформлениеУО.УстановитьЗначениеПараметра("Шрифт", ШрифтСтроки);
            
            ЭлементОтбора                = ОтборУО.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Объект.НомерСтроки" );
            ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
            ЭлементОтбора.ПравоеЗначение = ОбъектСОформлением;
            ЭлементОтбора.Использование  = Истина;
            
            Для каждого РеквизитТЧ Из Метаданные[ТипОбъектаКраткий][ИмяОформляемогоМетаданного].ТабличныеЧасти[ИмяТЧ].Реквизиты Цикл
                
                НазваниеРеквизита   = РеквизитТЧ.Имя;
                ОформляемоеПоле     = ОформляемыеПоляУО.Элементы.Добавить();
                ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧ + НазваниеРеквизита);
                
            КонецЦикла;
            
            ОформляемоеПоле      = ОформляемыеПоляУО.Элементы.Добавить();
            ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧ + "НомерСтроки");
        КонецЕсли;
        
    КонецЦикла;
КонецПроцедуры
1 Sova112
 
13.06.16
11:24
но цвет строк не меняется, добавила так же в процедуру УстановитьУсловноеОформление. Все равно не отрабатыает. Или на секунду становится красным, если делаю условное оформление  через форму.
Подскажите что не так?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс