Имя: Пароль:
1C
1С v8
Отбор в СКД через точку (значение - булево) даёт непредсказуемый результат
0 Vladal
 
30.11.16
15:19
Есть простенький отчет на СКД по дням рождения сотрудников, запрос вроде такого (в оригинале еще соединение с РС.ФИОСотрудников):

выбрать
    Сотрудник как Сотрудник,
    Сотрудник.Физлицо.ДатаРождения как ДатаРождения,
    Должность как Должность,
    Подразделение как Подразделение
из
    регистрсведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета, Актуальность И ЗанимаемыхСтавок > 0)

Всё это аккуратно сделано на простенькой настройке СКД - группировка по Сотруднику и ДетальныеЗаписи. Всё.

Но тут обнаружили, что если в отборе СКД указать Сотрудник.Актуальный = Да, то попадают и неактуальные, т.е. в карточке которых снят флажок Актуальный.

Вот дивно мне это. Или надо вытащить явно этот реквизит в поля СКД и проблема исчезнет?
1 Fragster
 
гуру
30.11.16
15:26
надо явно вытащить отбор в параметрах виртуальной таблицы
2 Fragster
 
гуру
30.11.16
15:27
кстати, если Актуальность и Занимаемых ставок - ресурсы, то их надо наобборот вынести
3 Vladal
 
30.11.16
15:39
Актуальность - стандартное поле РС,
а ЗанимаемыхСтавок Вынес.
4 AneJIbcuH
 
30.11.16
18:38
(0) Если ты рисуешь запрос в консоли в двух видах:


"...
из     Регистрсведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета, Актуальность И ЗанимаемыхСтавок > 0 И Сотрудник.Актуальный)"

И такой:

"...
из     Регистрсведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета, Актуальность И ЗанимаемыхСтавок > 0)
ГДЕ
Сотрудник.Актуальный"

Результаты какие?
5 mistеr
 
30.11.16
18:43
(3) В РС три вида полей. Какое?
6 Vladal
 
30.11.16
19:14
(4) таблицы идентичны.
(5) пардон, в (3) не актуальность. а активность
7 Vladal
 
01.12.16
10:15
Ы!
нашел причину - я смотрел регистр РаботникиОрганизации, по которому обычно строятся все другие отчеты, а этот отчет по дням рождения берет данные из РаботникиПредприятия, и их данные не совпали.
8 mistеr
 
01.12.16
13:57
(6) В РС нет активности, куда-то ты не туда смотрел.
9 Cool_Profi
 
01.12.16
14:00
(8) Давно нет?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.