Здравствуйте, у сотрудника получилось 2 декретных отпуска одновременно, как вывести сотрудника только 1 раз (т.е по последней его дате "ДатаОкончания")?
ВЫБРАТЬ
МАКСИМУМ(ОтпускПоУходуЗаРебенком.ДатаОкончания) КАК ДатаОкончания,
СостоянияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
СостоянияСотрудниковСрезПоследних.Состояние КАК Состояние,
КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение,
КадроваяИсторияСотрудниковСрезПоследних.СЭ_ТипПроизводственногоПерсонала КАК СЭ_ТипПроизводственногоПерсонала,
КадроваяИсторияСотрудниковСрезПоследних.СЭ_КатегорияРаботника КАК СЭ_КатегорияРаботника,
ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения КАК ДатаУвольнения,
ОтпускПоУходуЗаРебенком.ДатаНачала КАК ДатаНачала,
ВозвратИзОтпускаПоУходуЗаРебенком.ДатаВозврата КАК ДатаВозврата
ПОМЕСТИТЬ ВТ_ДоВыхода
ИЗ
РегистрСведений.СостоянияСотрудников.СрезПоследних КАК СостоянияСотрудниковСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтпускПоУходуЗаРебенком КАК ОтпускПоУходуЗаРебенком
ПО (ОтпускПоУходуЗаРебенком.Сотрудник = СостоянияСотрудниковСрезПоследних.Сотрудник.ФизическоеЛицо)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
ПО (КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо = СостоянияСотрудниковСрезПоследних.Сотрудник.ФизическоеЛицо)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
ПО (СостоянияСотрудниковСрезПоследних.Сотрудник.ФизическоеЛицо = ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратИзОтпускаПоУходуЗаРебенком КАК ВозвратИзОтпускаПоУходуЗаРебенком
ПО (ВозвратИзОтпускаПоУходуЗаРебенком.Сотрудник = СостоянияСотрудниковСрезПоследних.Сотрудник.ФизическоеЛицо)
ГДЕ
(ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения >= &Дата
ИЛИ ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
СГРУППИРОВАТЬ ПО
СостоянияСотрудниковСрезПоследних.Сотрудник,
СостоянияСотрудниковСрезПоследних.Состояние,
КадроваяИсторияСотрудниковСрезПоследних.Подразделение,
КадроваяИсторияСотрудниковСрезПоследних.СЭ_ТипПроизводственногоПерсонала,
КадроваяИсторияСотрудниковСрезПоследних.СЭ_КатегорияРаботника,
ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения,
ОтпускПоУходуЗаРебенком.ДатаНачала,
ВозвратИзОтпускаПоУходуЗаРебенком.ДатаВозврата
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_ДоВыхода.ДатаНачала КАК ДатаНачала,
ВТ_ДоВыхода.ДатаОкончания КАК ДатаОкончания,
ВТ_ДоВыхода.Сотрудник КАК Сотрудник,
ВТ_ДоВыхода.Состояние КАК Состояние,
ВТ_ДоВыхода.Подразделение КАК Подразделение,
ВТ_ДоВыхода.СЭ_ТипПроизводственногоПерсонала КАК СЭ_ТипПроизводственногоПерсонала,
ВТ_ДоВыхода.СЭ_КатегорияРаботника КАК СЭ_КатегорияРаботника,
ВТ_ДоВыхода.ДатаУвольнения КАК ДатаУвольнения,
ВТ_ДоВыхода.ДатаВозврата КАК ДатаВозврата
ИЗ
ВТ_ДоВыхода КАК ВТ_ДоВыхода
ГДЕ
(ВТ_ДоВыхода.ДатаОкончания < &Дата
И ВТ_ДоВыхода.ДатаВозврата ЕСТЬ NULL
ИЛИ ВТ_ДоВыхода.ДатаОкончания > &Дата
И ВТ_ДоВыхода.ДатаВозврата < &Дата)
Показать