| 
    
            
         
         | 
    
    
  | 
Покрасить конкретную ячейку дерево значения. | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        antihacker    
     26.12.18 
            ✎
    09:27 
 | 
         
        Всем привет !
 
        Вот так я заполняю дерево. //Цикл по организациям Для Каждого СЗ_ТекЗначение Из СписокОрганизации Цикл //Добавляем ветку ВеткаДЗ1 = ВеткаДЗ0.Строки.Добавить(); ВеткаДЗ1.Наименование = СЗ_ТекЗначение.Значение; //Цикл по Дате ТекДата = Объект.ПериодОт; Пока ТекДата <= Объект.ПериодПо Цикл ИмяПоля = "д" + СтрЗаменить(Формат(ТекДата,"ДЛФ=Д"),".","_"); //отбор Отбор = новый Структура; Отбор.Вставить("Организация",СЗ_ТекЗначение.Значение); Отбор.Вставить("ПЕРИОД",ТекДата); НайтиПоОтбору = ТЗ_Запрос127.НайтиСтроки(Отбор); Если НайтиПоОтбору.Количество() > 0 Тогда Если НайтиПоОтбору[0].СинхронизированССводной Тогда //Загружен и синхронизирован ВеткаДЗ1[ИмяПоля] = 3; Иначе ВеткаДЗ1[ИмяПоля] = 2; //Загружен КонецЕсли; Иначе //Не занружен ВеткаДЗ1[ИмяПоля] = 1; КонецЕсли; //Следующая дата ТекДата = ТекДата + 24*60*60; КонецЦикла; КонецЦикла; Теперь мне нужно в зависимости от значения ячейки, покрасить эту же ячейку на конкретный цвет. Не могу понять как.  | 
|||
| 
    1
    
        tty12    
     26.12.18 
            ✎
    09:35 
 | 
         
        В событии ПриПолученииДанных есть Оформления строк.
 
        Для каждого ТекСтрока из ОформленияСтрок Цикл Если УсловиеВыполняется Тогда ТекСтрока.Ячейки.МояЯчейка(имя колонки).ЦветФона = Новый Цвет(0,0,0); КонецЕсли; КонецЦикла; как-то так.  | 
|||
| 
    2
    
        tty12    
     26.12.18 
            ✎
    09:36 
 | 
         
        (1) это для ОФ. Для УФ см. условное оформление.     
         | 
|||
| 
    3
    
        antihacker    
     26.12.18 
            ✎
    09:37 
 | 
         
        У меня УФ. В Условных оформлениях нету возможности покрасить ячейку. Или я плохо искал.     
         | 
|||
| 
    4
    
        elCust    
     26.12.18 
            ✎
    09:39 
 | 
         
        (3) Есть. В свойствах формы есть условное оформление. Там добавляешь условие и элементы.     
         | 
|||
| 
    5
    
        antihacker    
     26.12.18 
            ✎
    09:48 
 | 
         
        Там нельзя указать,ю что нужно конкретную ячейку. Только строку целиком. Потом мои поля не статичные. Динамические.     
         | 
|||
| 
    6
    
        elCust    
     26.12.18 
            ✎
    09:57 
 | 
         
        (5) Может быть я ошибаюсь, но мне кажется ты сам себе голову пудришь. (Без обид!)     
         | 
|||
| 
    7
    
        tty12    
     26.12.18 
            ✎
    10:03 
 | 
         
        Свойства формы - Оформление - Условное оформление ОТКРЫТЬ - задать условия на оформляемые поля (ячейки).     
         | 
|||
| 
    8
    
        antihacker    
     26.12.18 
            ✎
    10:07 
 | 
         
        Ты мне пришли скин где есть слово ячейки. А то у меня толкько поля написано.     
         | 
|||
| 
    9
    
        antihacker    
     26.12.18 
            ✎
    10:07 
 | 
         
        скрин     
         | 
|||
| 
    10
    
        tty12    
     26.12.18 
            ✎
    10:08 
 | 
         
        поле конкретной строки = ячейка.
 
        другими словами, если условие оформления выполняется, то к полю строки(ячейки) применяется оформление.  | 
|||
| 
    11
    
        antihacker    
     26.12.18 
            ✎
    10:11 
 | 
         
        Так он сразу на строку выполняется. а не на конкретную ячейку. Потом этих ячеек не доступны в оформления, так как они создаются динамический программно.     
         | 
|||
| 
    12
    
        tty12    
     26.12.18 
            ✎
    10:19 
 | 
         
        Не силен в УФ, но думается мне, что нужно программно и условное оформление тогда задавть на динамические колонки.     
         | 
|||
| 
    13
    
        hhhh    
     26.12.18 
            ✎
    10:26 
 | 
         
        (11) еще раз, там список полей задаешь. Список КОНКРЕТНЫХ полей. Как это ты имудряешься задать поля? Что не их красит, а всю строку? Тебе нобелевку надо дать, типа покрасчик всей строки.     
         | 
|||
| 
    14
    
        Лодырь    
     26.12.18 
            ✎
    10:29 
 | 
         
        (11) Оформляемые поля нужные (твою колонку) указывай. А не все подряд.     
         | 
|||
| 
    15
    
        tty12    
     26.12.18 
            ✎
    10:29 
 | 
         
        (13) Он имел ввиду, что имя поля, на которое нужно оформление наложить, неизвестно, т.к. оно кодом добавляется.     
         | 
|||
| 
    16
    
        Лодырь    
     26.12.18 
            ✎
    10:30 
 | 
         
        (15) Как это его сдерживает? Если оно добавляется кодом, то точно так же кодом добавляется и УО     
         | 
|||
| 
    17
    
        antihacker    
     26.12.18 
            ✎
    10:46 
 | 
         
        Лодырь, можно примерчик. Помолюсь за тебя )     
         | 
|||
| 
    18
    
        Лодырь    
     26.12.18 
            ✎
    10:49 
 | 
         
        (17) Мое искать долго, держи чужое http://catalog.mista.ru/public/181336/     
         | 
|||
| 
    19
    
        antihacker    
     26.12.18 
            ✎
    10:51 
 | 
         
        Угу. Как раз читал здесь )     
         | 
|||
| 
    20
    
        antihacker    
     26.12.18 
            ✎
    10:51 
 | 
||||
| 
    21
    
        antihacker    
     26.12.18 
            ✎
    10:51 
 | 
||||
| 
    22
    
        Лодырь    
     26.12.18 
            ✎
    10:53 
 | 
         
        (21) У вас в роду бледнолицых не было?     
         | 
|||
| 
    23
    
        antihacker    
     26.12.18 
            ✎
    11:13 
 | 
         
        Ты о чем ?     
         | 
|||
| 
    24
    
        antihacker    
     26.12.18 
            ✎
    12:50 
 | 
         
        Не ужели получаю ячейку таким образом
 
        ВеткаДЗ1[ИмяПоля]; Нельзя здесь же сразу задать цвет фона ?  | 
|||
| 
    25
    
        catena    
     26.12.18 
            ✎
    13:03 
 | 
         
        (24)А вручную без УО можешь задать ячейке цвет фона?     
         | 
|||
| 
    26
    
        antihacker    
     26.12.18 
            ✎
    13:06 
 | 
         
        Нет. Просто не знаю как впихнуть УО в цикл....     
         | 
|||
| 
    27
    
        FIXXXL    
     26.12.18 
            ✎
    13:13 
 | 
         
        (26) зачем УО в цикл?     
         | 
|||
| 
    28
    
        antihacker    
     26.12.18 
            ✎
    13:16 
 | 
         
        Ну а как  ? Например мне нужно покрасить ячейку в красный цвет, если ВеткаДЗ1[ИмяПоля] = 3.     
         | 
|||
| 
    29
    
        catena    
     26.12.18 
            ✎
    13:23 
 | 
         
        (27)Т.е., все "3" по всему дереву в этом "ИмяПоля" или только в конкретной строке?     
         | 
|||
| 
    30
    
        antihacker    
     26.12.18 
            ✎
    13:25 
 | 
         
        В конкретной ячейке. По всему дереву, значение любой ячейки может принимать значение 3.     
         | 
|||
| 
    31
    
        antihacker    
     26.12.18 
            ✎
    13:26 
 | 
         
        И эти ячейки нужно будет покрасить. А столбцы за ранее не известны. Создаются динамически программно.
 
        //---Массив для список дат МСВ_СписокДат = Новый Массив; // 1. получаем дерево как програмный объект ДеревоОбъект = РеквизитФормыВЗначение("ДЗ_РезАнализа"); //Цикл по дате ТекДата = Объект.ПериодОт; Пока ТекДата <= Объект.ПериодПо Цикл //Добавим в массив МСВ_СписокДат.Добавить(ТекДата); //Отформатированная дата ДатаКакСтрока = Формат(ТекДата,"ДЛФ=Д"); ИмяПоле = "д" + СтрЗаменить(ДатаКакСтрока,".","_"); //Заголовок ЗаголовокПоле = Лев(ДатаКакСтрока,10); // 2. добавляем колонку ДеревоОбъект.Колонки.Добавить(ИмяПоле, Новый ОписаниеТипов("Строка")); // 3. создаем РЕКВИЗИТ КОЛОНКИ (невидимая часть, справа в редакторе форм) МассивДобавляемыхРеквизитов = Новый Массив; // реквизит принадлежит дереву МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(ИмяПоле, Новый ОписаниеТипов("Строка"), "ДЗ_РезАнализа")); // добавляем реквизит в форму (невидимая часть, справа в редакторе форм) ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); // 4. заполняем дерево (реквизит формы) занчением ЗначениеВРеквизитФормы(ДеревоОбъект, "ДЗ_РезАнализа"); // 5. добавляем НА ФОРМУ (видимая часть, слева в редакторе форм) // назовем ДеревоУзел, принадлежит элементу дерева, связан с добавленной колонкой «Узел» ДеревоУзел = СокрЛП(ДеревоУзел)+ИмяПоле; НовыйЭлемент = Элементы.Добавить(ДеревоУзел, Тип("ПолеФормы"), Элементы.ФДЗ_РезАнализа); НовыйЭлемент.Заголовок = ЗаголовокПоле; НовыйЭлемент.Ширина = 10; НовыйЭлемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Центр; НовыйЭлемент.Шрифт = Новый Шрифт(НовыйЭлемент.Шрифт,,72,Истина,,,,30); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "ДЗ_РезАнализа."+ИмяПоле; ТекДата = ТекДата + 24*60*60; КонецЦикла;  | 
|||
| 
    32
    
        catena    
     26.12.18 
            ✎
    13:31 
 | 
         
        (30)Ты не понял. УО накладывается на всё дерево целиком. Еще до существования дерева. Нельзя наложить УО на одну строчку. Если ты хочешь, чтобы 3 в колонке ИмяПоля в одной строке раскрашивалось, а в другой не раскрашивалось, тебе для УО нужно дополнительное значение фильтра, которое идентифицирует строку однозначно. Например, скрытый столбец, в который в своем цикле пишешь "раскрасить в черный", "раскрасить в красный". 
 
        А в УО ~отдельно от дерева~ добавляешь элементы "допстолбец="раскрасить в черный"; ЦветФона=красный; оформляемые поля=ИмяПоля"  | 
|||
| 
    33
    
        antihacker    
     26.12.18 
            ✎
    13:39 
 | 
         
        Это как до существования ? Это в каком жизненном цикле формы надо установить привалы ?     
         | 
|||
| 
    34
    
        catena    
     26.12.18 
            ✎
    13:43 
 | 
         
        (33)Вот есть у тебя список документов. Ты установил отбор, например, по какой-то организации. Потом создаешь документ из этого же списка, но с другой организацией, что будет? Он не появится в списке. Потому что отбору все равно в какой момент ты этот документ создал, он обрабатывает и новые и старые. 
 
        УО - это как отбор, только не скрывает, а раскрашивает.  | 
|||
| 
    35
    
        catena    
     26.12.18 
            ✎
    13:45 
 | 
         
        Ты же не можешь отбору сказать: в пятой строке филиал 5 показать, а в восьмой скрыть. Потому что отбору насрать на строки, он с таблицей целиком работает. А вот условие "номерСтроки=5 И филиал=5" - будет работать.     
         | 
|||
| 
    36
    
        FIXXXL    
     26.12.18 
            ✎
    13:45 
 | 
         
        (33) ты видимо плохо представляешь как работает УО...
 
        примерно: ты описываешь по какому условию и что нужно сделать платформа на каждый чих списка крутит цикл по видимым строкам и применяет твои, к примеру, раскраски к указанным областям, если строка подпадает под указанное условие  | 
|||
| 
    37
    
        antihacker    
     26.12.18 
            ✎
    13:49 
 | 
         
        Думал вот так можно.
 
        СтруктурныйОбзорДЗ_РФЗ = РеквизитФормыВЗначение("ДЗ_РезАнализа"); Для Каждого СтрокаДанных Из СтруктурныйОбзорДЗ_РФЗ.Строки Цикл // Условное оформление - Номер первой строки //СтрокаДанных.ВерсияППОтображение = ПолучитьНомерВерсииПП(СтрокаДанных.НоваяВерсия); НовыйЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); //НовыйЭлементУсловногоОформления.ИдентификаторПользовательскойНастройки = ""Стр.НомерСтроки; НовыйЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); //НовыйЭлементУсловногоОформления.Представление = "СозданоПрограммно"; НовыйЭлементУсловногоОформления.Использование = Истина; ЭлементОтбора = НовыйЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа.Наименование"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = "Документ127"; КонецЦикла; ЗначениеВРеквизитФормы(СтруктурныйОбзорДЗ_РФЗ, "ДЗ_РезАнализа"); Не работает. Это применяю я после того как все строчки добавились и дерево готовое с данными.  | 
|||
| 
    38
    
        antihacker    
     26.12.18 
            ✎
    13:50 
 | 
         
        Ой извините. цикл тут ни причем )     
         | 
|||
| 
    39
    
        antihacker    
     26.12.18 
            ✎
    13:57 
 | 
         
        Вот следую примеру
 
        http://catalog.mista.ru/public/181336/ Вижу строку ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить(); В моем случае должно быть так ЭлементОформления = ДЗ_РезАнализа.УсловноеОформление.Элементы.Добавить(); ДЗ_РезАнализа - это объект дерево. Пишет что УсловноеОформление не существует. и сразу же здесь проблема  | 
|||
| 
    40
    
        FIXXXL    
     26.12.18 
            ✎
    14:03 
 | 
         
        (39) ну напиши ЭтотОбъект.УсловноеОформление     
         | 
|||
| 
    41
    
        antihacker    
     26.12.18 
            ✎
    14:46 
 | 
         
        Получилось вот так
 
        ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа.Наименование"); ЭлементОтобора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора.ПравоеЗначение = "Документ127"; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный); ЭлементОтобора.Использование = Истина; ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ФДЗ_РезАнализа.Наименование"); ПолеОформления.Использование = Истина; Зараза не работает  | 
|||
| 
    42
    
        antihacker    
     26.12.18 
            ✎
    15:01 
 | 
         
        Кажись не работает из за этого.
 
        ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); Но так так можно ЭтотОбъект.ДЗ_РезАнализа.УсловноеОформление.Элементы.Добавить(); если ДЗ_РезАнализа динамический список.  | 
|||
| 
    43
    
        antihacker    
     27.12.18 
            ✎
    07:19 
 | 
         
        Вроде решил так !     
         | 
|||
| 
    44
    
        antihacker    
     27.12.18 
            ✎
    07:20 
 | 
         
        //Отформатированная дата
 
        ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа.Наименование"); ЭлементОтобора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора.ПравоеЗначение = "Документ127"; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); ЭлементОтобора.Использование = Истина; ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Наименование"); ПолеОформления.Использование = Истина; //Цикл по дате ТекДата = Объект.ПериодОт; Пока ТекДата <= Объект.ПериодПо Цикл //Отформатированная дата ДатаКакСтрока = Формат(ТекДата,"ДЛФ=Д"); ИмяПоле = "д" + СтрЗаменить(ДатаКакСтрока,".","_"); ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа."+ИмяПоле); ЭлементОтобора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора.ПравоеЗначение = "-"; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); ЭлементОтобора.Использование = Истина; ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ИмяПоле); ПолеОформления.Использование = Истина; ТекДата = ТекДата + 24*60*60; КонецЦикла; Но работает только на первый столбец. Помогите.  | 
|||
| 
    45
    
        Лодырь    
     27.12.18 
            ✎
    07:53 
 | 
         
        Первый столбец - наименование? )))     
         | 
|||
| 
    46
    
        antihacker    
     27.12.18 
            ✎
    08:02 
 | 
         
        Ога ! Но его можно и убрать. Прикол в том что строку ТекДата = ТекДата + 24*60*60; переместить на начало цикла, то даже первый столбец не красится )     
         | 
|||
| 
    47
    
        antihacker    
     27.12.18 
            ✎
    08:05 
 | 
         
        Хотя по идее должен покрасится второй столбец )     
         | 
|||
| 
    48
    
        catena    
     27.12.18 
            ✎
    08:05 
 | 
         
        (46)Ну пройдись отладчиком, не ладно что-то с именем поля значит. Загляни в УО после установки в режиме предприятия, посмотри, что там наваялось.     
         | 
|||
| 
    49
    
        Лодырь    
     27.12.18 
            ✎
    08:06 
 | 
         
        (47) все верно, ищи косяк в имени поля.     
         | 
|||
| 
    50
    
        antihacker    
     27.12.18 
            ✎
    08:17 
 | 
         
        В том то и дело, что с именами полей нет проблем.     
         | 
|||
| 
    51
    
        antihacker    
     27.12.18 
            ✎
    08:20 
 | 
         
        Я даже пробовал вот так. Все равно второе поле не красится 
 
        ТекДата = Объект.ПериодОт; //Пока ТекДата <= Объект.ПериодПо Цикл //Отформатированная дата ДатаКакСтрока = Формат(ТекДата,"ДЛФ=Д"); ИмяПоле = "д" + СтрЗаменить(ДатаКакСтрока,".","_"); ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа."+ИмяПоле); ЭлементОтобора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора.ПравоеЗначение = "-"; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); ЭлементОтобора.Использование = Истина; ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ИмяПоле); ПолеОформления.Использование = Истина; ТекДата = ТекДата + 24*60*60; //Отформатированная дата ДатаКакСтрока = Формат(ТекДата,"ДЛФ=Д"); ИмяПоле1 = "д" + СтрЗаменить(ДатаКакСтрока,".","_"); ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа."+ИмяПоле1); ЭлементОтобора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора.ПравоеЗначение = "-"; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); ЭлементОтобора.Использование = Истина; ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ИмяПоле1); ПолеОформления.Использование = Истина;  | 
|||
| 
    52
    
        antihacker    
     27.12.18 
            ✎
    08:32 
 | 
         
        Косяк нашел. Здесь
 
        ДеревоУзел = СокрЛП(ДеревоУзел)+ИмяПоле; НовыйЭлемент = Элементы.Добавить(ДеревоУзел, Тип("ПолеФормы"), Элементы.ФДЗ_РезАнализа); Это ДеревоУзел = СокрЛП(ДеревоУзел)+ИмяПоле; переделал на это ДеревоУзел = ИмяПоле;  | 
|||
| 
    53
    
        antihacker    
     27.12.18 
            ✎
    08:42 
 | 
         
        А теперь так
 
        //Цикл по дате ТекДата = Объект.ПериодОт; Пока ТекДата <= Объект.ПериодПо Цикл //Отформатированная дата ДатаКакСтрока = Формат(ТекДата,"ДЛФ=Д"); ИмяПоле = "д" + СтрЗаменить(ДатаКакСтрока,".","_"); ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа."+ИмяПоле); ЭлементОтобора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора.ПравоеЗначение = "-"; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); ЭлементОтобора.Использование = Истина; ЭлементОформления1 = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления1 = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора1 = ЭлементОформления1.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа."+ИмяПоле); ЭлементОтобора1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора1.ПравоеЗначение = "++"; ЭлементОформления1.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Зеленый); ЭлементОтобора1.Использование = Истина; ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ИмяПоле); ПолеОформления.Использование = Истина; ТекДата = ТекДата + 24*60*60; КонецЦикла; Почему то работает только условие ЭлементОтобора.ПравоеЗначение = "-"; А условие ЭлементОтобора.ПравоеЗначение = "++"; не работает  | 
|||
| 
    54
    
        catena    
     27.12.18 
            ✎
    08:46 
 | 
         
        А чего поле оформления только в ЭлементОформления добавлено?     
         | 
|||
| 
    55
    
        antihacker    
     27.12.18 
            ✎
    09:25 
 | 
         
        catena, Красавчик  !
 
        Итого получился. Кому если пригодится. &НаСервере Процедура ЛегендаНаСервере() //Цикл по дате ТекДата = Объект.ПериодОт; Пока ТекДата <= Объект.ПериодПо Цикл //Отформатированная дата ДатаКакСтрока = Формат(ТекДата,"ДЛФ=Д"); ИмяПоле = "д" + СтрЗаменить(ДатаКакСтрока,".","_"); //Отметка как НЕ загружен ЭлементОформления = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа."+ИмяПоле); ЭлементОтобора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора.ПравоеЗначение = "-"; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Красный); ЭлементОтобора.Использование = Истина; ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ИмяПоле); ПолеОформления.Использование = Истина; //Отметка как загружен ЭлементОформления1 = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления1 = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора1 = ЭлементОформления1.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа."+ИмяПоле); ЭлементОтобора1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора1.ПравоеЗначение = "+"; ЭлементОформления1.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Оранжевый); ЭлементОтобора1.Использование = Истина; ПолеОформления1 = ЭлементОформления1.Поля.Элементы.Добавить(); ПолеОформления1.Поле = Новый ПолеКомпоновкиДанных(ИмяПоле); ПолеОформления1.Использование = Истина; //Отметка как загружен и синхронизирован ЭлементОформления1 = ЭтотОбъект.УсловноеОформление.Элементы.Добавить(); ЭлементУсловногоОформления1 = УсловноеОформление.Элементы.Добавить(); ЭлементОтобора1 = ЭлементОформления1.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтобора1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДЗ_РезАнализа."+ИмяПоле); ЭлементОтобора1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтобора1.ПравоеЗначение = "++"; ЭлементОформления1.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.ЗеленаяЛужайка); ЭлементОтобора1.Использование = Истина; ПолеОформления1 = ЭлементОформления1.Поля.Элементы.Добавить(); ПолеОформления1.Поле = Новый ПолеКомпоновкиДанных(ИмяПоле); ПолеОформления1.Использование = Истина; ТекДата = ТекДата + 24*60*60; КонецЦикла; КонецПроцедуры  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |