|
Как раскрасить поле календаря? | ☑ | ||
|---|---|---|---|---|
|
0
Kate123
11.09.08
✎
16:42
|
Есть поле календаря на нем нужно выделять даты разными цветами, в зависимости от выбранного значения некоторого реквизита.Возможно ли это?
|
|||
|
1
Kate123
11.09.08
✎
16:51
|
И если можно то как? У меня полностью все даты перекрашиваются(((
|
|||
|
2
asady
11.09.08
✎
17:21
|
(0) СП читал?
Элемент управления "Поле календаря" предназначен для показа календаря и выбора даты. Оформление календаря (отличное от стандартного) выполняется в теле процедуры-обработчике события ПриВыводеПериода. |
|||
|
3
ymv
11.09.08
✎
17:26
|
Вариации на тему:
Процедура ПолеКалендаряПриВыводеПериода(Элемент, ОформлениеПериода) Для каждого ТекДата Из ОформлениеПериода.Даты Цикл //Пятницо!!! День программиста!!! Если ТекДата.Дата = Дата("20080912") ИЛИ ТекДата.Дата = Дата("20080913") ИЛИ ТекДата.Дата = Дата("20080914") Тогда ТекДата.ЦветФона = Новый Цвет(255, 0, 0); //Красный день календаря //Понедельник - как мне плохо!!! ИначеЕсли ТекДата.Дата = Дата("20080915") Тогда ТекДата.ЦветФона = Новый Цвет(0, 255, 0); //Зеленее не бывает КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
|
4
Kate123
12.09.08
✎
11:38
|
(3) так то оно работает, но только не совсем так как мне надо.
Делаю так, но при выборе следующего значения уже выделенные окрашиваются в новый цвет. Если ВидДня = Перечисления.ВидДня.Работа Тогда ПолеКалендаря.ЦветФонаВыделения = ЦветРаботы; ИначеЕсли ВидДня = Перечисления.ВидДня.Выходной Тогда ПолеКалендаря.ЦветФонаВыделения = ЦветВыходного; ИначеЕсли ВидДня = Перечисления.ВидДня.Учеба Тогда ПолеКалендаря.ЦветФонаВыделения = ЦветУчебы; ИначеЕсли ВидДня = Перечисления.ВидДня.Отпуск Тогда ПолеКалендаря.ЦветФонаВыделения = ЦветОтпуска; ИначеЕсли ВидДня = Перечисления.ВидДня.Прогул Тогда ПолеКалендаря.ЦветФонаВыделения = ЦветПрогула; КонецЕсли; А хотелось бы , чтоб выделенные остались со своим цветом, а новые(которые буду выделять) окрашивались в другой цвет. Подскажите, пожалуйста, как это сделать. |
|||
|
5
Kate123
12.09.08
✎
12:00
|
Совсем никто с таким не сталкивался чтоль?
|
|||
|
6
Kate123
12.09.08
✎
14:42
|
А еще вот так сделала и опять не работает,
Процедура ПолеКалендаря2ПриВыводеПериода(Элемент, ОформлениеПериода) ЦветРаботы = Новый Цвет(0,0,255); //синий ЦветВыходного = Новый Цвет(255,0,0); //красный ЦветУчебы = Новый Цвет(0,152,0); //заленый ЦветОтпуска = Новый Цвет(255,204,153); //жёлтый ЦветПрогула = Новый Цвет(0,0,0); //черный Для каждого ТекДата Из ОформлениеПериода.Даты Цикл Если ВидДня = Перечисления.ВидДня.Работа Тогда ТекДата.ЦветТекстаВыделения = ЦветРаботы; ИначеЕсли ВидДня = Перечисления.ВидДня.Выходной Тогда ТекДата.ЦветТекстаВыделения = ЦветВыходного; ИначеЕсли ВидДня = Перечисления.ВидДня.Учеба Тогда ТекДата.ЦветТекстаВыделения = ЦветУчебы; ИначеЕсли ВидДня = Перечисления.ВидДня.Отпуск Тогда ТекДата.ЦветТекстаВыделения = ЦветОтпуска; ИначеЕсли ВидДня = Перечисления.ВидДня.Прогул Тогда ТекДата.ЦветТекстаВыделения = ЦветПрогула; КонецЕсли; КонецЦикла; КонецПроцедуры Подскажите, что еще можно сделать |
|||
|
7
Bober
12.09.08
✎
15:23
|
"Нарисовать" свой календарь в поле табличного документа.
|
|||
|
8
Bober
12.09.08
✎
15:28
|
Но лучше писать код правильно -)
Для Каждого ОформлениеДаты Из ОформлениеПериода.Даты Цикл Если ОформлениеДаты.Дата = Дата("20080901000000") Или ОформлениеДаты.ЦветФона = WebЦвета.БледноЗеленый; КонецЕсли; КонецЦикла; Удачи |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |