|
УФ Раскрасить даты в календаре | ☑ | ||
---|---|---|---|---|
0
MxDn
01.10.14
✎
14:53
|
Собственно, раскрасить-то проблемы не возникает, а проблема возникает в получении нужных дат для выделения их в календаре. Как говорит СП для события ПриВыводеПериода в поле календаря: "В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере." А нужные даты хранятся на сервере в регистре. Вот, например, код (не мой, найден в интернетах, но суть та же):
// Процедура-обработчик события При выводе периода // реквизита формы Календарь &НаКлиенте Процедура КалендарьПриВыводеПериода(Элемент, ОформлениеПериода) Попытка МассивДат = ПолучитьМассивРегламентированныхДат(ФинансовыйГод); Для Каждого ДатаПериода Из ОформлениеПериода.Даты Цикл Если МассивДат.Найти(ДатаПериода.Дата) <> Неопределено Тогда ДатаПериода.ЦветФона = webЦвета.БледноЗеленый; КонецЕсли; Если ДеньНедели(ДатаПериода.Дата)>=6 Тогда ДатаПериода.ЦветТекста = webЦвета.Красный; КонецЕсли; КонецЦикла; Исключение КонецПопытки; Мне, чтобы получить этот МассивДат надо слазать на сервер, но нельзя. Я все же попробовал - результат бесконечный вызов КалендарьПриВыводеПериода при вызове ПолучитьМассивРегламентированныхДат (у меня эта процедура серверная, не знаю как у автора и проверял ли он вообще код). Хочется просто даты из выводимого периода сверять с регистром и красить по надобности, т.е. передать не ФинансовыйГод, а ОформлениеПериода.Даты и обратно нужные даты. Конечно, как вариант, стянуть в список даты из регистра при открытии и в ПриВыводеПериода искать в списке, но список дат со временем растет и держать его весь в памяти не хорошо. Какие еще варианты? |
|||
1
Kamas
01.10.14
✎
14:56
|
2 варианта
1 тянуть массив дат с сервера 2 каждый раз бегать на сервер для сравнения каждой даты |
|||
2
SUA
01.10.14
✎
14:57
|
неконтекстный вызов сервера?
|
|||
3
butterbean
01.10.14
✎
14:58
|
сохрани весь календарь при открытии формы на клиенте
|
|||
4
MxDn
01.10.14
✎
15:14
|
(1) каждый раз нельзя бегать из этой процедуры на сервер
(2) контекстный (3) что я пока и делаю... пока не вырос календарь в принципе, раз по-другому никак, то в рамках моей задачи думаю можно ограничить список и брать только даты начиная с текущей |
|||
5
MxDn
01.10.14
✎
15:39
|
(2) Спасибо, подтолкнул! Никто ж не запрещал директиву &НаСервереБезКонтекста. А я-то че-та воспринял как любой запрет обращения на сервер. Все работает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |