Имя: Пароль:
1C
 
Запрос. Условие по дате
0 frau
 
26.06.18
17:19
Всем привет!
Есть запрос, которые вытягивает все документы по конкретной дате (дата прилетает через параметр).
Т.е. условие  ГДЕ Документ.Дата = &Дата.
Сейчас он ищет с точностью до секунды и не находит))
А надо в границах дня.
1 Fragster
 
гуру
26.06.18
17:20
ГДЕ Документ.Дата Между НачалоПериода(&Дата, День) И КонецПериода(&Дата, День)
2 Casey1984
 
26.06.18
17:27
Что за дела? Учите язык запросов!
3 Мандалай
 
26.06.18
17:28
кошерней через границу.
4 azernot
 
26.06.18
17:28
(3) О, а интересно, как это вы документ по дате будете через границу искать?
5 Darych
 
26.06.18
17:31
(4) отдельную функцию напишет)
6 frau
 
26.06.18
17:32
(1) Спасибо! Ошибка у меня в синтаксисе Начало и Конец периода была.
7 azernot
 
26.06.18
17:32
(5) Ну мало ли, может он момент времени сравнивать будет и это сработает? Я не пробовал, поэтому и спрашиваю.
8 frau
 
26.06.18
17:33
(2) так может этим и занимаюсь? Теория без практики мертва, а интернет (как и тематические форумы) вроде не запрещено использовать в качестве справки.
9 Малыш Джон
 
26.06.18
17:35
учиться на форуме?
мсье(или мадам) знает толк в извращениях
10 SleepyHead
 
гуру
27.06.18
05:49
(1) ГДЕ НачалоПериода(Документ.Дата, ДЕНЬ) = НачалоПериода(&Дата, День)
11 Sammo
 
27.06.18
06:10
(10) очень плохой вариант - ломается использование индекса по дате.
12 Aleksey
 
27.06.18
06:35
(4) так же как (1), только
  Граница = Новый Граница(Дата, ВидГраницы.Включая);
Запрос.УстановитьПараметр("КонГраница", Граница);
13 Jonny_Khomich
 
27.06.18
06:43
(8) это была не справка, а поиск готового решения.
14 frau
 
27.06.18
09:13
(9) я решаю задачу, возникла трудность -> обращение на форум, что не так?
(13) я так не думаю
15 frau
 
27.06.18
09:13
(12) (10) спасибо
16 azernot
 
27.06.18
10:03
(12) Будет ошибка запроса. Граница и дата - значения разных типов и не могут быть сравнены.
17 youalex
 
27.06.18
10:14
(11) +100
18 SleepyHead
 
гуру
27.06.18
10:30
(11) Спасибо, учту. Но если разница во времени выполнения доли секунды, то не буду переписывать имеющиеся запросы )
19 Fragster
 
гуру
27.06.18
11:22
(18) разница в доли секунды на реальных данных вырастает сильно. Ну и там разница еще в диапазоне блокировок (если запрос в транзакции и не используется read committed snapshot), что при более чем одном пользователе также не очень приятно.
20 shuhard
 
27.06.18
11:29
(8)[а интернет (как и тематические форумы) вроде не запрещено использовать в качестве справки.
13]
использовать не запрещено
запрещено использовать новые топики для поиска на форуме, кнопка внизу делает это сама
21 Sammo
 
27.06.18
14:06
(18) Проблемы вылазит при больших объемах данных и/или соединениях. В общем - если вдруг какой-то запрос будет тупить - это один из вариантов смотреть. Ну и на будущее ;)
22 SleepyHead
 
гуру
28.06.18
05:26
(21)  (19) У меня не такие большие объемы. Конфа ЗУП 3.1, даты анализируются по сотрудникам, это сотни человек. Тупизны пока не замечал. Но учту на будущее, спасибо.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший