Имя: Пароль:
1C
1С v8
СКД. Стандартный период (режим выбора из списка)
0 kozhem1990
 
31.01.20
11:15
Здравствуйте! Пожалуйста, скажите, как для параметра типа "стандартный период" установить режим выбора из списка на форме отчета, в компоновщике настроек, чтобы при щелчке мышью была активна кнопка выбора из списка (стрелка вниз), а не только кнопка выбора (три точки), ибо необходимо при выборе открывать форму настройки периода, а при выборе из списка, чтобы всплывал стандартный список выбора, типа "Прошлый месяц", "Этот год" и т.д. Заранее благодарен!
1 toypaul
 
гуру
31.01.20
11:21
если не пугает программная работа с элементами формы, то находишь поле на форме и заполняешь нужные свойства. если надо цепляешь обработчик
2 kozhem1990
 
31.01.20
11:28
Я пробовал вот так:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.КомпоновщикНастроекПользовательскиеНастройкиЗначение.РежимВыбораИзСписка = Истина;
    Элементы.КомпоновщикНастроекПользовательскиеНастройкиЗначение.УстановитьДействие("НачалоВыбораИзСписка", "УстановитьПараметрыКомпоновщикаИзСписка");
    Элементы.КомпоновщикНастроекПользовательскиеНастройкиЗначение.УстановитьДействие("НачалоВыбора", "УстановитьПараметрыКомпоновщика");
...
КонецПроцедуры

&НаКлиенте
Процедура УстановитьПараметрыКомпоновщикаИзСписка(Элемент, СтандартнаяОбработка)
     //...
КонецПроцедуры

&НаКлиенте
Процедура УстановитьПараметрыКомпоновщика(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ИдентификаторМойПериод = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("МойПериод");
    Если ИдентификаторМойПериод <> Неопределено Тогда
        ИдентификаторМойПериод = ИдентификаторМойПериод.ИдентификаторПользовательскойНастройки;
        Если Строка(Элементы.КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонок.Родитель.ТекущаяСтрока) = ИдентификаторМойПериод Тогда
            СтандартнаяОбработка = Ложь;
            ПараметрМойПериод = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ИдентификаторМойПериод);
            Если ТипЗНЧ(ПараметрМойПериод.Значение) <> Тип("СтандартныйПериод") Тогда
                СтПериод = Новый СтандартныйПериод;
                ПараметрМойПериод.Значение = СтПериод;
            КонецЕсли;
            ПередоваемыеПараметры = Новый Структура;
            ПередоваемыеПараметры.Вставить("НачПериода",ПараметрМойПериод.Значение.ДатаНачала);
            ПередоваемыеПараметры.Вставить("КонПериода",ПараметрМойПериод.Значение.ДатаОкончания);
            ФормаПериода = ПолучитьФорму("Обработка.СтандартнаяНастройкаПериода.Форма.ФормаНастройкиПериодаУправляемая", ПередоваемыеПараметры);
            ФормаПериода.Элементы.ГруппаСтраницы.ТекущаяСтраница = ФормаПериода.Элементы.ГруппаСтраницаПериод;
            РезультатПериод = ФормаПериода.ОткрытьМодально();
            Если РезультатПериод <> Неопределено Тогда  
                Если РезультатПериод.Свойство("НачПериода") = Истина И РезультатПериод.Свойство("КонПериода") = Истина Тогда
                    ПараметрМойПериод.Значение.ДатаНачала = РезультатПериод.НачПериода;
                    ПараметрМойПериод.Значение.ДатаОкончания = РезультатПериод.КонПериода;    
                КонецЕсли;
            КонецЕсли;    
            ТекущийЭлемент = Элементы.ФормаКомандаСформировать;    
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


Проблема в том, что не отображается кнопка выбора из списка, чтобы вызвать "УстановитьПараметрыКомпоновщикаИзСписка", и это только для типа "стандартный период". Меняю на дату - у нее эта клавиша появляется (стрелка вниз), с ней можно обработать это событие. Но это отчет, необходим параметр с периодом, а, блин, вызвать не знаю как это событие...
3 kozhem1990
 
31.01.20
11:29
Тупо одна кнопка выбора... А в компоновщике только "Режим выбора" можно установить в Истину в настройках реквезитов формы...
4 kozhem1990
 
31.01.20
11:32
Вообщем, не знаю, как для параметра с таким типов установить режим выбора из списка, хотя для реквизита такого же типа, этот режим доступен, а в компоновщике. Пользователи хотят и так и так настраивать. Беда, печаль...
5 kozhem1990
 
31.01.20
11:33
(4) * "а в компоновщике нельзя"
6 toypaul
 
гуру
31.01.20
12:36
кнопку выбора из списка надо включить. не Авто, а Истина. и это другое свойство
7 D_E_S_131
 
31.01.20
15:08
Учитывая какое сейчас "навороченное" окно настройки периода, даже стало интересно какой список составит ТС. А еще интереснее увидеть того, кто скажет, что получившаяся "портянка" гораздо удобнее стандартного окна.