Добрый день!

Занимаюсь сейчас оптимизацией в ут 10.3, В Списке документов можно разным стандартными способами ставить отборы(отбор по дате, по периоду с разными вариантами сравнения) , необходимо получить дату начала отбора документов, делал кто-то подобное ?
---
Cool_vsi,
```1c
    &НаСервере
    Процедура ПолучитьЗначенияОтборов(булОчищать=Истина,ЭлементыОтбора=Неопределено)
    Если булОчищать тогда
    ОтборАвтор = Справочники.Пользователи.ПустаяСсылка();
    ОтборКонтрагент = Справочники.Контрагенты.ПустаяСсылка();
    ОтборОрганизация = Справочники.Организации.ПустаяСсылка();
    ПериодВыборки.ДатаНачала =Дата(1,1,1);
    ПериодВыборки.ДатаОкончания=Дата(1,1,1);
    КонецЕсли;
    Для каждого элемент из ?(булОчищать,список.Отбор.Элементы,ЭлементыОтбора) Цикл
    Если не элемент.Использование тогда
    ИначеЕсли ТипЗнч(элемент)=тип("ГруппаЭлементовОтбораКомпоновкиДанных") тогда
    ПолучитьЗначенияОтборов(Ложь,элемент.Элементы);
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Автор"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии или элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно) тогда
    ОтборАвтор=элемент.ПравоеЗначение;
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Контрагент"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно) тогда
    ОтборКонтрагент=элемент.ПравоеЗначение;
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Организация"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно) тогда
    ОтборОрганизация=элемент.ПравоеЗначение;
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Дата"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.БольшеИлиРавно)и(элемент.Представление="ДатаНачала") тогда
    ПериодВыборки.ДатаНачала=элемент.ПравоеЗначение;
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Дата"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.МеньшеИлиРавно)и(элемент.Представление="ДатаОкончания") тогда
    ПериодВыборки.ДатаОкончания=элемент.ПравоеЗначение;
    КонецЕсли
    КонецЦикла;
    стрПериод=Лев(?(ЗначениеЗаполнено(ПериодВыборки.ДатаНачала),ПериодВыборки.ДатаНачала," . . "),10)+" - "+Лев(?(ЗначениеЗаполнено(ПериодВыборки.ДатаОкончания),ПериодВыборки.ДатаОкончания," . . "),10);
    КонецПроцедуры
```
---
Cool_vsi, Отбор.Дата.ЗначениеС
---
Cool_vsi,

```1c
    ЭлементыФормы.Список.СтандартныйПериод.ДатаНачала
```
---
Cool_vsi,
```1c
    &НаСервере
    Процедура ПолучитьЗначенияОтборов(булОчищать=Истина,ЭлементыОтбора=Неопределено)
    Если булОчищать тогда
    ОтборАвтор = Справочники.Пользователи.ПустаяСсылка();
    ОтборКонтрагент = Справочники.Контрагенты.ПустаяСсылка();
    ОтборОрганизация = Справочники.Организации.ПустаяСсылка();
    ПериодВыборки.ДатаНачала =Дата(1,1,1);
    ПериодВыборки.ДатаОкончания=Дата(1,1,1);
    КонецЕсли;
    Для каждого элемент из ?(булОчищать,список.Отбор.Элементы,ЭлементыОтбора) Цикл
    Если не элемент.Использование тогда
    ИначеЕсли ТипЗнч(элемент)=тип("ГруппаЭлементовОтбораКомпоновкиДанных") тогда
    ПолучитьЗначенияОтборов(Ложь,элемент.Элементы);
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Автор"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии или элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно) тогда
    ОтборАвтор=элемент.ПравоеЗначение;
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Контрагент"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно) тогда
    ОтборКонтрагент=элемент.ПравоеЗначение;
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Организация"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно) тогда
    ОтборОрганизация=элемент.ПравоеЗначение;
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Дата"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.БольшеИлиРавно)и(элемент.Представление="ДатаНачала") тогда
    ПериодВыборки.ДатаНачала=элемент.ПравоеЗначение;
    ИначеЕсли (элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Дата"))и(элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.МеньшеИлиРавно)и(элемент.Представление="ДатаОкончания") тогда
    ПериодВыборки.ДатаОкончания=элемент.ПравоеЗначение;
    КонецЕсли
    КонецЦикла;
    стрПериод=Лев(?(ЗначениеЗаполнено(ПериодВыборки.ДатаНачала),ПериодВыборки.ДатаНачала," . . "),10)+" - "+Лев(?(ЗначениеЗаполнено(ПериодВыборки.ДатаОкончания),ПериодВыборки.ДатаОкончания," . . "),10);
    КонецПроцедуры
```
---
ture, Спасибо искал универсальную функцию
---
Cool_vsi, Я так вынимаю отборы и ставлю их в реквизиты формы