официальный партнёр 1С по деловому софту
Закрыть
Логин:
Пароль:
Забыли свой пароль?
  Войти
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
 
8(495)229-30-42

Сохранение / восстановление произвольных настроек.

Бывают случаи, когда необходимо сохранить некоторые настройки, причем не прибегая к изменению конфигурации. [spoiler]
При работе в толстом клиенте есть удобный метод для сохранения значений:

СохранитьЗначение(ИмяСтрокой, ЗначениеПроизвольногоТипа) 


Для восстановления настроек можно воспользоваться методом:
ВосстановитьЗначение(ИмяСтрокой) 


Основной недостаток метода - работа только в толстом клиенте. Кроме того "ключ" может быть только строкового типа.

При работе в "Тонком" и "Web" - клиентах можно воспользоваться другим способом:
Для сохранения настроек:
&НаКлиенте
// Сохранение настроек учетной записи MIKO_AMI
Процедура Сохранить(Команда)
   СтруктураНастроек = Новый Структура;
   СтруктураНастроек.Вставить("Хост",          Объект.Хост);
   СтруктураНастроек.Вставить("Порт",          Объект.Порт);
   СтруктураНастроек.Вставить("МенеджерЛогин", Объект.МенеджерЛогин);
   СтруктураНастроек.Вставить("МенеджерПароль",Объект.МенеджерПароль);
   СтруктураНастроек.Вставить("НашКаналФильтр",Объект.НашКаналФильтр);
   СтруктураНастроек.Вставить("Контекст",       Объект.Контекст);
   СтруктураНастроек.Вставить("ОткрыватьКарточкуПриВходящемВызове", Объект.ОткрыватьКарточкуПриВходящемВызове);
   
   СохранитьНастройкиСервер(СтруктураНастроек);
   Элементы.Сообщение.Видимость = истина;
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СохранитьНастройкиСервер(СтруктураНастроек)
   ХранилищеОбщихНастроек.Сохранить("Настройки_МИКО_AMI","УчетнаяЗапись", СтруктураНастроек,,);   
КонецПроцедуры // СохранитьНастройкиСервер()


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

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


Этот обработчик можно вызвать к примеру при создании формы на сервере.