8.х Сохранение и восстановление настроек отчетов

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Yury, 6 мар 2013.

  1. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Здравствуйте,

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

    В модуле менеджера НастройкиОтчетов перекрываю
    Код:
    ОбработкаСохранения(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, Пользователь)
    . Пытаюсь сформировать ОписаниеНастроек с помощью перекрытия метода
    Код:
    ОбработкаУстановкиОписания(КлючОбъекта, КлючНастроек, ОписаниеНастроек, Пользователь)
    . Вроде все логично.
    НО! ОписаниеНастроек имеет один из реквизитов типа структура который назвывается ДополнительныеСвойства. Для меня очень важно установить и передать для сохранения эти дополнительные свойства, но реквизит-то только для чтения.

    Каким же образом сохранять настройки??? Приведу фрагмент кода, который отражает, то что я описал. Приложение обычное (не управляемое).

    Код:
    Процедура ОбработкаСохранения(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, Пользователь)
    
    // сконструлим описание
    УстановитьОписание(КлючОбъекта, КлючНастроек, ОписаниеНастроек, Пользователь);
    //
    КонецПроцедуры
    
    Процедура ОбработкаУстановкиОписания(КлючОбъекта, КлючНастроек, ОписаниеНастроек, Пользователь)
    //
    Если КлючНастроек = Неопределено Тогда
    ФормаСохраненияНастроек = ХранилищаНастроек.НастройкиОтчетов.ПолучитьФормуСохранения();
    ФормаСохраненияНастроек.ТипНастроек = ВернутьТипНастройки (КлючОбъекта);
    ФормаСохраненияНастроек.Пользователь = Пользователь;
    ФормаСохраненияНастроек.ПравоИзменения = Истина;
    Если ФормаСохраненияНастроек.ОткрытьМодально() = КодВозвратаДиалога.ОК Тогда
    Если ОписаниеНастроек = Неопределено Тогда
    ОписаниеНастроек = Новый ОписаниеНастроек;
    КонецЕсли;
    //					  
    ОписаниеНастроек.КлючОбъекта = Строка(КлючОбъекта);
    ОписаниеНастроек.КлючНастроек = ФормаСохраненияНастроек.КлючНастроек;
    ОписаниеНастроек.Пользователь = ФормаСохраненияНастроек.Пользователь;
    ОписаниеНастроек.Представление = ФормаСохраненияНастроек.КлючНастроек;
    //
    ДопСвойства = Новый Структура;
    ДопСвойства.Вставить("ТипНастройки", ФормаСохраненияНастроек.ТипНастроек);
    ДопСвойства.Вставить("СохранятьАвтоматически", ФормаСохраненияНастроек.СохранятьАвтоматически);
    ДопСвойства.Вставить("ИспользоватьПриОткрытии", ФормаСохраненияНастроек.ИспользоватьПриОткрытии);
    ДопСвойства.Вставить("СохранятьПериод", ФормаСохраненияНастроек.СохранятьПериод);
    ДопСвойства.Вставить("ОткрыватьПриЗапуске", ФормаСохраненияНастроек.ОткрыватьПриЗапуске);
    ДопСвойства.Вставить("ПравоИзменения", ФормаСохраненияНастроек.ПравоИзменения);
    // вот здесь бы хотелось сохранить доп свойства, примерно так, но облом
    ОписаниеНастроек.ДополнительныеСвойства = ДопСвойства;
    //
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры
    
    Как это делается????
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Чем не устраивают настройки которые уже реализованы и хранят варианты в регистрах
  3. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Во-первых, я их что-то не вижу. Может потому-то приложение обычное?
    Посмотреть вложение 14014
    Во-вторых, сохраненные мною варианты будут доступны другим пользователям?

    Вложения:

Поделиться этой страницей