Имя: Пароль:
1C
1С v8
Язык запросов
0 icwsee
 
05.05.12
09:09
Как сделать чтоб запрос выдавал все документы за выбранную дату, сейчас в выборку попадают только документы с временем 0:00:00 ?

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Дата", '20120201');
Запрос.Текст = "
|ВЫБРАТЬ
|    Док.Ссылка КАК Ссылка
|ИЗ
|    Документ.ПоступлениеТоваровУслуг КАК Док
|ГДЕ
|    Док.Дата = &Дата
|";
1 AleksAnt
 
05.05.12
09:12
Очевидно, выбирать в запросе документы с 0:00:00 по 23:59:59.
2 Asmody
 
05.05.12
09:13
открой для себя условие МЕЖДУ
3 ptrtss
 
05.05.12
09:14
началопериода(Док.Дата, день) = &Дата
4 vicof
 
05.05.12
09:15
(3) Топик читал?
5 ptrtss
 
05.05.12
09:17
(4) Да, а что?
6 andrewks
 
05.05.12
09:18
(4) а что не понравилось?
7 Ranger_83
 
05.05.12
09:18
(0)Воспользуйся конструктором запросов
8 ptrtss
 
05.05.12
09:19
(6) Все понравилось, хороший топик, годный
9 Asmody
 
05.05.12
09:19
(3) это неэффективно
10 andrewks
 
05.05.12
09:21
(9) чтобы так утверждать, надо сначала планы запросов сравнить
11 ptrtss
 
05.05.12
09:22
(9) Ну, правильно. Дата это же количество секунд с какого-то там года. Но если вам эффективность, то на ассемблере писать надо, а не на 1С. Я вот за наглядность
12 vicof
 
05.05.12
09:22
(5)(6) ступил, не туда (3) хотел мысленно запихать
13 hhhh
 
05.05.12
09:24
(11) ну МЕЖДУ по любому нагляднее. А у вас как-то по-китайски.
14 х86
 
05.05.12
09:25
(3)если писать по твоему то правильно должно быть так

НАЧАЛОПЕРИОДА(Док.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
15 andrewks
 
05.05.12
09:26
(14) код читаем?
Запрос.УстановитьПараметр("Дата", '20120201');
16 ptrtss
 
05.05.12
09:27
(14) Не обязательно. Параметры в 99% случаев берутся с формы, где даты в 99% случаев без времени. А если со временем, то в запрос можно передать начало дня
17 х86
 
05.05.12
09:29
(15)тогда так вот

НАЧАЛОПЕРИОДА(Док.Дата, ДЕНЬ) = ДАТАВРЕМЯ(2012,02,01)
18 andrewks
 
05.05.12
09:30
(17) зачем городить огород? нам уже готовый параметр дали
19 х86
 
05.05.12
09:32
(18)зачем на сервак передавать параметр, если он "железно зашит"???, тогда его сразу в запрос и прописывать

но по мне так надо МЕЖДУ юзать, хотя бывают нюансы
20 andrewks
 
05.05.12
09:35
(19) а кто сказал, что он железно зашит? это сейчас для примера в коде прямо дату написали, а когда отладят, выкинут на форму, или ещё куда
21 х86
 
05.05.12
09:38
(20)тогда см. (14)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой