From 847f4e1459d8818f90ae92f1befc655c40542810 Mon Sep 17 00:00:00 2001 From: Dmitriy Medvedev Date: Fri, 1 Nov 2019 09:55:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Классы/КомандаКонфигуратион.os | 16 +++++++++------ src/Классы/КомандаПрекоммит.os | 2 +- src/Классы/НастройкиРепозитория.os | 33 +++++++++++++++++++++++++----- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/src/Классы/КомандаКонфигуратион.os b/src/Классы/КомандаКонфигуратион.os index 277d818..1bfaafd 100644 --- a/src/Классы/КомандаКонфигуратион.os +++ b/src/Классы/КомандаКонфигуратион.os @@ -132,7 +132,7 @@ Для Каждого Настройка из ВсеНастройки Цикл - НастройкиПрекоммита = УправлениеНастройками.НастройкиПриложения(Настройка); + НастройкиПрекоммита = УправлениеНастройками.НастройкиПриложения("Precommit4onecСценарии"); Если НЕ ЗначениеЗаполнено(НастройкиПрекоммита) Тогда @@ -208,21 +208,25 @@ Возврат; КонецЕсли; - + Сообщить("ТокДопы" + ТолькоДополнительные); Если ЗначениеЗаполнено(ПутьКаталога) Тогда ПутьКаталога = ФайловыеОперации.ПолучитьНормализованныйОтносительныйПуть(КаталогРепозитория, ПутьКаталога); - УправлениеНастройками.УдалитьНастройкиПриложения(ПутьКаталога); + Если ПутьКаталога = УправлениеНастройками.ИмяБазовойНастройки() Тогда + ВызватьИсключение "Нельзя удалять базовую настройку отдельно сбросьте все локальные настройки приложения"; + КонецЕсли; + УправлениеНастройками.УдалитьНастройку("Precommit4onecСценарии" , ПутьКаталога); - Иначе + ИначеЕсли ТолькоДополнительные Тогда ВсеНастройки = УправлениеНастройками.ПолучитьПроектыКонфигурации(ТолькоДополнительные); Для Каждого Настройка Из ВсеНастройки Цикл - УправлениеНастройками.УдалитьНастройкиПриложения(Настройка); + УправлениеНастройками.УдалитьНастройку("Precommit4onecСценарии" , Настройка); КонецЦикла; - + Иначе + УправлениеНастройками.УдалитьНастройкиПриложения("Precommit4onecСценарии"); КонецЕсли; КонецПроцедуры diff --git a/src/Классы/КомандаПрекоммит.os b/src/Классы/КомандаПрекоммит.os index f3d39b8..3aae57a 100644 --- a/src/Классы/КомандаПрекоммит.os +++ b/src/Классы/КомандаПрекоммит.os @@ -85,7 +85,7 @@ НастройкиПроектов = УправлениеНастройками.ПолучитьПроектыКонфигурации(); НаборНастроек = Новый Соответствие; - Для Каждого ЭлементНастройки з НастройкиПроектов Цикл + Для Каждого ЭлементНастройки Из НастройкиПроектов Цикл Настройка = Новый Структура("СценарииОбработки, НастройкиСценариев"); Настройка.СценарииОбработки = ЗагрузитьСценарииОбработки(Приложение.КаталогСценариев(), УправлениеНастройками, diff --git a/src/Классы/НастройкиРепозитория.os b/src/Классы/НастройкиРепозитория.os index db7db00..bb280eb 100644 --- a/src/Классы/НастройкиРепозитория.os +++ b/src/Классы/НастройкиРепозитория.os @@ -49,7 +49,7 @@ ВызватьИсключение "Не указано имя приложения"; КонецЕсли; - + Сообщить(ИмяПриложения); ИскомыеНастройки = Конфигурация.Получить(ИмяПриложения); Если ИскомыеНастройки = Неопределено Тогда @@ -84,10 +84,10 @@ Функция ПолучитьПроектыКонфигурации(ТолькоДополнительные = Ложь) Экспорт Массив = Новый Массив; - - Для Каждого Элемент из Конфигурация Цикл + Сообщить(НастройкиПриложения(ИмяПоУмолчанию())); + Для Каждого Элемент Из Конфигурация.Получить(ИмяПоУмолчанию()) Цикл - Если ТолькоДополнительные И Элемент.Ключ = ИмяПоУмолчанию() Тогда + Если ТолькоДополнительные И Элемент.Ключ = ИмяБазовойНастройки() Тогда Продолжить; КонецЕсли; @@ -163,7 +163,7 @@ Процедура УдалитьНастройкиПриложения(ИмяПриложения) Экспорт ПроверкаИнициализации(); - + Сообщить(ИмяПриложения); Если ПустаяСтрока(ИмяПриложения) Тогда ВызватьИсключение "Не указано имя приложения"; @@ -176,6 +176,22 @@ КонецПроцедуры // УдалитьНастройкиПриложения() +Процедура УдалитьНастройку(ИмяПриложения, ИмяНастройки) Экспорт + + ПроверкаИнициализации(); + Сообщить(ИмяПриложения); + Если ПустаяСтрока(ИмяПриложения) Тогда + + ВызватьИсключение "Не указано имя приложения"; + + КонецЕсли; + тмп = Конфигурация.Получить(ИмяПриложения); + Тмп.Удалить(ИмяНастройки); + Конфигурация.Вставить(ИмяПриложения,Тмп); + ОбновитьКонфигурационныйФайл(); + +КонецПроцедуры // УдалитьНастройкиПриложения() + /////////////////////////////////////////////////////////////////// // Служебный функционал /////////////////////////////////////////////////////////////////// @@ -227,6 +243,13 @@ Возврат "Precommit4onecСценарии"; КонецФункции + +Функция ИмяБазовойНастройки() Экспорт + + Возврат "General"; + +КонецФункции + /////////////////////////////////////////////////////////////////// // ПриСозданииОбъекта