Имя: Пароль:
1C
 
Запрос и условие "Между"
0 Полька
 
24.06.15
11:12
В документе установлена дата 01.06.2015. Так понимаю, что время по умолчанию 00.00.00
ДатаПланирования берется из другого документа, где она тоже 01.06.2015.
В запросе пишу
    И Док.Дата МЕЖДУ &ДатаНач И &ДатаКон";
Запрос.УстановитьПараметр("ДатаНач",НачалоМесяца(Объект.ДатаПланирования));
Запрос.УстановитьПараметр("ДатаКон",КонецМесяца(Объект.ДатаПланирования));
По идее Границы интервала же входят в проверку? Т.е. документ у меня должен выбраться. А он не выбирается.
Если поставлю
Запрос.УстановитьПараметр("ДатаНач",НачалоМесяца(Объект.ДатаПланирования)-1);
то выбирает.
1 Андрюха
 
24.06.15
11:16
Посмотри в отладчике что подставляется в параметры запроса, сравни с датой документа
2 Полька
 
24.06.15
11:21
в параметры ставится 01.06.2015 0:00:00
какой бы ни было время в документе, раз дата 01.06.2015 уже ж должно попасть в выборку.
3 Полька
 
24.06.15
11:33
...
4 Гёдза
 
24.06.15
11:33
для даты не имеет смысла граница
5 ХардHard
 
24.06.15
11:34
(3) попробуй 2 условия на дату >= и =<
6 Господин ПЖ
 
24.06.15
11:35
дело было не в бобине
7 D_E_S_131
 
24.06.15
11:36
Чего бы в запросе не написать?
КонецПериода(&ДатаКон)
8 John83
 
24.06.15
11:43
(7) + КонецПериода(&ДатаКон, месяц)
9 Господин ПЖ
 
24.06.15
11:44
>КонецПериода(&ДатаКон)

зачем?

КонецМесяца(Объект.ДатаПланирования)
10 GROOVY
 
24.06.15
11:45
Вангую: не только обращение к документу идет в запросе.
11 Полька
 
24.06.15
11:53
(5) ну это то работает :)))
мне интересно- почему МЕЖДУ не работает как заявлено
12 John83
 
24.06.15
11:55
(11) показывай запрос
13 Полька
 
24.06.15
12:01
Запрос.Текст=  "ВЫБРАТЬ
|    _Спец.КоличествоЗаказано КАК Количество
|ИЗ
|    РегистрНакопления._Спец КАК _Спец
|ГДЕ
|    _Спец.Регистратор ССЫЛКА Документ._ПМО
|    И _Спец.Регистратор.ЗаказПокупателя = &ЗаказПокупателя
|    И _Спец.Номенклатура = &Номенклатура
|    И _Спец.КоличествоЗаказано <> 0
|    И _Спец.Регистратор.ДатаПланирования МЕЖДУ &ДатаНач И &ДатаКон";

Запрос.УстановитьПараметр("ДатаНач",НачалоМесяца(Объект.ДатаПланирования));
Запрос.УстановитьПараметр("ДатаКон",КонецМесяца(Объект.ДатаПланирования));
Запрос.УстановитьПараметр("ЗаказПокупателя",т.Заказ);    
Запрос.УстановитьПараметр("Номенклатура",т.Номенклатура);
14 Господин ПЖ
 
24.06.15
12:01
>мне интересно- почему МЕЖДУ не работает как заявлено

купи себе питуха...
15 Зеленый пень
 
24.06.15
12:02
(11) А мужики-то не знают.
16 Fedor-1971
 
24.06.15
12:05
(13) КонецМесяца(КонецДня(Объект.ДатаПланирования))
теряешь последний день, т.к. конецМесяца возвращает время 00:00, т.е. начало последнего дня месяца.
Небось документ как раз таки и лежит в последнем дне.
17 ХардHard
 
24.06.15
12:07
(11) Значит проблема действительно в МЕЖДУ %).
18 Бубка Гоп
 
24.06.15
12:09
(16) врешь, время будет 23:59:59
19 mehfk
 
24.06.15
12:09
(16) >> конецМесяца возвращает время 00:00,
С чего это вдруг?
20 ХардHard
 
24.06.15
12:10
(18) Я вообще не понял к чему он это написал %)
21 ХардHard
 
24.06.15
12:13
(11) Мне такая штука все правильно выдает
        ВЫБРАТЬ
    ВЫБОР
        КОГДА &Дата МЕЖДУ &Дата1 И &Дата2
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК Поле1

Может косяк платформы? Тестил на 8.2.17.157
22 ХардHard
 
24.06.15
12:15
+ (21) Попробуй жестко параметры в запросе задать без всяких концов.) Может в них дело?
23 Fedor-1971
 
24.06.15
12:18
(19)(18) На выборках документов работает так, причину не знаю. Иначе теряет последний день месяца.
24 Бубка Гоп
 
24.06.15
12:20
(23) ты меня заинтриговал прям
25 D_E_S_131
 
24.06.15
12:21
(2) "в параметры ставится 01.06.2015 0:00:00" — в КАКОЙ из параметров?
26 Fedor-1971
 
24.06.15
12:22
(24) а представь как я удивился, когда у меня из статистики вылетел последний день месяца. Чуть мозг не вывихнул, помогло только (16).
27 Бубка Гоп
 
24.06.15
12:23
(26) опять врешь, специально проверил - нет такого, даты и время взялись правильно. платформа 8.2.19
28 Fedor-1971
 
24.06.15
12:28
(27) 8.2.19.90 Возьми документы, любые, одному задай дату, например, 15/05/2015 05:20, второму 31/05/2015 09:00 и попробуй их выбрать запросом с Между.
29 Бубка Гоп
 
24.06.15
12:29
(28) погоди, ты в (16) говоришь что КонецМесяца возвращает нулевое время, речь пока об этом.
30 Анцеранана
 
24.06.15
12:31
А вот было бы здорово, если бы МЕЖДУ понимало границы (имею в виду Новый Граница). Но увы выдаст ошибку скорее всего(
31 Гёдза
 
24.06.15
12:32
не проходит одно из условий
|    _Спец.Регистратор ССЫЛКА Документ._ПМО
|    И _Спец.Регистратор.ЗаказПокупателя = &ЗаказПокупателя
|    И _Спец.Номенклатура = &Номенклатура
|    И _Спец.КоличествоЗаказано <> 0

или вообще документа в регистре нет
32 Бубка Гоп
 
24.06.15
12:32
(28) сделал, док попал в запрос
33 Господин ПЖ
 
24.06.15
12:33
ловите наркомана...

в табло

КонецМесяца('20150101') = 31.01.2015 23:59:59
34 Господин ПЖ
 
24.06.15
12:34
или руки у кого-то с ж.пы...

переменная совпадает с именем реквизита формы с составом "дата без времени"
35 Ненавижу 1С
 
гуру
24.06.15
12:35
(13)
>> И _Спец.Регистратор.ДатаПланирования МЕЖДУ &ДатаНач И &ДатаКон

причемем тут дата документа, если ты используешь реквизит ДатаПланирования?

а вообще лучше к остаткам/оборотам регистра обращаться, а не выдумывать
36 Fedor-1971
 
24.06.15
12:36
(32) странно, сейчас перепроверю
(33) но передаёт то она КонецМесяца(), а там дата и время есть.
37 Franchiser
 
гуру
24.06.15
12:38
что за бред, конец месяца всегда возвращала конец дня месяца
38 hhhh
 
24.06.15
12:43
(36) это вообще краеугольный камень всего мироздания 1с. Всегда КонецМесяца, КонецГода, КонецКвартала возвращает время 23:59:59
39 Fedor-1971
 
24.06.15
12:47
(32) Перепроверил, достаточно НачалоМесяца и КонецМесяца. Значит я где-то лопухнулся в других условиях запроса. Пойду разбираться.
40 Бубка Гоп
 
24.06.15
12:53
(39) у ТС походу то же самое
41 hhhh
 
24.06.15
13:18
(40) у ТС вообще за гранью. У нее НачалоМесяца.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn