Отчёт создан на основе "Универсального отчета". Плюс добавлены два реквизита "Количество лет" и "Группировка колонок". Значения этих двух полей надо хранить в настройках пользователя так же, как и группировки, отбор и тэ пэ. Как это можно сделать без коверкания самого "Универсального отчета"?
Кусочек кода модуля формы отчёта. Я так понимаю, надо в процедуре "ПриЗакрытии" что-то нашаманить.
Процедура ПриОткрытии()
УниверсальныйОтчет.мДействиеПолеВводаВидСравненияПриИзменении = Новый Действие("ПолеВводаВидСравненияПриИзменении");
УниверсальныйОтчет.мДействиеПолеВводаЗначениеПриИзменении = Новый Действие("ПолеВводаЗначениеПриИзменении");
УниверсальныйОтчет.ФормаПриОткрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
Если ЗначениеНеЗаполнено(УниверсальныйОтчет.ДатаКон) Тогда
УниверсальныйОтчет.ДатаКон = КонецДня(ТекущаяДата());
КонецЕсли;
Если ЗначениеНеЗаполнено(УниверсальныйОтчет.ДатаНач) Тогда
УниверсальныйОтчет.ДатаНач = ДобавитьМесяц(УниверсальныйОтчет.ДатаКон, -12);
КонецЕсли;
Если ЗначениеНеЗаполнено(КоличествоЛет) Тогда
КоличествоЛет = 2;
КонецЕсли;
КонецПроцедуры
Процедура ПриЗакрытии()//Вот тут-то что-то и надо умного написать
ЭтотОбъект.УниверсальныйОтчет.мТекущаяНастройка.СохраненнаяНастройка.Вставить("КоличествоЛет", КоличествоЛет);//Насколько правильно
ЭтотОбъект.УниверсальныйОтчет.мТекущаяНастройка.СохраненнаяНастройка.Вставить("ГруппировкаКолонок", Периодичность);//Насколько правильно
УниверсальныйОтчет.ФормаПриЗакрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
КонецПроцедуры
(1) Не понял, нужно чтобы была возможность сохранять эти настройки, или изменить текущие настройки у пользователей?
Если первое - то группировка колонок - это настройка построителя отчета, она и так будет сохраняться в типовом механизме. Количество лет - это что в запросе? Параметр или элемент отбора? Если элемент отбора, то, аналогично, сохранится и так.
Если второе - смотрите в сторону регистра сведений СохраненныеНастройки. Сами настройки представляют собой структуру (настройки построителя в нее входят также), завернутую в хранилище значения.
(6) Allexe8.1, и "Количество лет", и "Группировка колонок" - это два реквизита отчета, которые влияют на формирование отчёта. Текст запроса формируется в цикле с учетом этих значений, т.е. в отборе или группировке в привычном смысле они не участвуют.
Механизм "СохранитьЗначение()/ВосстановитьЗначение()" работает как надо, но надо сохранять значения не для текущего пользователя, а для всех в настройке отчета пользователя.
Строка, скажем эта
добавляет в структуру настроек нужные параметры, но в типовом механизме "Универсального отчета" не сохраняет. Вот и ищу способ сохранить без изменений самого "Универсального отчёта".
(7) Veetavas, а, ну тогда вроде все верно у Вас.
остается только это прописать в обработчике КоманднаяПанельФормыСохранитьНастройку() // у меня так называется
(9) Allexe8.1, в том-то и дело, что ПриЗакрытии() и КоманднаяПанельФормыСохранитьНастройку() ссылаются на УниверсальныйОтчет.СохранитьНастройки()
Процедура КоманднаяПанельФормыСохранитьНастройку(Кнопка)
ЭтотОбъект.УниверсальныйОтчет.мТекущаяНастройка.СохраненнаяНастройка.Вставить("КоличествоЛет", КоличествоЛет);//Добавил. Не помогает
ЭтотОбъект.УниверсальныйОтчет.мТекущаяНастройка.СохраненнаяНастройка.Вставить("ГруппировкаКолонок", Периодичность);//Добавил. Не помогает
УниверсальныйОтчет.СохранитьНастройки(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
КонецПроцедуры
,
а эту процедуру трогать не стоит. Где я что упускаю? Как в настройку отчета добавить свои параметры?
(10) Veetavas
upd: посмотрел функцию Универсального, прежний пост удалил.
Похоже так не получится. Там перед сохранением структура настройки заново создается.
Попробуйте вставить этот код в ф-ии (должны быть в модуле вашего отчета):
СформироватьСтруктуруДляСохраненияНастроек()
и для чтения:
ВосстановитьНастройкиИзСтруктуры()
Отчет похож на 1С 8,0 - 8,1 версии... в тех вообще было хранилище настроек? (именуемый как варианты отчета - как по мне, так его тут вообще нет)
хотя могу быть и не прав ... если что поправьте.
Посмотри как это реализовано в УТ ...
(4) Stepka1206, хранилище настроек есть. Конфа на базе УПП 1.2 написана.
УТ под рукой нет( Там разве сохраняются какие-то параметры, кроме настроек построителя?