Skip to content

Commit 23bded4

Browse files
committed
Исправление бага неверных настроек при чтении из старого файла настроек
Была ошибка выполнения, когда в старом файле настроек не было новой настройки. #58
1 parent 49b8916 commit 23bded4

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

src/Модули/НастройкиПриложения.os

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@
4242

4343
// TODO сделать конвертацию терминов json в русские свойства настроек
4444

45-
мНастройки = Настройки;
46-
45+
мНастройки = ЗаполнитьНесуществующиеНастройкиПоУмолчанию(Настройки);
4746
КонецПроцедуры
4847

4948
Функция ПрочитатьФайл(Знач Путь)
@@ -65,12 +64,29 @@
6564
КонецПроцедуры
6665

6766
Процедура УстановитьНастройкиПоУмолчанию()
68-
мНастройки = Новый Структура;
69-
НастройкиПроксиПоУмолчанию = НастройкиПроксиПроксиПоУмолчанию();
70-
мНастройки.Вставить("Прокси", НастройкиПроксиПоУмолчанию);
71-
мНастройки.Вставить("СоздаватьShСкриптЗапуска", Ложь)
67+
мНастройки = НастройкиПоУмолчанию();
7268
КонецПроцедуры
7369

70+
Функция ЗаполнитьНесуществующиеНастройкиПоУмолчанию(Настройки)
71+
НовыеНастройки = НастройкиПоУмолчанию();
72+
Для каждого Настройка Из Настройки Цикл
73+
Значение = Настройка.Значение;
74+
Если ТипЗнч(Значение) = Тип("Структура") Тогда
75+
Значение = ЗаполнитьНесуществующиеНастройкиПоУмолчанию(Значение);
76+
КонецЕсли;
77+
НовыеНастройки.Вставить(Настройка.Ключ, Значение);
78+
КонецЦикла;
79+
Возврат НовыеНастройки;
80+
КонецФункции
81+
82+
Функция НастройкиПоУмолчанию()
83+
Рез = Новый Структура;
84+
НастройкиПроксиПоУмолчанию = НастройкиПроксиПроксиПоУмолчанию();
85+
Рез.Вставить("Прокси", НастройкиПроксиПоУмолчанию);
86+
Рез.Вставить("СоздаватьShСкриптЗапуска", Ложь);
87+
Возврат Рез;
88+
КонецФункции
89+
7490
Функция НастройкиПроксиПроксиПоУмолчанию()
7591

7692
СтруктураПрокси = Новый Структура();

0 commit comments

Comments
 (0)