Имя: Пароль:
1C
 
Из даты получить только время. как?
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) угу, это они могут...