Имя: Пароль:
1C
 
Как программно сохранить вариант отчета?
0 Demetres
 
06.05.15
07:37
Доброе утро! Кто в курсе как программно сохранить вариант отчета? Есть отчет у него на управляемой форме расположен элемент с типом "Отчет.КомпоновщикНастроек.Настройки.Отбор" т.е. это не пользовательские настройки. При закрытии формы нужно чтобы отчет сохранял установленные отборы. Сейчас когда закрываешь форому платформа спрашивает "Вариант Х был изменен. Сохранить измененный вариант?", как сделать чтобы в событии "ПриЗакрытии" этот вариант сохранялся автоматически???
1 GenV
 
06.05.15
07:43
(0) Используй "ХранилищеВариантовОтчетов"
2 Demetres
 
06.05.15
07:57
(1) Спасибо, сейчас посмотрю
3 Demetres
 
06.05.15
08:23
(1) Получилось, чуть позже код выложу, может кому поможет.
4 ЧеловекДуши
 
06.05.15
08:28
(0) Странно, у меня в отчетах на СКД все само помнится.
5 ЧеловекДуши
 
06.05.15
08:29
(3) Будем признателен :)
6 Demetres
 
06.05.15
09:34
(4) Само запоминается только то что входит в пользовательские настройки, остальное нет.
7 Demetres
 
06.05.15
09:34
&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
    
    СохранитьТекущиеНастройкиВариантаОтчета();
    
    // Чтобы не спрашивал сохранение варианта    
    ВариантМодифицирован = Ложь;

КонецПроцедуры

&НаСервере
Процедура СохранитьТекущиеНастройкиВариантаОтчета()
    
    ИмяОтчетаВнешний         = "ВнешнийОтчет.ИмяОтчета";
    ИмяОтчетаВстроенный     = "Отчет.ИмяОтчета";
    ИмяОтчетаТек             = "";
    
    КлючТекущегоВарианта = ХранилищеСистемныхНастроек.Загрузить(ИмяОтчетаВстроенный + "/КлючТекущегоВарианта");
    ИмяОтчетаТек = ИмяОтчетаВстроенный;
    
    Если КлючТекущегоВарианта = Неопределено Тогда
        КлючТекущегоВарианта = ХранилищеСистемныхНастроек.Загрузить(ИмяОтчетаВнешний + "/КлючТекущегоВарианта");
        ИмяОтчетаТек = ИмяОтчетаВнешний;        
    КонецЕсли;    
    
    Если КлючТекущегоВарианта = Неопределено Тогда
        Возврат;
    КонецЕсли;    
    
    ОписаниеВарианта     = ХранилищеВариантовОтчетов.ПолучитьОписание(ИмяОтчетаТек, КлючТекущегоВарианта);
    ВариантОтчета         = Отчет.КомпоновщикНастроек.Настройки;
    
    ХранилищеВариантовОтчетов.Сохранить(ИмяОтчетаТек, КлючТекущегоВарианта, ВариантОтчета, ОписаниеВарианта);    
    
КонецПроцедуры
AdBlock убивает бесплатный контент. 1Сергей