в отчете в запросе надо в двух местах "=" поставить, потому что 20-летние не попали
ВозрастНаДатуОтчета >= 20
ФизДок.ДокументДатаВыдачи <= ДР20
ВЫБРАТЬ //КОЛИЧЕСТВО(КадроваяИстория.Сотрудник)
ВЫБОР КОГДА ФизДок.ВозрастНаДатуОтчета >= 45 ТОГДА
"по достижении 45 лет"
КОГДА ФизДок.ДокументДатаВыдачи < ФизДок.ДР20 ТОГДА
"по достижении 20 лет"
ИНАЧЕ
""
КОНЕЦ КАК Предупреждение,
КадроваяИстория.ФизическоеЛицо.Ссылка КАК ФизическоеЛицо,
ТекущиеДанныеСотрудников.ДатаПриема,
КадроваяИстория.Сотрудник,
КадроваяИстория.Подразделение,
КадроваяИстория.Подразделение.Наименование КАК ПодразделениеНаименование,
КадроваяИстория.Должность,
ФизДок.ДатаРождения,
ФизДок.ВозрастНаДатуОтчета,
ВЫБОР КОГДА ФизДок.ВозрастНаДатуОтчета >= 45 ТОГДА ФизДок.ДР45
КОГДА ФизДок.ДокументДатаВыдачи < ДР20 ТОГДА ФизДок.ДР20
ИНАЧЕ
""
КОНЕЦ КАК КонецДействияПаспорта,
ФизДок.ДР20,
ФизДок.ДР45,
ФизДок.ДокументДатаВыдачи,
ФизДок.ДокументСерия,
ФизДок.ДокументНомер,
ФизДок.ДокументКемВыдан
ИЗ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Период, Организация = &Организация) КАК КадроваяИстория ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ
Ссылка КАК ФизЛицоСсылка,
ДатаРождения КАК ДатаРождения,
РАЗНОСТЬДАТ(ДатаРождения, &Период, ГОД) - ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, РАЗНОСТЬДАТ(ДатаРождения, &Период, ГОД)) > &Период
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК ВозрастНаДатуОтчета,
ДОБАВИТЬКДАТЕ(ДатаРождения, Год, 20) КАК ДР20,
ДОБАВИТЬКДАТЕ(ДатаРождения, Год, 45) КАК ДР45,
ДокФизЛиц.ДатаВыдачи КАК ДокументДатаВыдачи,
ДокФизЛиц.Серия КАК ДокументСерия,
ДокФизЛиц.Номер КАК ДокументНомер,
ДокФизЛиц.КемВыдан КАК ДокументКемВыдан
ИЗ
Справочник.ФизическиеЛица КАК ФизическиеЛица ВНУТРЕННЕЕ СОЕДИНЕНИЕ
РегистрСведений.ДокументыФизическихЛиц.СрезПоследних(
&Период,
ВидДокумента = ЗНАЧЕНИЕ(Справочник.ВидыДокументовФизическихЛиц.ПаспортРФ)) КАК ДокФизЛиц ПО ФизическиеЛица.Ссылка = ДокФизЛиц.Физлицо
ГДЕ (ДОБАВИТЬКДАТЕ(ДатаРождения, Год, 45) > ДокФизЛиц.ДатаВыдачи) //кто получил паспорт позсле 45 нас не интересуют
) КАК ФизДок ПО КадроваяИстория.ФизическоеЛицо.Ссылка = ФизДок.ФизЛицоСсылка ЛЕВОЕ СОЕДИНЕНИЕ
РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеДанныеСотрудников ПО КадроваяИстория.Сотрудник = ТекущиеДанныеСотрудников.Сотрудник
ГДЕ КадроваяИстория.ВидСобытия <> ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Увольнение)
И (ВозрастНаДатуОтчета >= 20) //младше 20 нас тоже не интересуют
И (ВозрастНаДатуОтчета >= 45 ИЛИ ДокументДатаВыдачи < ДОБАВИТЬКДАТЕ(ДатаРождения, Год, 20)) //возраст на дату отчета >= 45 ИЛИ ДатаВыдачиДокумента < ДР20
УПОРЯДОЧИТЬ ПО
КадроваяИстория.Подразделение.Наименование,
ВЫБОР КОГДА ФизДок.ВозрастНаДатуОтчета >= 45 ТОГДА ФизДок.ДР45
КОГДА ФизДок.ДокументДатаВыдачи <= ДР20 ТОГДА ФизДок.ДР20
ИНАЧЕ
""
КОНЕЦ
Показать