Имя: Пароль:
1C
1С v8
Как определить в запросе вхождения параметра в интервал времени
,
0 Max1986
 
13.06.12
16:25
Что то жутко туплю, подскажите плиз как это сделать.
Имеем некую дату: 20.05.12 12:35:16
Есть запрос к справочнику смен, на выходе которого таблица
ВЫБРАТЬ
 Смены.Ссылка,
 Смены.ВремяНачала,
 Смены.ВремяОкончания
ИЗ
 Справочник.Смены.ПериодыСмены КАК Смены
 
Типа
Смена1   10:00:00  15:00:00
Смена2   15:00:01  22:00:00

Как мне отобрать те сметы, которые удовлетворяют дате, которую я передам в запрос.
Грубо говоря - как мне привести передаваемую дату к значению Время, что бы задать интервал в запросе - МЕЖДУ
1 andrewks
 
13.06.12
16:27
чо, время строкой задано?
2 hohol
 
13.06.12
16:29
датавремя = '20.05.12 12:35:16'
3 ILM
 
гуру
13.06.12
16:30
(0) Вам нужен номер смены?  

В языке запросов 1С есть функции "РазностьДат" и "НачалоПериода", Есть оператор МЕЖДУ.

Чуть-чуть начинаем думать и комбинировать функции и оператор.
У вас есть ВремяНачала и ВремяОкончания. А так как 1С хранит время как ДатаВремя значит..... (тут думаем)
4 Buster007
 
13.06.12
16:30
Дата("00010101" + Формат(Период, "ЧЧммсс"));
5 Buster007
 
13.06.12
16:31
+(4) ну это если ты устанавливаешь параметр )
6 Max1986
 
13.06.12
16:32
(4)нет! надо в запросе преобразовать ко времени!
Т.е. я в запрос передаю дату 21.05.2012 12:10:16
а надо 12:10:16 - только время
7 hohol
 
13.06.12
16:34
(6) ты гонишь.
8 hohol
 
13.06.12
16:35
нет даты, нет времени. Есть датавремя '201206131633' -  сегодня, сейчас
9 andrewks
 
13.06.12
16:36
в языке запросов есть замечательные функции Час, Минута, Секунда
10 Maxus43
 
13.06.12
16:36
(9) секунды нет же
11 andrewks
 
13.06.12
16:37
(10) есть
12 Maxus43
 
13.06.12
16:37
(11) а, в НачалоПериода нет секунды, минимум минута
13 andrewks
 
13.06.12
16:39
или ДобавитьКДате
14 ILM
 
гуру
13.06.12
16:47
Если от ТекущегоДатыВремени отнять НачалоПериода (ТекущийПериод, День), то получится время. А его уже можно сравнить с другим временем. Или добавьте ко времени текущую дату, получите время смены в текущий день.
15 Max1986
 
13.06.12
16:51
спасибо всем. забил я - привел входной параметр ко времени вида 01.01.0001 8:25:16  -  и дальше пошло
16 ILM
 
гуру
13.06.12
16:52
Отнял значит )))