public object ОпределитьНачалоИОкончаниеРабочегоДняПользователя(/*Пользователь, РабочаяДата*/)
{
//ДатаНачала = '00010101000000';
//ДатаОкончания = '00010101235959';
//НайденныйГрафик = Неопределено;
//Запрос = Новый Запрос;
//Запрос.УстановитьПараметр("Пользователь", Пользователь);
//Запрос.УстановитьПараметр("ДатаСреза", РабочаяДата);
/*Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВложенныйЗапрос.ГрафикРаботы
|ИЗ
| (ВЫБРАТЬ
| РаботникиСрезПоследних.ГрафикРаботы КАК ГрафикРаботы
| ИЗ
| РегистрСведений.Работники.СрезПоследних(
| &ДатаСреза,
| Физлицо В
| (ВЫБРАТЬ
| Пользователи.ФизЛицо
| ИЗ
| Справочник.Пользователи КАК Пользователи
| ГДЕ
| Пользователи.Ссылка = &Пользователь)) КАК РаботникиСрезПоследних
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| РаботникиОрганизацийСрезПоследних.ГрафикРаботы
| ИЗ
| РегистрСведений.РаботникиОрганизаций.СрезПоследних(
| &ДатаСреза,
| Сотрудник.Физлицо В
| (ВЫБРАТЬ
| Пользователи.ФизЛицо
| ИЗ
| Справочник.Пользователи КАК Пользователи
| ГДЕ
| Пользователи.Ссылка = &Пользователь)) КАК РаботникиОрганизацийСрезПоследних) КАК ВложенныйЗапрос";*/
//Выборка = Запрос.Выполнить().Выбрать();
if(true/*Выборка.Следующий()*/)
{
//НайденныйГрафик = Выборка.ГрафикРаботы;
}
if(true/*НЕ ЗначениеЗаполнено(НайденныйГрафик)*/)
{
//НайденныйГрафик = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Пользователь, "ГрафикРаботы");
}
if(true/*ЗначениеЗаполнено(НайденныйГрафик) И ТипЗнч(НайденныйГрафик) = Тип("СправочникСсылка.ГрафикиРаботы")*/)
{
//Запрос.УстановитьПараметр("ГрафикРаботы", НайденныйГрафик);
/*Запрос.Текст =
"ВЫБРАТЬ
| МИНИМУМ(ВремяРаботы.ВремяНачала) КАК ВремяНачала,
| МАКСИМУМ(ВремяРаботы.ВремяОкончания) КАК ВремяОкончания
|ИЗ
| (ВЫБРАТЬ
| ГрафикиРаботыПериодыСмены.ВремяНачала КАК ВремяНачала,
| ГрафикиРаботыПериодыСмены.ВремяОкончания КАК ВремяОкончания
| ИЗ
| Справочник.ГрафикиРаботы.ПериодыСмены КАК ГрафикиРаботыПериодыСмены
|
| ГДЕ
| ГрафикиРаботыПериодыСмены.Ссылка = &ГрафикРаботы
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СменыПериодыСмены.ВремяНачала,
| СменыПериодыСмены.ВремяОкончания
| ИЗ
| Справочник.ГрафикиРаботы.Смены КАК ГрафикиРаботыСмены
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Смены.ПериодыСмены КАК СменыПериодыСмены
| ПО ГрафикиРаботыСмены.Смена = СменыПериодыСмены.Ссылка
|
| ГДЕ
| ГрафикиРаботыСмены.Ссылка = &ГрафикРаботы) КАК ВремяРаботы";*/
//Выборка = Запрос.Выполнить().Выбрать();
if(true/*Выборка.Следующий()*/)
{
//ДатаНачала = Выборка.ВремяНачала;
if(true/*ЗначениеЗаполнено(Выборка.ВремяОкончания)*/)
{
//ДатаОкончания = Выборка.ВремяОкончания;
}
}
}
//СтруктураВозврата = Новый Структура("ДатаНачала, ДатаОкончания", ДатаНачала, ДатаОкончания);
return null;
}