Имя: Пароль:
1C
1С v8
СКД не сохранять пользовательские настройки
0 gusden
 
14.11.12
17:23
Добрые день. Хотелось бы посоветоваться с экспертом по СКД, в правильном ли направлении я иду.
Есть отчёт на СКД. Он может открываться как из основного меню так и из формы документа. При чём при открытии из формы документа должны заполниться пользовательские настройки отчёта. Проблема в том что после того как отчёт открылся из формы документа пользовательские настройки сохраняются и если потом открыть отчёт из основного меню заполняются в отчёт. Хотелось бы чтобы пользовательские настройки сохранялись только при открытии из основного меню. Можно ли это реализовать?
Сейчас пока вижу решение создать два варианта отчёта для этих случаев. Но не хочется поскольку они будут одинаковые.
1 gusden
 
14.11.12
17:32
(1)Может у формы можно установить некую галочку "не сохранять польские настройки"
Или отказаться отказаться от сохранения в процедуре
ПриСохраненииПользовательскихНастроекНаСервере
как вариант наверно можно создать копию пользовательских настроек в форме при открытии и потом эту же копию и сохранить.
2 gusden
 
14.11.12
18:08
(0)(1) Получилось. Создал реквизит формы "ПервичныеПользовательскиеНастройки" произвольного типа и в форме прописал:

&НаСервере
Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки)
   Если Параметры.Свойство("Документ") Тогда
       ПервичныеПользовательскиеНастройки    = Настройки;
       Расшифровка    = УФ_НастройкаОтчётовСервер.ВернутьРасшифровку("Накопления.ВзаиморасчётыПоЦФО",Параметры.Документ);
       Если Расшифровка=Неопределено Тогда
       Иначе
           УФ_НастройкаОтчётовСервер.ЗаполнитьПользовательскиеНастройки(Отчет.КомпоновщикНастроек,Расшифровка);
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ПриСохраненииПользовательскихНастроекНаСервере(Настройки)
   Если Параметры.Свойство("Документ") Тогда
       Для Каждого ЭлементНастроек Из Настройки.Элементы Цикл
           СтарыйЭлементНастроек    = ПервичныеПользовательскиеНастройки.Элементы.Найти(ЭлементНастроек.ИдентификаторПользовательскойНастройки);
           ЗаполнитьЗначенияСвойств(ЭлементНастроек,СтарыйЭлементНастроек);
       КонецЦикла;
   КонецЕсли;
КонецПроцедуры
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс