V82.ОбщиеМодули.ПроцедурыУправленияПерсоналом.ПериодыИспользованияРесурсов C# (CSharp) Method

ПериодыИспользованияРесурсов() public method

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