Вход | Регистрация

1С:Предприятие ::

Метки: 

Сохранение настроек отбора (КомпоновщикНастроекКомпоновкиДанных) в обработке

Я
   Sanchez777
 
08.08.18 - 10:50
Добрый день! Помогите пожалуйста решить данную проблему: в обработке есть возможность настройки отбора, нужно чтобы при закрытии формы настройки сохранялись, соответственно при открытии повторно считывались. Вот как реализовано:

Объект.ОтборПересчета - это реквизит обработки с произвольным типом данных, в него я потом записываю значения отбора с типом
КомпоновщикНастроекКомпоновкиДанных

&НаСервере
Процедура СохранитьНастройки()  

 Объект.ОтборПересчета = ОтборПересчетаНаФорме;
        
 КлючОбъекта = "ОтборПересчета";
 КлючНастроек = "ОтборПересчета";
 ОписаниеНастроек = "ОтборПересчета";
 ИмяПользователя = "";
        
 Настройки = Новый Структура("ЭтоНастройки", Объект.ОтборПересчета);     
    
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя);
    
КонецПроцедуры

Возникает след. ошибка: Ошибка при вызове метода контекста (Сохранить)
    ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя);
по причине:
Ошибка формата объекта настроек

Я понимаю, что например, если сохранить например реквизит "ДатаНачала" то будет работать. Но как сохранить именно данные Компановщика?
 
 
   Tonik992
 
1 - 08.08.18 - 10:54
Четвертый параметр ОписаниеНастроек - надо использовать не строку, и тип ОписаниеНастроек
   Sanchez777
 
2 - 08.08.18 - 11:21
Не помогло, ошибка осталась. Пробовал даже убрать параметр (т.к. он не обязательный)
   Cyberhawk
 
3 - 08.08.18 - 11:22
Много букв. В трех словах давай.
   Sanchez777
 
4 - 08.08.18 - 11:25
В трех словах: Как сохранить настройки отбора (КомпоновщикНастроекКомпоновкиДанных)?
   youalex
 
5 - 08.08.18 - 11:41
попробуй Объект.ОтборПересчета.ПолучитьНастройки()
   DrWatson
 
6 - 08.08.18 - 11:50
Есть реквизит ЭтотОбъект.КомпоновщикНастроек типа КомпоновщикНастроекКомпоновкиДанных. На форму выводится КомпоновщикНастроек.Настройки.Отбор.
Сохраняются настройки этого компоновщика Новый ХранилищеЗначения(ФормаОбъект.КомпоновщикНастроек.Настройки).
Но это же только часть вопроса. Нужно ещё инициализировать эти настройки через СхемаКомпоновкиДанных и загружать сохраненные настройки.
   Cyberhawk
 
7 - 08.08.18 - 12:21
ИР в помощь
   Tonik992
 
8 - 08.08.18 - 12:34
"В качестве настроек системное хранилище принимает любое значение, которое может быть помещено в хранилище значений."

а тип КомпоновщикНастроекКомпоновкиДанных не сериализуется.

Поэтому, надо в (5) делать.
   Sanchez777
 
9 - 08.08.18 - 16:20
Всем спасибо! Решил проблему таким образом путем :

Настройки = ОтборПересчета.ПолучитьНастройки();    
    Объект.ЗначНастройки = ЗначениеВСтрокуВнутр(Настройки);
    
    КлючОбъекта = "ОтборПересчета";
    КлючНастроек = "ОтборПересчета";
    ИмяПользователя = "";
        
    Настройки = Новый Структура("ЭтоНастройки, ДатаНач, ДатаКон", Объект.ЗначНастройки, Объект.ДатаНач, Объект.ДатаКон);         
    ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, , ИмяПользователя);


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует