Имя: Пароль:
1C
 
Не получается сохранить ОписаниеТипов в ХранилищеСистемныхНастроек
0 mikecool
 
13.06.19
15:49
Вернее, действие по сохранению происходит, а вот при восстановлении - пусто
проверяю на одном реквизите с типом ОписаниеТипов
сохраняю:
    СтруктураНастроек = Новый Структура;
    
    пМетаданные = ЭтотОбъект.Метаданные();
    Для Каждого пРеквизит Из пМетаданные.Реквизиты Цикл
        СтруктураНастроек.Вставить(пРеквизит.Имя, ЭтотОбъект[пРеквизит.Имя]);
    КонецЦикла;
    Для Каждого пТабличнаяЧасть Из пМетаданные.ТабличныеЧасти Цикл
        СтруктураНастроек.Вставить(пТабличнаяЧасть.Имя, ЭтотОбъект[пТабличнаяЧасть.Имя].Выгрузить());
    КонецЦикла;
    
    ХранилищеСистемныхНастроек.Сохранить(ИмяКлючаОбъекта(), КлючНастроекОбщиеНастройки(), СтруктураНастроек);

восстанавливаю:
    СтруктураНастроек = ХранилищеСистемныхНастроек.Загрузить(ИмяКлючаОбъекта(), КлючНастроекОбщиеНастройки());
    Если СтруктураНастроек = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    пМетаданные = ЭтотОбъект.Метаданные();
    Для Каждого КлючИЗначение Из СтруктураНастроек Цикл
        
        Если Не пМетаданные.Реквизиты.Найти(КлючИЗначение.Ключ) = Неопределено Тогда
            ЭтотОбъект[КлючИЗначение.Ключ] = КлючИЗначение.Значение; //вот здесь пусто
            Продолжить;
        КонецЕсли;
        
        Если Не пМетаданные.ТабличныеЧасти.Найти(КлючИЗначение.Ключ) = Неопределено Тогда
            ЭтотОбъект[КлючИЗначение.Ключ].Загрузить(КлючИЗначение.Значение);
            Продолжить;
        КонецЕсли;
            
    КонецЦикла;


Вроде по справке - сериализуется, а куда может потеряться? может что делаю не так?
зы: пользователя не указываю при сохранении в хранилище, все происходит под текущим пользователем
1 mikecool
 
13.06.19
16:00
вообще хотел сделать хранение настроек для внешней обработки без изменения конфигурации для всех пользователей, почитал интернеты - лучше такого способа не нашел
думаю еще сделать копирование этих настроек в файл, чтобы другой пользователь смог загрузить из файла
2 mikecool
 
13.06.19
16:38
да, видимо проблема с сохранением описания типов
заменил на строку - имя метаданного - все нормально
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой