|
Часы в динамическом списке | ☑ | ||
---|---|---|---|---|
0
SashaNox
15.05.15
✎
14:43
|
Добрый день! Необходимо выводить в колонке динамического списка документов отсчет времени (часы) даты изменения статуса документа от текущей даты. Сделал через обработчик ожидания и установку параметра дин. списка ТекущаяДата, но работает крайне медленно, все стало тормозить, подскажите, как лучше реализовать?
|
|||
1
Cyberhawk
15.05.15
✎
14:47
|
Что сделать-то нужно?
|
|||
2
vde69
15.05.15
✎
14:48
|
делал раскраску в зависимости от времени просрочки...
делал через произвольный запрос, обновление раз в 10 минут, полет нормальный |
|||
3
SashaNox
15.05.15
✎
14:50
|
(2) раз в 10 минут нормально, никак не повлияет, а если чтоб как часы шли?
|
|||
4
vde69
15.05.15
✎
14:52
|
как часы - не сделаешь, тормозить будет...
|
|||
5
Бубка Гоп
15.05.15
✎
14:53
|
(3) через дин список вряд ли получится
|
|||
6
Basilio
15.05.15
✎
14:54
|
Если статическую таблицу использовать то можно сделать. а в дин списке полюбому тормоза будут.
|
|||
7
vde69
15.05.15
✎
15:01
|
придумал как сделать :)
делаем константу "ТекущееВремя" в динамическом списке делаем джойн с константой и с полем константа-дата (поле просрочка), константу указываем как основной источник. все.... кто проверит? |
|||
8
Бубка Гоп
15.05.15
✎
15:04
|
(7) не совсем понял, а константу кто все время обновлять будет?
|
|||
9
Basilio
15.05.15
✎
15:05
|
(7) если ему нужно "чтобы как часы шли" у него полюбому список раз в секунду должен обновляться. а тормоза как я понимаю как раз из-за этого
|
|||
10
Basilio
15.05.15
✎
15:06
|
(0) сделай статичную таблицу - в нее документы выгрузи и одно поле этой таблицы в форме обновляй (рассчитывай разницу). а саму таблицу перезаполняй раз в минуту..))
|
|||
11
Бубка Гоп
15.05.15
✎
15:06
|
(0) а раз в минуту если? неужели нужна точность до секунды?
|
|||
12
vde69
15.05.15
✎
15:10
|
(9)рег задание...
фишка в том, что событие будет ловится на клиентах |
|||
13
Бубка Гоп
15.05.15
✎
15:12
|
(12) т.е. рег задание каждую секунду будет запускаться и переписывать константу в базе? при условии что оно запускается само по себе минимум 2 секунды)
|
|||
14
Drac0
15.05.15
✎
15:13
|
(12) Запрос все равно будет к серверу :)
Есть другой вариант: условное оформление. Отвести отдельную колонку и менять программно условное оформление по таймеру ,где в текст писать время строкой. Должно быть точно на клиенте :) |
|||
15
Бубка Гоп
15.05.15
✎
15:13
|
(13) либо оно будет все время работать? на постоянке?
|
|||
16
Drac0
15.05.15
✎
15:14
|
+(14) туплю. Данные же таблицы нужны
|
|||
17
Basilio
15.05.15
✎
15:24
|
+(9) уточняю, т.к. не поняли. Создает на форме реквизит таблица значений с нужными полями (реквизиты документа и проч из дин списка + поле "часы") - это вместо динамического списка. Заполняем ее при открытии формы и по таймеру (обработчик событий). Саму таблицу перезаполняем раз в минуту, а колонку с часами - раз в секунду...
как-то так |
|||
18
Basilio
15.05.15
✎
15:27
|
(17) это к (10)
|
|||
19
Бубка Гоп
15.05.15
✎
15:27
|
(17) это просто, весь интерес это на ДС замутить
|
|||
20
SashaNox
15.05.15
✎
15:27
|
По поводу константы не понял.
Если обновлять раз в минуту то нормально. Если перезаполнять раз в секунду тем же запросом таблицу значений не уверен, что тормозить не будет |
|||
21
Basilio
15.05.15
✎
15:28
|
(20) не тем же запросом. Отдельно просчитывать одну колонку. без обращения к базе.
|
|||
22
Basilio
15.05.15
✎
15:29
|
(19) Извращенцы ))
|
|||
23
SashaNox
15.05.15
✎
15:32
|
(21) считать ведь надо от даты документлв, или как переменную таблицу в запросе предлагаешь использовать для расчета колонки времени, не совсем понял. Или циклом вообще обходить?
|
|||
24
Basilio
15.05.15
✎
15:35
|
(23) да хоть циклом, хоть отдельным запросом к уже сформированной ТЧ.
смысл в том что в ТЧ у тебя лежат данные из базы, в т.ч. дата смены статуса. эти данные ты заполняешь раз в минуту. дата разницы у тебя в этой же ТЧ в отдельной колонке - ее ты рассчитываешь раз в секунду. |
|||
25
К_Дач
15.05.15
✎
16:02
|
На ДС не получится, имхо. ДС - он на то и ДС, чтобы данные из базы получать динамически (раз в сколько-то секунд, во время скроллинга, порциями и т.д.). То есть данные в ДС обновляются, идет новое выполнение запроса. самый норм вариант в (17)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |