Имя: Пароль:
1C
1С v8
как убрать время из даты
0 qazokm
 
06.02.15
10:49
Есть консоль запроса
Вводится параметр 06.02.2015(тип дата)
Запрос
ВЫБРАТЬ * ИЗ Документ.ХХХ.УУУ ГДЕ ДатаДок =&Дата
но поле ДатаДок имеет тип ДатаВремя, поэтому результат запроса пустой
В параметрах консоли время подставляется автомат.
команда Формат(ДатаДок ,"ДФ=dd.MM.yyyy"), это для вывода... Как убрать время из даты
1 Любопытная
 
06.02.15
10:50
(0) своди обе даты к началу дня
2 patria0muerte
 
06.02.15
10:51
ГДЕ НАЧАЛОПЕРИОДА(ДатаДок) = &Дата
3 patria0muerte
 
06.02.15
10:51
*ГДЕ НАЧАЛОПЕРИОДА(ДатаДок, День) = &Дата
4 Defender aka LINN
 
06.02.15
10:51
(0) Дата всегда... Нет, не так. Дата _ВСЕГДА_ содержит время
5 ktvladimir
 
06.02.15
10:53
(3) не хорошо. Правильнее будет
ГДЕ
  ДатаДок >= &ДатаН
  И ДатаДок <= &ДатаК

Соотв. в параметрах

ДатаН = НачалоДня(
ДатаК = КонецДня
6 qazokm
 
06.02.15
10:54
(5) Спасибо
7 patria0muerte
 
06.02.15
10:56
(5) Без разницы... дата (которая как-бы "без времени") всегда имеет вид 06.02.2015 00:00:00 так что лучше приводить все к началу дня и сравнивать, как нам заботливо подсказали еще в (1)
8 salvator
 
06.02.15
10:56
(5) Чёйта?
9 Жан Пердежон
 
06.02.15
10:58
(7) ответ неправильный, надо делать как в (5)
10 ktvladimir
 
06.02.15
10:59
(7) (8) плохо тем что скуль может неоптимально взять индексы, таким образом хоть результат будет и верным, но ресурсов затрачено больше.
11 Мыш
 
06.02.15
11:02
(10) МЕЖДУ в запросе лаконичнее. А по ресурсам как?
12 ktvladimir
 
06.02.15
11:04
(11) нормально. скуль не может правильно оценить функцию, если между ставить явные даты то разницы нет, можно и меньше
13 Жан Пердежон
 
06.02.15
11:04
(8) таким запросом ты как бы говоришь СУБД, что индекс по дате пожно выкинуть нафиг и нужно перебирать ВСЮ таблицу документов
14 ktvladimir
 
06.02.15
11:05
(12) сколько ошибок... когда мозг занят другим ))) Можно использовать и МЕЖДУ тут как Вам нравится, главное чтоб были явные даты
15 patria0muerte
 
06.02.15
11:05
(13) Вона оно чего... ну ок, буду знать..
16 Мыш
 
06.02.15
11:08
(12), (14) спасибо
17 qazokm
 
06.02.15
11:21
Выходит синтаксическая ошибка, в консоли запроса я не могу ввести параметр ДатаН = НачалоДня(, а когда подставляю функцию в запрос, то ошибка...

ГДЕ
  ДатаДок >= НачалоДня(&Дата)
18 salvator
 
06.02.15
11:23
(17) Пиши в консоли дату вручную.
19 qazokm
 
06.02.15
11:24
Да я и 06.02.2015 , в которой консоль подставляет время подставляет
20 qazokm
 
06.02.15
11:24
(19) Пишу 06.02.2015
21 1Сергей
 
06.02.15
11:25
опять ты путаешь значение данных от их представления
22 Любопытная
 
06.02.15
11:26
(17) в запросе пишется НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ), если хочешь получить начало дня.
23 Любопытная
 
06.02.15
11:27
(20) у тебя из параметра и так начало дня приходит, т.к. время нулевое)
24 ktvladimir
 
06.02.15
11:29
когда писалось НачалоДня имелось в виду
Запрос.УстановитьПараметр("ДатаН", НачалоДня(ТребуемаяДата))
25 qazokm
 
06.02.15
11:30
(23) Да время из параметра нулевое, но если ставить знак сравнения >=, то надо как-то ограничить  и сверху
26 qazokm
 
06.02.15
11:31
У меня пока консоль, и поэтому конструкцией Запрос.УстановитьПараметр, я воспользоваться не могу
27 ktvladimir
 
06.02.15
11:32
В моем примере у тебя 2!!! параметра ДатаН - начало
ДатаК - Конец
28 Любопытная
 
06.02.15
11:32
(25) с какого верху?
ГДЕ
  ДатаДок >= НачалоПериода(&Дата, День)
и ДатаДок<= КонецПериода(&Дата,День)

И будет тебе счастье
29 1Сергей
 
06.02.15
11:33
(28) это только сверху и снизу. А ему ещё сбоку может понадобиться...
30 vhl
 
06.02.15
11:35
(25) тебе же сказали "ГДЕ ДатаДок МЕЖДУ &ДатаНач И &ДатаКон"
ДатаНач = 06.02.2015: 00-00-00
ДатаКон = 06.02.2015: 23-59-59
31 vhl
 
06.02.15
11:36
(28) Не надо в запросе рассчитывать параметры. Передавайте уже рассчитанные
32 qazokm
 
06.02.15
11:36
(30) Да у меня КОНСОЛЬ, поэтому не могу так ввести..., спасибо (28) , попробую по её методу...
33 1Сергей
 
06.02.15
11:37
(32) какая-то консоль у тебя неправильная. я всё могу в своей
34 Мыш
 
06.02.15
11:39
(33) У него неуправляемая консоль. Секретная. Не всем дают такую в пользование )
35 Любопытная
 
06.02.15
11:39
(31) ну пусть так напишет в консоли, если она у него выражения в параметрах не воспринимает. А в коде уже два параметра нарисует.
36 qazokm
 
06.02.15
11:40
(33) какая есть.... кинь ссылку чтоб бесплатно да и в любой версии 8.0-8.3...:-)
37 salvator
 
06.02.15
11:40
(32) Возможно, состав даты указано только "Дата", а не "Дата+Время".
Может конечно и по-другому. Поставить галочку в колонке "В" и написать Дата("20150206000000") и Дата("20150206235959")
38 Любопытная
 
06.02.15
11:40
(34) у моей консоли тоже нет возможности вычисляемые выражения в параметры пихать, ну и что?
39 qazokm
 
06.02.15
11:41
(35) Все результат получил, спасибо
40 Мыш
 
06.02.15
11:41
(38) Ой, всё )))
41 Любопытная
 
06.02.15
11:42
(40) Обделался?
42 Быдло замкадное
 
06.02.15
11:44
(41) при чем тут параметр. Начало НАЧАЛОПЕРИОДА в тексте запроса пишется. А не в параметре.
43 Мыш
 
06.02.15
11:44
(41) У вас какое-то нездоровое любопытство )
44 Любопытная
 
06.02.15
11:45
(43) Извините, данная фраза, тем более сказанная мужчиной, вызывает у меня только такие ассоциации.
(42) А разговор был про НачалоДня() в параметре
45 ktvladimir
 
06.02.15
11:48
вообще конечно забавно почему в консоли нельзя для параметра указать дату со временем ) какая то хитрая консоль видимо, задуманная чтоб пользователь помучался)

(44) у тс возникло стойкое нежеланием пользоваться двумя параметра для даты начала и даты конца. )
46 Мыш
 
06.02.15
11:50
(44) Сочувствую )
(45) Да можно всё там. Просто тс чуть притормозил, видимо. Бывает.
47 qazokm
 
06.02.15
11:51
(45) Указать дату со временем указать в консоли можно, но выбирать надо без учета времени, только дата
48 Мыш
 
06.02.15
11:57
(47) Есть такое. Время ручками вбивать. На край можно через табло. В табло ставишь функцию, результат копируешь, в параметр консоли вставляешь. Экономии по времени никакой )
49 ktvladimir
 
06.02.15
12:02
(47) в общем тебе было влом вбить циферки 235959 для определения конца даты но не влом было написать кучу буковок чтоб написать как обойтись без этого ))
50 qazokm
 
06.02.15
12:05
мне один.сэргей написал, что я не  понимаю представление и значения объектов, по правде говоря, вбив кучу буковок, я так и не понял у каких объектов есть значение, а у каких представление
51 1Сергей
 
06.02.15
12:09
учи матчасть
52 PR
 
06.02.15
12:12
(50) Не взрывай нам мозг. Читай книжки. У всех объектов есть значение и почти у всех представление.
53 Vladal
 
10.02.15
13:59
(0) в запросе приводи к началу периода "день", а при выводе форматируй. Как тебе удобно.