0
prilforreal
27.09.17
✎
13:17
|
Доброго всем дня! Конфа 8.3 самописная. Сегодня появилась надобность настроить в отчете написанном на скд выбор периода, решил перенести элементы с обычной формы, вышло вполне просто, удобно и красиво, может кому пригодится.
Добавляем на форму отчета элемент управления "выбор периода", дальше в модуле формы дописываем процедуру ВыбПериодНажатие, получается:
Процедура ВыбПериодНажатие(Элемент)
НастройкаПериода = Новый НастройкаПериода;
НастройкаПериода.РедактироватьКакИнтервал = Истина;
НастройкаПериода.РедактироватьКакПериод = Истина;
НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));
Если НастройкаПериода.Редактировать() Тогда
НачПериода = НастройкаПериода.ПолучитьДатуНачала();
КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
НП = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
КП = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
НП.Значение = ЭлементыФормы.НачПериода.Значение;
КП.Значение = КонецДня(ЭлементыФормы.КонПериода.Значение);
КонецЕсли;
КонецПроцедуры
И создаем процедуры при изменении начала и конца периода:
Процедура НачПериодаПриИзменении(Элемент)
НП = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
НП.Значение = ЭлементыФормы.НачПериода.Значение;
КонецПроцедуры
Процедура КонПериодаПриИзменении(Элемент)
КП = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
КП.Значение = КонецДня(ЭлементыФормы.КонПериода.Значение);
КонецПроцедуры
Все, на форме отчета СКД удобные и привычные пользователям элементы управления периодом.
|
|