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