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