|
Ошибка в запросе
| ☑ |
0
mercurey
06.02.14
✎
11:41
|
Здравствуйте! О мудрейшие! Подскажите пожалуйста в чем может быть косяк? Имеем простейший запрос:
ВЫБРАТЬ
СотрудникиОрганизаций.Ссылка
ИЗ
Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ГДЕ
СотрудникиОрганизаций.ДатаУвольнения = ДАТАВРЕМЯ(1,1,1,0,0,0)
И СотрудникиОрганизаций.ТекущееПодразделениеОрганизации = &ПодразделениеОрганизации
Вроде все правильно и красиво. Но(!), как только исключаю одно из условий (по дате, либо по подразделению) результаты странные.
Т.е. если к примеру есть 10 сотрудников всего, из них все попадают под условие с датой увольнения, а 5 попадают под второе с подразделением - так запрос работает если исключать условия, но стоит их записать вместе (как написано вначале) результатом является 3 человека. Пробовал менять местами условия, вместо ДАТАВРЕМЯ() ставить параметр - не могу понять в чем косяк. Кто встречался с подобными выкрутасами?
|
|
1
х86
06.02.14
✎
11:43
|
(0)условие И
|
|
2
Godofsin
06.02.14
✎
11:43
|
ну так значит всего 3 человека удовлетворяют твои условиям. Возможно, ты вместо И хочешь ИЛИ?
|
|
3
Maxus43
06.02.14
✎
11:44
|
>>а 5 попадают под второе с подразделением
из них 2-е уволены значит
|
|
4
mercurey
06.02.14
✎
11:45
|
(3) в том то и дело что нет, тогда бы под условие с датой увольнения попали 8 человек
|
|
5
Maxus43
06.02.14
✎
11:46
|
короче чудес не бывает
|
|
6
Maxus43
06.02.14
✎
11:47
|
по фамилиям смотри внимательней, увидишь что если исключать условия - люди разные, иначе это будет мистика и мы перестанем верить в логику
|
|
7
mercurey
06.02.14
✎
11:47
|
(5) это понятно, просто методом исключения условий найти ошибку не получается, может как-то с типами значений можно по проверять?
|
|
8
Tateossian
06.02.14
✎
11:48
|
(0) Включи поля условий в ВЫБРАТЬ и посмотри на выборку в разных вариантах.
|
|
9
mercurey
06.02.14
✎
11:48
|
(8) ща испробую
|
|
10
mercurey
06.02.14
✎
12:02
|
Всё друзья - благо дарю вам! Вопрос снят - разобрались!
|
|
11
Godofsin
06.02.14
✎
12:04
|
(10) Ну так просвети нас
|
|
12
mercurey
06.02.14
✎
12:41
|
(11) собственная невнимательность(самдурак короче), вас взбаламутил. Дело в подразделениях было - рекв. текущееподразделение при проведении кадрового перемещения меняется а за неимением оного поля в запросе я этого и не видел когда условия исключал, кароче все нормально - ещё раз спасибо. Не думал что здесь так мгновенно могут на путь истинный направить.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший