Имя: Пароль:
1C
1С v8
Ошибка в запросе
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) собственная невнимательность(самдурак короче), вас взбаламутил. Дело в подразделениях было - рекв. текущееподразделение при проведении кадрового перемещения меняется а за неимением оного поля в запросе я этого и не видел когда условия исключал, кароче все нормально - ещё раз спасибо. Не думал что здесь так мгновенно могут на путь истинный направить.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший