|
8.2 УИ. Как динамически отформатировать секунды в ЧЧ:ММ:СС в форме списка? | ☑ | ||
---|---|---|---|---|
0
wisekat
22.06.12
✎
18:52
|
В форме списка показываю регистр накопления, одна из колонок - значение в секундах. Надо его на лету отформатировать и показать в формате ЧЧ:ММ:СС. Как это сделать в УИ?
|
|||
1
shuhard
22.06.12
✎
19:57
|
(0) странный вопрос - УО конечно
|
|||
2
kosts
22.06.12
✎
19:58
|
(0) формат попробуй
|
|||
3
эцп
22.06.12
✎
20:15
|
(0)(2) HH:mm:ss
|
|||
4
acsent
22.06.12
✎
20:19
|
у колонки есть свойство формат
|
|||
5
wisekat
25.06.12
✎
11:45
|
(2)(3)(4) Формат годится если у тебя значение дата/время, а у меня натуральные integer.
|
|||
6
wisekat
25.06.12
✎
11:47
|
(1) А условное оформление каким тут боком?? Ведь там ключевое понятие - ОФОРМЛЕНИЕ, а мне по сути математическое преобразование из секунд в часы/минуты/мекунды надо...
Может, я чего-то не знаю? |
|||
7
mistеr
25.06.12
✎
11:55
|
(0) Ничего встроенного вроде нет, так что считать самому.
|
|||
8
wisekat
25.06.12
✎
12:32
|
(7) Так это и есть по сути мой вопрос: как правильно и эффективно сделать вычисляемое поле списка в 8.2 УИ?
|
|||
9
wisekat
25.06.12
✎
13:32
|
Например, для табличных частей в этих случаях можно "извратиться стандартными средствами" - добавить руками произвольный реквизит и его в событии ПриЧтенииНаСервере заполнить. А вот для динамическогосписка формы такого нету вроде...
Ну и подмена запроса на произвольный тоже ни к чему не приводит. Может, ещё есть идеи? |
|||
10
Stepa86
25.06.12
✎
13:39
|
в дин. списке в произвольном запросе напиши ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1,1,1), Секунда, таблица.КоличествоСекунд) и для этого поля уже формат
|
|||
11
wisekat
25.06.12
✎
15:07
|
(10) !! Идея великолепная, и для большинства случаев сгодится - но не для моего. Дело в том, что у меня в регистре, для которого я делаю вычисляемое поле, хранится ну скажем так длительность работы с неким объектом. И она может быть больше, чем 1 сутки. Но функция Формат(<дата_время>) мне возвращает значения из интервала 0:00:00-23:59:59, и при этом если счётчик пошёл на вторые сутки, я получу 0:00:01 вместо 24:00:01.
|
|||
12
Stepa86
25.06.12
✎
15:21
|
тогда в запросе
ВЫБОР КОГДА таблица.КоличествоСекунд > 86400 ТОГДА ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1,1,1), Секунда, таблица.КоличествоСекунд-86400) ИНАЧЕ ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1,1,1), Секунда, таблица.КоличествоСекунд) КОНЕЦ в условном оформлении если КолвоСекунд > 86400 то формат "ДФ='дд""д"" ЧЧ:мм:сс'" иначе просто "ДФ='ЧЧ:мм:сс'" |
|||
13
wisekat
25.06.12
✎
15:51
|
(12) Х-м-м, спасибо!
Однако наворот получается... Если списков несколько, в которых информация такая проходить может, то в каждом из них такое сделать надо. Сейчас вот думаю - может, просто реквизит текстовый сделать, в котором записывать нужное представление в дополнении к основному значению "КолвоСекунд". Но за идеи и советы - ещё раз БОЛЬШОЕ СПАСИБО! |
|||
14
wisekat
25.06.12
✎
15:53
|
(12) И ещё: если мы условное оформление в коде пропишем, то его потом пользователь будет видеть и чисто теоретически может удалить по ошибке.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |