diff --git a/packagedef b/packagedef index 8d6666f..c5dc811 100644 --- a/packagedef +++ b/packagedef @@ -3,7 +3,7 @@ ИмяПродукта = НРег(ПараметрыСистемы_ЛокальнаяВерсия.ИмяПродукта()); Описание.Имя("gitrules") - .Версия("0.1.0") + .Версия("0.1.2") .Автор("otymko") .АдресАвтора("olegtymko@yandex.ru") .Описание("Версионирование правил обмена 1С с помощью git") diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\267\320\276\320\261\321\200\320\260\321\202\321\214\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\261\320\274\320\265\320\275\320\260.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\267\320\276\320\261\321\200\320\260\321\202\321\214\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\261\320\274\320\265\320\275\320\260.os" index 2b08410..c6ea85b 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\267\320\276\320\261\321\200\320\260\321\202\321\214\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\261\320\274\320\265\320\275\320\260.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\267\320\276\320\261\321\200\320\260\321\202\321\214\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\261\320\274\320\265\320\275\320\260.os" @@ -10,6 +10,8 @@ Перем ИменаИсключений; Перем ТекущийПорядок; +Перем ЭтоПравилаРегистрации; + //Служебные переменные Перем НаименованиеКаталогаСобытий; @@ -80,17 +82,20 @@ МассивОбработчиков.Добавить("ПослеВыгрузки"); МассивОбработчиков.Добавить("ПослеВыгрузкиОбъектаВФайл"); МассивОбработчиков.Добавить("ПослеЗагрузки"); - + МассивОбработчиков.Добавить("ПослеВыгрузкиВФайл"); + МассивОбработчиков.Добавить("ПередЗагрузкой"); + МассивОбработчиков.Добавить("ПриЗагрузке"); + МассивОбработчиков.Добавить("ПередЗагрузкойОбъекта"); МассивОбработчиков.Добавить("ПриЗагрузкеОбъекта"); МассивОбработчиков.Добавить("ПослеЗагрузкиОбъекта"); МассивОбработчиков.Добавить("ПоследовательностьПолейПоиска"); //ПравилаРегистрацииОбъектов - МассивОбработчиков.Добавить("ПередОбработкойПравила"); - МассивОбработчиков.Добавить("ПриОбработкеПравила"); - МассивОбработчиков.Добавить("ПриОбработкеДополнительныйПравила"); - МассивОбработчиков.Добавить("ПослеОбработкиПравила"); + МассивОбработчиков.Добавить("ПередОбработкой"); + МассивОбработчиков.Добавить("ПриОбработке"); + МассивОбработчиков.Добавить("ПриОбработкеДополнительный"); + МассивОбработчиков.Добавить("ПослеОбработки"); //ПравилаОчисткиОбъектов МассивОбработчиков.Добавить("ПередОбработкойПравила"); @@ -156,6 +161,8 @@ УдалитьФайлы(КаталогИсходныхПравил); Возврат; КонецЕсли; + + //ЭтоПравилаРегистрации = ИмяКорневогоУзла = "ПравилаРегистрации"; КорневойУзел.Каталог = КаталогИсходныхПравил; @@ -194,13 +201,17 @@ Или ИмяЭлементаСтроки = "ПравилаВыгрузкиДанных" Или ИмяЭлементаСтроки = "ПравилаОчисткиДанных" Или ИмяЭлементаСтроки = "Алгоритмы" - Или ИмяЭлементаСтроки = "Запросы" Тогда + Или ИмяЭлементаСтроки = "Запросы" + Или ИмяЭлементаСтроки = "СоставПланаОбмена" + Или ИмяЭлементаСтроки = "ПравилаРегистрацииОбъектов" + Или ИмяЭлементаСтроки = "ОтборПоСвойствамПланаОбмена" + Или ИмяЭлементаСтроки = "ОтборПоСвойствамОбъекта" + Или ИмяЭлементаСтроки = "ТаблицаСвойствОбъекта" + Или ИмяЭлементаСтроки = "ТаблицаСвойствПланаОбмена" Тогда ИмяКаталогаСтроки = ОбъединитьПути(ТекущийКаталог, ИмяЭлементаСтроки); - СоздатьКаталог(ИмяКаталогаСтроки); - - ТекущаяСтрока.Каталог = ИмяКаталогаСтроки; - + СоздатьКаталог(ИмяКаталогаСтроки); + ТекущаяСтрока.Каталог = ИмяКаталогаСтроки; РекурсивноРазобратьДеревоПравил(ТекущаяСтрока, ИмяЭлементаСтроки, ИмяКаталогаСтроки); ИначеЕсли ИменаСобытийКонвертации.Найти(ИмяЭлементаСтроки) <> Неопределено Тогда @@ -232,7 +243,9 @@ Или ИмяЭлементаСтроки = "Алгоритм" Или ИмяЭлементаСтроки = "Значение" Или ИмяЭлементаСтроки = "Свойство" - Или ИмяЭлементаСтроки = "Параметр" Или ИмяЭлементаСтроки = "Обработка" Тогда + Или ИмяЭлементаСтроки = "Параметр" + Или ИмяЭлементаСтроки = "Обработка" + Или ИмяЭлементаСтроки = "ЭлементОтбора" Или ИмяЭлементаСтроки = "Элемент" Тогда МассивРеквизитовТекущегоУзла = Новый Массив; @@ -253,7 +266,6 @@ ЗаписатьСобытиеПравилВФайл(ТекущаяСтрока, "ДвоичныеДанные", ТекущаяСтрока.Каталог, Неопределено); КонецЕсли; КонецЕсли; - Иначе Если МассивРеквизитовУзла = Неопределено Тогда @@ -371,6 +383,7 @@ Функция ПрочитатьXMLВДеревоЗначений(Путь) + ЭтоПравилаРегистрации = Ложь; Дерево = ПолучитьСтруктуруДерева(); ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(Путь); @@ -392,6 +405,10 @@ Пока ЧтениеXML.Прочитать() Цикл Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда + Если Не ЭтоПравилаРегистрации И ЧтениеXML.Имя = "ПравилаРегистрации" Тогда + ЭтоПравилаРегистрации = Истина; + КонецЕсли; + НоваяСтрока = ТекущаяСтрокаДерева.Добавить(); НоваяСтрока.Имя = ЧтениеXML.Имя; НоваяСтрока.ТипСтроки = "Элемент"; @@ -415,10 +432,14 @@ ТекущаяСтрокаДерева.Родитель.Значение = СокрЛП(ЧтениеXML.Значение); - Если ТекущаяСтрокаДерева.Родитель.Имя = "Код" Или ТекущаяСтрокаДерева.Родитель.Имя = "Номер" Или ТекущаяСтрокаДерева.Родитель.Имя = "Имя" Тогда + Если (ТекущаяСтрокаДерева.Родитель.Имя = "Код" Или ТекущаяСтрокаДерева.Родитель.Имя = "Номер" Или ТекущаяСтрокаДерева.Родитель.Имя = "Имя") И Не ЭтоПравилаРегистрации Тогда + ТекущаяСтрокаДерева.Родитель.Родитель.Идентификатор = СокрЛП(ЧтениеXML.Значение); + ИначеЕсли ЭтоПравилаРегистрации И (ТекущаяСтрокаДерева.Родитель.Имя = "Номер" Или ТекущаяСтрокаДерева.Родитель.Имя = "Имя" Или ТекущаяСтрокаДерева.Родитель.Имя = "Наименование") Тогда + ТекущаяСтрокаДерева.Родитель.Родитель.Идентификатор = СокрЛП(ЧтениеXML.Значение); + ИначеЕсли ЭтоПравилаРегистрации И ТекущаяСтрокаДерева.Родитель.Имя = "Тип" И ТекущаяСтрокаДерева.Родитель.Родитель.Имя = "Элемент" Тогда ТекущаяСтрокаДерева.Родитель.Родитель.Идентификатор = СокрЛП(ЧтениеXML.Значение); ИначеЕсли ТекущаяСтрокаДерева.Родитель.Имя = "Порядок" Тогда - ТекущаяСтрокаДерева.Родитель.Родитель.Порядок = Число(СокрЛП(ЧтениеXML.Значение)); + ТекущаяСтрокаДерева.Родитель.Родитель.Порядок = Число(СокрЛП(ЧтениеXML.Значение)); КонецЕсли; ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда