From ea78c8060208ada54c30763b192857c07ee145fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A1=D1=82=D0=B5=D0=BF?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Sun, 26 May 2024 19:49:26 +0300 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81:=20=D0=A0=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=20=D1=81=20=D0=B4=D0=B2=D1=83=D1=8F=D0=B7?= =?UTF-8?q?=D1=8B=D1=87=D0=BD=D1=8B=D0=BC=20=D0=BF=D1=80=D0=B5=D0=B4=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- ...20\260\320\275\320\275\321\213\320\274.os" | 159 +++++++++++++----- 2 files changed, 122 insertions(+), 39 deletions(-) diff --git a/packagedef b/packagedef index 11908b8..89a2750 100644 --- a/packagedef +++ b/packagedef @@ -1,5 +1,5 @@ Описание.Имя("v8metadata-reader") - .Версия("0.3.5") + .Версия("0.3.6") .ЗависитОт("logos") .ЗависитОт("xml-parser") .ЗависитОт("csv") diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\203\321\202\321\2141\320\241\320\237\320\276\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\274.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\203\321\202\321\2141\320\241\320\237\320\276\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\274.os" index 0d29525..8bf89b5 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\203\321\202\321\2141\320\241\320\237\320\276\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\274.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\203\321\202\321\2141\320\241\320\237\320\276\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\274.os" @@ -58,7 +58,7 @@ имяМетаданных = ВРег(компоненты[0]); каталог = _КэшСоответствий.Метаданные[имяМетаданных]; - Если Не ЗначениеЗаполнено(каталог) Тогда + Если НЕ ЗначениеЗаполнено(каталог) Тогда Возврат ""; @@ -73,17 +73,17 @@ Если НЕ ЗначениеЗаполнено(имяФайла) Тогда Если _ЭтоВыгрузкаКонфигуратора Тогда - + имяФайла = компоненты[1] + ".xml"; - + Иначе - + имяФайла = компоненты[1] + ".mdo"; - + КонецЕсли; КонецЕсли; - + компонентыПути.Добавить(имяФайла); путь = СтрСоединить(компонентыПути, ПолучитьРазделительПути()); @@ -124,7 +124,7 @@ _лог.Отладка("Это выгрузка конфигурации: " + _ЭтоВыгрузкаКонфигуратора); _лог.Отладка("Это выгрузка EDT: " + _ЭтоВыгрузкаЕДТ); - Если (Не _ЭтоВыгрузкаЕДТ И Не _ЭтоВыгрузкаКонфигуратора) + Если (НЕ _ЭтоВыгрузкаЕДТ И НЕ _ЭтоВыгрузкаКонфигуратора) ИЛИ (_ЭтоВыгрузкаЕДТ И _ЭтоВыгрузкаКонфигуратора) Тогда ВызватьИсключение "Не удалось определить тип выгрузки"; @@ -136,7 +136,7 @@ Функция ПутьПоПолномуМетаданному(пМетаданные, компонентыПути) компоненты = СтрРазделить(пМетаданные, "."); - + имяМетаданных = ВРег(компоненты[0]); типОбъекта = ВРег(компоненты[2]); @@ -149,47 +149,59 @@ компонентыПути.Добавить("Ext"); КонецЕсли; - + компонентыПути.Добавить(имяФайла); - ИначеЕсли имяМетаданных = "ВНЕШНИЙИСТОЧНИКДАННЫХ" Тогда - Если типОбъекта = "ТАБЛИЦА" Тогда + ИначеЕсли ЭтоВнешнийИсточникДанных(имяМетаданных) Тогда + + Если ЭтоТаблица(типОбъекта) Тогда компонентыПути.Добавить("Tables"); - компонентыПути.Добавить(компоненты[3]); + компонентыПути.Добавить(компоненты[3]); КонецЕсли; + + Если компоненты.Количество() = 5 + И ЭтоМодульОбъекта(компоненты[4]) Тогда - Если компоненты.Количество() = 5 И Врег(компоненты[4]) = "МОДУЛЬОБЪЕКТА" Тогда компонентыПути.Добавить("ObjectModule.bsl"); - ИначеЕсли компоненты.Количество() = 5 И Врег(компоненты[4]) = "МОДУЛЬМЕНЕДЖЕРА" Тогда + + ИначеЕсли компоненты.Количество() = 5 + И ЭтоМодульМенеджера(компоненты[4]) Тогда + компонентыПути.Добавить("ManagerModule.bsl"); - ИначеЕсли компоненты.Количество() > 5 И Врег(компоненты[4]) = "ФОРМА" Тогда + + ИначеЕсли компоненты.Количество() > 5 + И ЭтоФорма(компоненты[4]) Тогда + компонентыПути.Добавить("Forms"); Если компоненты.Количество() > 6 Тогда - компонентыПути.Добавить(компоненты[5]); + компонентыПути.Добавить(компоненты[5]); КонецЕсли; Если компоненты.Количество() = 7 - И ВРег(компоненты[6]) = "ФОРМА" Тогда + И ЭтоФорма(компоненты[6]) Тогда ДополнитьКомпоненты_Форма(компонентыПути); ИначеЕсли компоненты.Количество() > 7 - И ВРег(компоненты[6]) = "ФОРМА" - И ВРег(компоненты[7]) = "МОДУЛЬ" Тогда + И ЭтоФорма(компоненты[6]) + И ЭтоМодуль(компоненты[7]) Тогда ДополнитьКомпоненты_МодульФормы(компонентыПути); + Иначе - _лог.Предупреждение("Не поддерживаемый объект %1", пМетаданные); - КонецЕсли; - + + _лог.Предупреждение("1. Не поддерживаемый объект. Метаданные: %1, Имя файла: %2, Имя метаданных %3, Тип объекта %4", пМетаданные, имяФайла, имяМетаданных, типОбъекта); + + КонецЕсли; + КонецЕсли; - - ИначеЕсли имяМетаданных = "ОБЩАЯФОРМА" Тогда + + ИначеЕсли ЭтоОбщаяФорма(имяМетаданных) Тогда ДополнитьКомпоненты_МодульФормы(компонентыПути); - ИначеЕсли типОбъекта = "ФОРМА" Тогда + ИначеЕсли ЭтоФорма(типОбъекта) Тогда компонентыПути.Добавить("Forms"); @@ -200,23 +212,23 @@ КонецЕсли; Если компоненты.Количество() = 5 - И ВРег(компоненты[4]) = "ФОРМА" Тогда + И ЭтоФорма(компоненты[4]) Тогда ДополнитьКомпоненты_Форма(компонентыПути); ИначеЕсли компоненты.Количество() > 5 - И ВРег(компоненты[4]) = "ФОРМА" - И ВРег(компоненты[5]) = "МОДУЛЬ" Тогда + И ЭтоФорма(компоненты[4]) + И ЭтоМодуль(компоненты[5]) Тогда ДополнитьКомпоненты_МодульФормы(компонентыПути); Иначе - _лог.Предупреждение("Не поддерживаемый объект %1", пМетаданные); + _лог.Предупреждение("2. Не поддерживаемый объект. Метаданные: %1, Имя файла: %2, Имя метаданных %3, Тип объекта %4", пМетаданные, имяФайла, имяМетаданных, типОбъекта); КонецЕсли; - ИначеЕсли типОбъекта = "КОМАНДА" Тогда + ИначеЕсли ЭтоКоманда(типОбъекта) Тогда компонентыПути.Добавить("Commands"); @@ -228,7 +240,7 @@ Если компоненты.Количество() > 4 Тогда - Если ВРег(компоненты[4]) = "МОДУЛЬКОМАНДЫ" Тогда + Если ЭтоМодульКоманды(компоненты[4]) Тогда Если _ЭтоВыгрузкаКонфигуратора Тогда @@ -240,15 +252,15 @@ КонецЕсли; - КонецЕсли; + КонецЕсли; Иначе - _лог.Предупреждение("Не поддерживаемый объект %1", пМетаданные); + _лог.Предупреждение("3. Не поддерживаемый объект. Метаданные: %1, Имя файла: %2, Имя метаданных %3, Тип объекта %4", пМетаданные, имяФайла, имяМетаданных, типОбъекта); КонецЕсли; Возврат СтрСоединить(компонентыПути, ПолучитьРазделительПути()); - + КонецФункции Процедура ДополнитьКомпоненты_Форма(компонентыПути) @@ -339,7 +351,7 @@ Соответствие.Вставить("ОпределяемыйТип", "DefinedTypes"); Соответствие.Вставить("DefinedType", "DefinedTypes"); - Соответствие.Вставить("ЖурналДокумента", "DocumentJournals"); + Соответствие.Вставить("ЖурналДокументов", "DocumentJournals"); Соответствие.Вставить("DocumentJournal", "DocumentJournals"); Соответствие.Вставить("Нумератор", "DocumentNumerators"); @@ -421,9 +433,9 @@ Соответствие.Вставить("Конфигурация", "Configuration"); Соответствие.Вставить("Configuration", "Configuration"); - + Соответствие.Вставить("ВнешняяОбработка", "ExternalDataProcessors"); - Соответствие.Вставить("ExternalDataProcessor", "ExternalDataProcessors"); + Соответствие.Вставить("ExternalDataProcessor", "ExternalDataProcessors"); КонецЕсли; @@ -459,6 +471,77 @@ КонецФункции +Функция ЭтоВнешнийИсточникДанных(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "ВНЕШНИЙИСТОЧНИКДАННЫХ" ИЛИ имяВРег = "EXTERNALDATASOURCES"; + +КонецФункции + +Функция ЭтоТаблица(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "ТАБЛИЦА" ИЛИ имяВРег = "TABLE"; + +КонецФункции + +Функция ЭтоФорма(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "ФОРМА" ИЛИ имяВРег = "FORM"; + +КонецФункции + +Функция ЭтоОбщаяФорма(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "ОБЩАЯФОРМА" ИЛИ имяВРег = "COMMONFORM"; + +КонецФункции + +Функция ЭтоМодуль(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "МОДУЛЬ" ИЛИ имяВРег = "MODULE"; + +КонецФункции + +Функция ЭтоКоманда(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "КОМАНДА" ИЛИ имяВРег = "COMMAND"; + +КонецФункции + +Функция ЭтоМодульОбъекта(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "МОДУЛЬОБЪЕКТА" ИЛИ имяВРег = "OBJECTMODULE"; + +КонецФункции + +Функция ЭтоМодульМенеджера(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "МОДУЛЬМЕНЕДЖЕРА" ИЛИ имяВРег = "MANAGERMODULE"; + +КонецФункции +Функция ЭтоМодульКоманды(Знач ИмяМетаданных) + + имяВРег = ВРег(ИмяМетаданных); + + Возврат имяВРег = "МОДУЛЬКОМАНДЫ" ИЛИ имяВРег = "COMMANDMODULE"; + +КонецФункции + #КонецОбласти #Область СлужебныйПрограммныйИнтерфейс @@ -467,4 +550,4 @@ Возврат "oscript.app.cf_info"; КонецФункции -#КонецОбласти +#КонецОбласти \ No newline at end of file