Использование общего хранилища для настроек внешних обработок

Я делаю внешнюю обработку для Fresh, так вот возник вопрос, где хранить настройки внешней обработки? Пытаться уместить в какой-нибудь прикладной объект базы? Сомнительно и не универсально.

Тогда я подумал, что можно использовать хранилище настроек и коллеги с Мисты подтвердили такую возможность.

И вот в итоге получился такой код:

&НаКлиенте
Процедура ОткрытьПолныйПланОбмена(Команда)
   
ОткрытьФорму(«ПланОбмена.Полный.ФормаСписка»);
КонецПроцедуры

&НаКлиенте
Процедура SSH_IPАдресПриИзменении(Элемент)
   
СохранитьНастройкуФормы(«SSH_IPАдрес»);
КонецПроцедуры

&НаКлиенте
Процедура SSH_ЛогинПриИзменении(Элемент)
   
СохранитьНастройкуФормы(«SSH_Логин»);
КонецПроцедуры

&НаКлиенте
Процедура SSH_ПарольПриИзменении(Элемент)
   
СохранитьНастройкуФормы(«SSH_Пароль»);
КонецПроцедуры

&НаКлиенте
Процедура SSH_ПортПриИзменении(Элемент)
   
СохранитьНастройкуФормы(«SSH_Порт»);
КонецПроцедуры

&НаКлиенте
Процедура SSH_ПутьДоКорневойДиректорииПриИзменении(Элемент)
   
СохранитьНастройкуФормы(«SSH_ПутьДоКорневойДиректории»);
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
ВосстановитьНастройкуФормы(«SSH_IPАдрес»);
   
ВосстановитьНастройкуФормы(«SSH_Логин»);
   
ВосстановитьНастройкуФормы(«SSH_Пароль»);
   
ВосстановитьНастройкуФормы(«SSH_Порт»);
   
ВосстановитьНастройкуФормы(«SSH_ПутьДоКорневойДиректории»);
КонецПроцедуры

&НаСервере
Функция СохранитьНастройкуФормы(ИмяНастройки) Экспорт
   
ХранилищеОбщихНастроек.Сохранить(«SSH_Обмен_Битрикс_1С», ИмяНастройки, Вычислить(ИмяНастройки));
КонецФункции


Функция
ВосстановитьНастройкуФормы(ИмяНастройки);
   
Зн = ХранилищеОбщихНастроек.Загрузить(«SSH_Обмен_Битрикс_1С», ИмяНастройки);
    Выполнить(
ИмяНастройки + » = Зн»);
КонецФункции

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 6

  1. Ты за столько лет не знал об этом?

    • Что-то такое помнил, раз на мисте знал, о чем спрашивать.
      Деталей, конечно, не знал, потому что никогда не использовал.

  2. bob:

    Тяжко жить без нормальной сериализации обьектов, ORM и рефлекшена. Одна копипаста кода. Есть ли в 1С общее решение чтоб не дублировать код для каждого поля а передать контейнер сразу ?

  3. Федя:

    Выполнить(…)
    Что за глупость ты пишешь..

    • В новой версии переписал уже на ЭтаФорма[ИмяРеквизита], просто вылетело из головы как это делается правильно. 😉

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *