V82.ОбщиеМодули.ФормированиеПечатныхФормДополнительный.ТекстЗапросаПоОтпускамДляЛицевогоСчета C# (CSharp) Method

ТекстЗапросаПоОтпускамДляЛицевогоСчета() public method

        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;
        }