Как определить в запросе вхождения параметра в интервал времени #615329


#0 by Max1986
Что то жутко туплю, подскажите плиз как это сделать. Имеем некую дату: 20.05.12 12:35:16 Есть запрос к справочнику смен, на выходе которого таблица ВЫБРАТЬ  Смены.Ссылка,  Смены.ВремяНачала,  Смены.ВремяОкончания ИЗ Типа Смена1   10:00:00  15:00:00 Смена2   15:00:01  22:00:00 Как мне отобрать те сметы, которые удовлетворяют дате, которую я передам в запрос. Грубо говоря - как мне привести передаваемую дату к значению Время, что бы задать интервал в запросе - МЕЖДУ
#1 by andrewks
чо, время строкой задано?
#2 by hohol
датавремя = '20.05.12 12:35:16'
#3 by ILM
Вам нужен номер смены?   В языке запросов 1С есть функции "РазностьДат" и "НачалоПериода", Есть оператор МЕЖДУ. Чуть-чуть начинаем думать и комбинировать функции и оператор. У вас есть ВремяНачала и ВремяОкончания. А так как 1С хранит время как ДатаВремя значит..... (тут думаем)
#4 by Buster007
Дата("00010101" + Формат(Период, "ЧЧммсс"));
#5 by Buster007
+ ну это если ты устанавливаешь параметр )
#6 by Max1986
нет! надо в запросе преобразовать ко времени! Т.е. я в запрос передаю дату 21.05.2012 12:10:16 а надо 12:10:16 - только время
#7 by hohol
ты гонишь.
#8 by hohol
нет даты, нет времени. Есть датавремя '201206131633' -  сегодня, сейчас
#9 by andrewks
в языке запросов есть замечательные функции Час, Минута, Секунда
#10 by Maxus43
секунды нет же
#11 by andrewks
есть
#12 by Maxus43
а, в НачалоПериода нет секунды, минимум минута
#13 by andrewks
или ДобавитьКДате
#14 by ILM
Если от ТекущегоДатыВремени отнять НачалоПериода (ТекущийПериод, День), то получится время. А его уже можно сравнить с другим временем. Или добавьте ко времени текущую дату, получите время смены в текущий день.
#15 by Max1986
спасибо всем. забил я - привел входной параметр ко времени вида 01.01.0001 8:25:16  -  и дальше пошло
#16 by ILM
Отнял значит )))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С