|
Отображение загрузки выбранного номера в календаре | ☑ | ||
---|---|---|---|---|
0
JuixyJes
15.10.19
✎
12:38
|
Доброго дня! Пытаюсь вот вывести корректно загруженность номера в календарь, но столкнулась с проблемой неправильного отображения, подскажите пожалуйста, что я делаю не так?
&НаСервере Функция ПолучитьСведенияОЗанятостиНомера() лТекст = " |ВЫБРАТЬ | ПП_ЗагруженностьОстатки.Организация КАК Организация, | ПП_ЗагруженностьОстатки.НомерПроживания КАК НомерПроживания, | ПП_ЗагруженностьОстатки.КомнатаПроживания КАК КомнатаПроживания, | ПП_ЗагруженностьОстатки.КойкаПроживания КАК КойкаПроживания, | ПП_ЗагруженностьОстатки.День КАК День, | ПП_ЗагруженностьОстатки.ВидЗанятостиНомера КАК ВидЗанятостиНомера, | ПП_ЗагруженностьОстатки.СостояниеОстаток КАК СостояниеОстаток |ИЗ | РегистрНакопления.ПП_Загруженность.Остатки(&ДТ, ) КАК ПП_ЗагруженностьОстатки |ГДЕ | ПП_ЗагруженностьОстатки.НомерПроживания = &НомерПроживания | |УПОРЯДОЧИТЬ ПО | Организация, | НомерПроживания, | КомнатаПроживания, | КойкаПроживания, | День, | ВидЗанятостиНомера |"; лЗапрос = Новый Запрос(лТекст); ДТ = Объект.Дата; НомерПроживания = Объект.НомерПроживания; лЗапрос.УстановитьПараметр("ДТ", ДТ); лЗапрос.УстановитьПараметр("НомерПроживания", НомерПроживания); ТЗ = лЗапрос.Выполнить().Выгрузить(); ТЗ.Колонки.Добавить("ТекущееЗаселение"); ТЗ.ЗаполнитьЗначения(ЛОЖЬ,"ТекущееЗаселение"); КоличествоДней = (НачалоДня(Объект.ДатаОкончания) - НачалоДня(Объект.ДатаНачала)) / (60 * 60 * 24)+1; ТекДата = НачалоДня(Объект.ДатаНачала); Для Сч = 1 по КоличествоДней Цикл строкаТЗ = ТЗ.Найти(ТекДата,"День"); Если строкаТЗ = Неопределено Тогда строкаТЗ = ТЗ.Добавить(); строкаТЗ.Организация = Объект.Организация; строкаТЗ.номерПроживания = Объект.НомерПроживания; строкаТЗ.КомнатаПроживания = Объект.КомнатаПроживания; строкаТЗ.КойкаПроживания = Объект.КойкаПроживания; строкаТЗ.День = ТекДата; строкаТЗ.ТекущееЗаселение = ИСТИНА; Иначе Если строкаТЗ.День>=Объект.ДатаНачала и строкаТЗ.День<=Объект.ДатаОкончания Тогда строкаТЗ.ТекущееЗаселение = ИСТИНА; КонецЕсли; КонецЕсли; ТекДата = ТекДата+60*60*24; КонецЦикла; ТЗ.ВыбратьСтроку("Посмотримс"); Возврат ТЗ; КонецФункции &НаСервере Процедура ПолучитьЗнвченияПеречислений(Бронь,Проживание) Бронь = Перечисления.ВидЗанятостиНомера.Бронь; Проживание = Перечисления.ВидЗанятостиНомера.Проживание; Конецпроцедуры &НаКлиенте Процедура КалендарьПриВыводеПериода(Элемент, ОформлениеПериода) Перем Бронь,Проживание; загруженность = ПолучитьСведенияОЗанятостиНомера(); ПолучитьЗнвченияПеречислений(Бронь,Проживание); Для каждого ТекДата Из ОформлениеПериода.Даты Цикл Для каждого стр из загруженность Цикл Если (ТекДата.Дата = стр.День) Тогда Если стр.ТекущееЗаселение Тогда ТекДата.ЦветФона = WebЦвета.ХакиТемный; ИначеЕсли стр.ВидЗанятостиНомера = Проживание Тогда ТекДата.ЦветФона = WebЦвета.НейтральноАквамариновый; ИначеЕсли стр.ВидЗанятостиНомера = Бронь Тогда ТекДата.ЦветФона = WebЦвета.Хаки; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
1
JuixyJes
15.10.19
✎
12:38
|
||||
2
JuixyJes
15.10.19
✎
12:39
|
вот так отображается
|
|||
3
D_E_S_131
15.10.19
✎
13:02
|
Я бы в условия по цветам еще приписал:
... Иначе ТекДата.ЦветФона = Новый Цвет; КонецЕсли; |
|||
4
D_E_S_131
15.10.19
✎
13:19
|
А вообще конечно "жесть" хранить состояния в регистре накопления. :(
|
|||
5
JuixyJes
15.10.19
✎
15:18
|
(4) Это допил уже не мой, мне под него надо переписать алгоритм
|
|||
6
singlych
15.10.19
✎
15:30
|
Как это вообще работает?
&НаСервере Функция ПолучитьСведенияОЗанятостиНомера() ... ТЗ = лЗапрос.Выполнить().Выгрузить(); ... Возврат ТЗ; КонецФункции &НаКлиенте Процедура КалендарьПриВыводеПериода(Элемент, ОформлениеПериода) ... загруженность = ПолучитьСведенияОЗанятостиНомера(); |
|||
7
JuixyJes
15.10.19
✎
15:31
|
(6) https://priscree.ru/img/94f49b13d58d65.jpg
возвращает вот такую картину |
|||
8
Aleksandr N
15.10.19
✎
15:38
|
(6) клиент то толстый небось.
|
|||
9
JuixyJes
15.10.19
✎
15:40
|
(8) он самый
|
|||
10
Aleksandr N
15.10.19
✎
15:52
|
(9) Не православно.
|
|||
11
singlych
15.10.19
✎
16:06
|
(10) я бы сказал, неспортивно
(7) так у вас там в ТЗ на 10е число три строки, оно три раза и красится |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |