|   |   | 
| 
 | Покрасить конкретную ячейку дерево значения. | ☑ | ||
|---|---|---|---|---|
| 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; КонецЦикла; КонецПроцедуры | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |