Имя: Пароль:
1C
1С v8
Оформление ТЗ УФ
0 nAPACEHAK
 
22.05.14
11:18
Добра всем

Есть колонка ТЗ с датами
01-01-14 00:10
01-01-14 13:25
02-01-14 10:15
02-01-14 17:29
02-01-14 11:55
03-01-14 14:42 итд

Можно ли раскрасить ТЗ в зависисимости от даты? т.е типа как чередование строк, но тут чередование суток (выделить визуально суточные интервалы)

ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ДатаВремя");
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТЗ1.ДатаВремя");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.??????????;
ЭлементОтбора.ПравоеЗначение = ??????????;
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.ГрифельноСерый);

Может при создании ТЗ что то типа сформировать чередующийся список ДД-ММ-ГГ и потом

ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.ПравоеЗначение = Список

тогда со временем как поступить?
1 kosts
 
22.05.14
11:31
(0) В условии можно сделать между датами или в списке.
2 nAPACEHAK
 
22.05.14
11:34
(1) В условии можно сделать между датами = ?
3 bvg
 
22.05.14
11:54
если пропусков дат нет, то можно по четным и не четным красить , если пропуски есть, вариант не подойдет
4 Timon1405
 
22.05.14
12:08
Может быть
1) добавить в ТЗ колонку НачалоДня(ВашаДата)
2) ВыгрузитьКолонку в массив
3) Скопировать в начало массива его первый элемент, удалить последний
4) Добавить в ТЗ еще одну колонку НачалоСледующегоДня
5) загрузить массив в колонку
6) ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТЗ1.НачалоДня");
ВидСравненияКомпоновкиДанных.Равно;
   ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("ТЗ1.НачалоСледующегоДня");
5 nAPACEHAK
 
22.05.14
12:18
(3) пропуски дат возможны
(4) в голове крутится похожий вариант
сделать еще колонку ТЗ - булево - и на стадии заполнения таблицы. т.к таблица отсортирована по "ДатаВремя Возр" то Если меняется дата по сравнению с предыдущей строкой, то инвертировать булево.
потом
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно
ЭлементОтбора.ПравоеЗначение = Истина

может так?
6 kosts
 
22.05.14
12:18
"Между" можно организовать с помощью ГруппаЭлементовОтбораКомпоновкиДанных (вроде).
Но возможно проще всего будет использовать дополнительную колонку (невидимую) с датой начала дня и сравнение в списке.
В список добавляем даты которые нужно раскрасить.
7 nAPACEHAK
 
22.05.14
12:51
запилил колонку чтоб не извращаться больше
ТЗ[0].ЦветСтроки = Истина;
    Индекс = ТЗ.Количество () - 1;
    Для Й = 1 По Индекс Цикл
        Если (НачалоДня (ТЗ[Й].ДатаВремя)) = (НачалоДня (ТЗ[Й-1].ДатаВремя)) Тогда
            ТЗ[Й].ЦветСтроки = ТЗ[Й-1].ЦветСтроки;
        Иначе
            ТЗ[Й].ЦветСтроки = НЕ ТЗ[Й-1].ЦветСтроки
        КонецЕсли;     
    КонецЦикла;
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.