public object ТекстЗапросаПоОтпускамДляЛицевогоСчета(/**/)
{
/*Возврат
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДатыУходаВОтпуск.Период КАК ДатаС,
| ДОБАВИТЬКДАТЕ(ВЫБОР
| КОГДА ДатыУходаВОтпуск.ПериодЗавершения >= МИНИМУМ(ДатыВозвращенияИзОтпуска.Период)
| ИЛИ ДатыУходаВОтпуск.ПериодЗавершения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА МИНИМУМ(ДатыВозвращенияИзОтпуска.Период)
| ИНАЧЕ ДатыУходаВОтпуск.ПериодЗавершения
| КОНЕЦ, ДЕНЬ, -1) КАК ДатаПо,
| ДатыУходаВОтпуск.Состояние КАК Состояние,
| ДатыУходаВОтпуск.ПервичныйДокумент КАК Регистратор,
| ДатыУходаВОтпуск.Организация КАК Организация,
| ДатыУходаВОтпуск.Сотрудник КАК Сотрудник
|ПОМЕСТИТЬ ВТПериодыОтпуска
|ИЗ
| РегистрСведений.СостояниеРаботниковОрганизаций КАК ДатыУходаВОтпуск
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК ДатыВозвращенияИзОтпуска
| ПО ДатыУходаВОтпуск.Сотрудник = ДатыВозвращенияИзОтпуска.Сотрудник
| И ДатыУходаВОтпуск.Период < ДатыВозвращенияИзОтпуска.Период
|ГДЕ
| ДатыУходаВОтпуск.Период МЕЖДУ &ДатаАктуальностиС И &ДатаАктуальностиПо
| И ДатыУходаВОтпуск.Состояние В(&СписокОтпусков)
| И ДатыУходаВОтпуск.Сотрудник В
| (ВЫБРАТЬ
| Сотрудники.Ссылка
| ИЗ
| ВТСотрудники КАК Сотрудники)
| И ДатыУходаВОтпуск.ПервичныйДокумент.Организация В(&Организация)
|
|СГРУППИРОВАТЬ ПО
| ДатыУходаВОтпуск.Период,
| ДатыУходаВОтпуск.Состояние,
| ДатыУходаВОтпуск.ПериодЗавершения,
| ДатыУходаВОтпуск.ПервичныйДокумент,
| ДатыУходаВОтпуск.Организация,
| ДатыУходаВОтпуск.Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ПериодыОтпуска.Состояние = &ЕжегодныйОтпуск
| И ПериодыОтпуска.ДатаС = ОтпускаОрганизацииРаботники.ДатаНачалаДоп
| ТОГДА ОтпускаОрганизацииРаботники.ВидДополнительногоОтпуска.Наименование
| ИНАЧЕ ПериодыОтпуска.Состояние
| КОНЕЦ КАК ВидОтпуска,
| ПериодыОтпуска.ДатаС КАК ДатаС,
| ПериодыОтпуска.ДатаПо КАК ДатаПо,
| ПериодыОтпуска.Регистратор.Дата КАК ДатаПриказаОтпуск,
| ПериодыОтпуска.Регистратор.Номер КАК НомерПриказаОтпуск,
| ОтпускаОрганизацииРаботники.РабочийГодС КАК РабочийГодС,
| ОтпускаОрганизацииРаботники.РабочийГодПо КАК РабочийГодПо,
| ПериодыОтпуска.Состояние КАК ПричинаОтсутствия,
| ВЫБОР
| КОГДА ПериодыОтпуска.Состояние = &ЕжегодныйОтпуск
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ОтпускаОрганизацииРаботники.ДатаНачалаДоп, ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ПериодыОтпуска.ДатаПо
| ИНАЧЕ ВЫБОР
| КОГДА ПериодыОтпуска.ДатаПо < ОтпускаОрганизацииРаботники.ДатаНачалаДоп
| ТОГДА ПериодыОтпуска.ДатаПо
| ИНАЧЕ ДОБАВИТЬКДАТЕ(ОтпускаОрганизацииРаботники.ДатаНачалаДоп, ДЕНЬ, -1)
| КОНЕЦ
| КОНЕЦ
| ИНАЧЕ ПериодыОтпуска.ДатаПо
| КОНЕЦ КАК ДатаПоОсн,
| ЕСТЬNULL(ОтпускаОрганизацииРаботники.ДатаНачалаДоп, ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) КАК ДатаНачалаДоп,
| ВЫБОР
| КОГДА ЕСТЬNULL(ОтпускаОрганизацииРаботники.ДатаНачалаДоп, ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ИНАЧЕ ПериодыОтпуска.ДатаПо
| КОНЕЦ КАК ДатаОкончанияДоп,
| ПериодыОтпуска.Сотрудник КАК Сотрудник
|ПОМЕСТИТЬ ВТОтпускаРаботника
|ИЗ
| ВТПериодыОтпуска КАК ПериодыОтпуска
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацииРаботники
| ПО ПериодыОтпуска.Регистратор = ОтпускаОрганизацииРаботники.Ссылка
| И ПериодыОтпуска.Сотрудник = ОтпускаОрганизацииРаботники.Сотрудник
| И ПериодыОтпуска.ДатаС = ОтпускаОрганизацииРаботники.ДатаНачала
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОтпускаРаботника.ДатаС,
| ОтпускаРаботника.ДатаПо,
| ОтпускаРаботника.РабочийГодС,
| ОтпускаРаботника.РабочийГодПо,
| ОтпускаРаботника.ВидОтпуска,
| ОтпускаРаботника.ДатаПриказаОтпуск КАК ДатаПриказаОтпуск,
| ОтпускаРаботника.НомерПриказаОтпуск,
| ВЫБОР
| КОГДА ОтпускаРаботника.ПричинаОтсутствия <> &ЕжегодныйОтпуск
| ТОГДА РАЗНОСТЬДАТ(ОтпускаРаботника.ДатаС, ОтпускаРаботника.ДатаПо, ДЕНЬ) + 1
| ИНАЧЕ ЕСТЬNULL(СУММА(ВЫБОР
| КОГДА РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ ОтпускаРаботника.ДатаС И ОтпускаРаботника.ДатаПоОсн
| ТОГДА РегламентированныйПроизводственныйКалендарь.КалендарныеДни
| ИНАЧЕ 0
| КОНЕЦ), 0)
| КОНЕЦ КАК ДнейОтпуска,
| ВЫБОР
| КОГДА ОтпускаРаботника.ПричинаОтсутствия <> &ЕжегодныйОтпуск
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(СУММА(ВЫБОР
| КОГДА РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ ОтпускаРаботника.ДатаНачалаДоп И ОтпускаРаботника.ДатаОкончанияДоп
| ТОГДА РегламентированныйПроизводственныйКалендарь.КалендарныеДни
| ИНАЧЕ 0
| КОНЕЦ), 0)
| КОНЕЦ КАК ДнейОтпускаДоп,
| ОтпускаРаботника.Сотрудник.Физлицо КАК ФизЛицо
|ИЗ
| ВТОтпускаРаботника КАК ОтпускаРаботника
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
| ПО (РегламентированныйПроизводственныйКалендарь.ВидДня <> &Праздник)
| И (РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ ОтпускаРаботника.ДатаС И ОтпускаРаботника.ДатаПо)
|
|СГРУППИРОВАТЬ ПО
| ОтпускаРаботника.ДатаС,
| ОтпускаРаботника.ДатаПо,
| ОтпускаРаботника.РабочийГодС,
| ОтпускаРаботника.РабочийГодПо,
| ОтпускаРаботника.ВидОтпуска,
| ОтпускаРаботника.ДатаПриказаОтпуск,
| ОтпускаРаботника.НомерПриказаОтпуск,
| ОтпускаРаботника.ПричинаОтсутствия,
| ОтпускаРаботника.Сотрудник,
| ОтпускаРаботника.Сотрудник.Физлицо
|
|УПОРЯДОЧИТЬ ПО
| ФизЛицо,
| ДатаПриказаОтпуск
|ИТОГИ ПО
| ФизЛицо";*/
return null;
}