|
Странный результат запроса | ☑ | ||
---|---|---|---|---|
0
korchak
08.11.12
✎
16:08
|
Есть вот такой код
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаНач", ДатаНач); Запрос.УстановитьПараметр("ЧислоДней", ЧислоДней); Запрос.УстановитьПараметр("РабочийДень", Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий); Запрос.УстановитьПараметр("ПредпраздничныйДень", Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный); Если ЧислоДней = 0 Тогда ТекДата = ДатаНач; Возврат ТекДата; Иначе Запрос.Текст = " |ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ " + ЧислоДней + " | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря < &ДатаНач | И (РегламентированныйПроизводственныйКалендарь.ВидДня = &РабочийДень | ИЛИ РегламентированныйПроизводственныйКалендарь.ВидДня = &ПредпраздничныйДень) |УПОРЯДОЧИТЬ ПО | ДатаКалендаря УБЫВ |"; КонецЕсли; Выборка = Запрос.Выполнить().Выбрать(); К примеру параметр ДатаНач = 08.11.12, а ЧислоДней = 2 Почему результат выборки получается 08.11.12 и 07.11.12? А не 07.11.12 и 06.11.12, когда четко условие стоит РегламентированныйПроизводственныйКалендарь.ДатаКалендаря < &ДатаНач |
|||
1
Aprobator
08.11.12
✎
16:11
|
имхается мне, что дата со временем не равным нулю в параметр попадает. Другого объяснения не вижу.
|
|||
2
Лефмихалыч
08.11.12
✎
16:12
|
(0) ты уверен,что тебе не показалось?
|
|||
3
korchak
08.11.12
✎
16:13
|
ДатаНач = 08.11.2012 23:59:59, это из табло...
|
|||
4
zladenuw
08.11.12
✎
16:15
|
ну так .ДатаНач = 08.11.2012 11:59:59.
|
|||
5
Aprobator
08.11.12
✎
16:15
|
(3) ну так, а я что сказал?
|
|||
6
zladenuw
08.11.12
✎
16:15
|
(3) бери 00:00:00
|
|||
7
ИльяА
08.11.12
✎
16:15
|
Запрос.УстановитьПараметр("ДатаНач",НачалоДня (ДатаНач));
|
|||
8
korchak
08.11.12
✎
16:16
|
Нет, не показалось
Если Выборка.Количество() = ЧислоДней Тогда Пока Выборка.Следующий() Цикл ТекДата = Выборка.ДатаКалендаря; КонецЦикла; Возврат ТекДата; КонецЕсли; Выборка.ДатаКалендаря 08.11.2012 00:00:00 при первом цикле Выборка.ДатаКалендаря 07.11.2012 00:00:00 при втором цикле |
|||
9
Undefined vs NULL
08.11.12
✎
16:16
|
(8) чукча не читатель (1) и (6)
|
|||
10
korchak
08.11.12
✎
16:18
|
понял, пробую
|
|||
11
Aprobator
08.11.12
✎
16:18
|
(8) у тебя в условие уходит значение 08.11.2012 23:59:59
08.11.2012 00:00:00 меньше этого значения. Так что все правильно попадает. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |