Имя: Пароль:
1C
1С v8
Сравнение времени в запросе
0 Casper211
 
14.12.16
17:12
У меня есть только время (до которого часа поставщик может принять заказ). Он является дополнительным реквизитом в справочнике "Партнеры" (и тип имеет дату и время, где дата всегда 01.01.0001)
И есть дата и время в "Заказ покупателя".
Как мне сравнить время в запросе? без учета даты?
чтобы было 01.01.0001 15:00:00 <14.12.2016 11:31:01 = Ложь ??
1 Волшебник
 
модератор
14.12.16
17:14
ЧислоСекундСПолуночи = Дата - НачалоДня(Дата);
2 Волшебник
 
модератор
14.12.16
17:15
в запросе НАЧАЛОПЕРИОДА(Дата, ДЕНЬ)
3 kosts
 
14.12.16
17:17
Не помню точно, вроде в запросе есть функция Час().
Тогда так можно
Час(01.01.0001 15:00:00) < Час(14.12.2016 11:31:01)
4 Casper211
 
14.12.16
17:26
(2) НАЧАЛОПЕРИОДА - это же начало дня (сегодня 14.12.2016 0:00:00)? а мне надо время
5 Casper211
 
14.12.16
17:26
аа) что-то я затупил
6 olegves
 
14.12.16
17:28
(0) ДобавитькДате кури
7 Лефмихалыч
 
14.12.16
17:29
сравнивай количетво секунд от начала дня:
РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ПерваяДата, День), ПерваяДата, Секунда)
и
РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВтораяДата, День), ВтораяДата, Секунда)
8 Casper211
 
14.12.16
17:29
(2) (ГлавнаяЗаказКлиента.ЗаказКлиента.Дата) - (НАЧАЛОПЕРИОДА(ГлавнаяЗаказКлиента.ЗаказКлиента.Дата, ДЕНЬ))

пишет неверные параметры "-"
9 Лефмихалыч
 
14.12.16
17:30
(8) потому, что в запросе так не работает
10 Casper211
 
14.12.16
17:49
(7) а как сделать вот здесь (пишет тоже неверные параметры "РАЗНОСТЬДАТ") ?? если в значении только время, возможно из-за этого?
РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&ТекущаяДата, День), <<?>>ВремяПоставщика.ВремяДопРек, СЕКУНДА)
11 Лефмихалыч
 
14.12.16
17:50
(10) значит ВремяПоставщика.ВремяДопРек - это не дата, а строка или еще какая-то поимень
12 Лефмихалыч
 
14.12.16
17:51
NULL - тоже вариант
13 Casper211
 
14.12.16
17:58
(12) в дополнительных реквизитах пишет "Тип- дата (состав даты - время)"
14 kosts
 
14.12.16
18:06
Если работать с датами, то я лучше бы прибавление делал, чем разницу, так как чуть чуть легче воспринимается.
Т.е.

ТекущаяДата < НачалоТекущейДаты + Часы
15 Casper211
 
15.12.16
10:01
(1) В запросе не получилось (не хочет консоль работать с такой датой), в коде сделал после после результата запроса

(СтрокаТЗ.ВремяДопРек - НачалоДня(СтрокаТЗ.ВремяДопРек)) > (СтрокаТЗ.ЗаказКлиента.Дата - НачалоДня(СтрокаТЗ.ЗаказКлиента.Дата))