![]() |
|
Из даты получить только время. как? | ☑ | ||
---|---|---|---|---|
0
ic-kat
24.08.10
✎
07:43
|
есть поле дата, формат: дата и время.
нужно, чтоб в реквизит записывалось только время. т.е. тип дата формата время. как это можно получить? если формат(), то на выходе строка, а нужно именно дата/время. |
|||
1
IamAlexy
24.08.10
✎
07:44
|
время = дата - началодня(дата)
где то так :) |
|||
2
smitru
24.08.10
✎
07:46
|
Что значит "дата/время" в контексте "только время"?
Т.е. тебе нужна дата 01.01.0001 ? Ты не можешь "отрезать" дату т.к. это не предусмотрено конструктивом. Но ты можешь через форматную строку её не показывать. |
|||
3
Amiralnar
24.08.10
✎
07:46
|
Не припомню я такого формата - время.
(1) даст разницу в секундах. Автор, видимо, хочет в шестидесятиричной системе, с разделителем... |
|||
4
ic-kat
24.08.10
✎
07:46
|
(1) выдает некое количество секунд
|
|||
5
Amiralnar
24.08.10
✎
07:47
|
А какой смысл? Что тебе надо?
|
|||
6
Смешной 1С
24.08.10
✎
07:47
|
Формат(ТекущаяДата(), "ДЛФ=T")
|
|||
7
ic-kat
24.08.10
✎
07:47
|
(2) когда описываем тип реквизита, если тип дата, то можно выбрать формат: дата, время либо дата время. вот реквизит именно формат время
|
|||
8
ic-kat
24.08.10
✎
07:48
|
(6) это дает в результате строку
|
|||
9
Смешной 1С
24.08.10
✎
07:48
|
+(6) Дальше как с датой
|
|||
10
IamAlexy
24.08.10
✎
07:48
|
(4)
ну да, точно: время = дата('00010101') + (Дата-НачалоДня(Дата)); :) |
|||
11
Amiralnar
24.08.10
✎
07:49
|
(7) При выборе значения формата - Время используется нулевая дата.
19.20 = 000101011920 |
|||
12
ic-kat
24.08.10
✎
07:50
|
(5) да, надо именно так.
|
|||
13
smitru
24.08.10
✎
07:54
|
(7) В 1С времени без даты не бывает по определению... Как вариант можно использовать "нулевую дату" (01.01.0001) но это черевато возможными траблами в будущем.
поэтому если нужен формат "время", то сохраняйте признак форматной строки и используйте "текущую дату" или например "фиксированную дату" 01.01.2010 (но это зависит от бизнес-логики) |
|||
14
Amiralnar
24.08.10
✎
07:56
|
(13) Использование "нулевой" даты является штатным режимом работы с временем в 1С. О каких подводных камнях вы говорите?
Я не услышал, какую прикладныю задачу пытается решить автор, и не представляю, как ему, бедному, помочь. |
|||
15
ic-kat
24.08.10
✎
07:57
|
(10) так получилось, спасибо!!
|
|||
16
ic-kat
24.08.10
✎
07:59
|
(14) клиент хочет, чтоб при создание дока в тч можно было проставлять время посещения, чтоб можно было менять, но если не заполнено, то по умолчанию ставилось текущее.
|
|||
17
smitru
24.08.10
✎
08:03
|
(14) всё что входит в синтаксис - штатно. Но из практики грабли с "нулевой датой" - типичны. к сожалению многие прогеры не проводят контроль на наличие "нулевой даты" (особенно если дата нулевая, а вот время - нет)
|
|||
18
Amiralnar
24.08.10
✎
08:07
|
(16) Вы неверно оценили задачу.
В прикладном смысле "время посещения" неразрывно связано с датой посещения, поэтому используйте текущую дату полностью! В форме документа, в колонке табличной части можно указать формат отображения! В этом случае будет сохраняться правильное значение, а отображаться - нужное по заданию. В запросе всегда легко можно обрезать дату, оставив время, а вот наоборот - привязать время к дате - уже сложнее. В 1С не определен оператор + для значений типа "Дата". (17) "Типичные" - они хотябы гуглятся, или только в вашем сознании на уровне рефлексов? |
|||
19
smitru
24.08.10
✎
08:12
|
(18) "На уровне рефлексов": "В 1С не определен оператор + для значений типа "Дата".(с) - это глупости
Дата1 = Дата2 + 200; - нормальный оператор для переменной Дата1, Дата2 с типом дата |
|||
20
Невский Александр
24.08.10
✎
08:23
|
Новый Дата(0001,01,01,Час(ДатаП),Минута(ДатаП),Секунда(ДатаП))
|
|||
21
Amiralnar
24.08.10
✎
08:26
|
(19) Скажите, уважаемый, на ваш взгляд, слева и справа от знака "+" находятся переменные типа "Дата"?
Дата1 = Дата2 + 200; Попробуйте на досуге конструкцию Дата1 = Дата2 + Дата1; |
|||
22
smitru
24.08.10
✎
08:40
|
(21) Уважаемый весьма советую на досуге попробовать конструкив:
Дата1 = ДатаТекущегоДня + ДатаНачалаКвартала - '20100101'; Вы будете удивлены, что результат будет Дата() несмотря на наличие в выражении ДатаТекущегоДня + ДатаНачалаКвартала |
|||
23
НЕА123
24.08.10
✎
08:49
|
(22)
не робит сия конструкция. скобки забыл поставить. (21)+1 |
|||
24
ic-kat
24.08.10
✎
09:08
|
(18)формат отображения?
дата нужна не будет точно, только время. нужно будет отсекать наиболее напряженное время посещения |
|||
25
ic-kat
24.08.10
✎
09:09
|
(20) ну, тоже вариант.
|
|||
26
Amiralnar
24.08.10
✎
09:19
|
(25) А потом вас попросят сказать, _когда_ были напряженные дни...
(ой, прям как месячные вычисляем =) ) |
|||
27
ic-kat
24.08.10
✎
14:58
|
(26) угу, это они могут...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |