-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from yukon39/develop
Новая версия 0.5.0
- Loading branch information
Showing
6 changed files
with
247 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
* text=auto | ||
|
||
*.os text | ||
*.bsl text | ||
*.xml text | ||
*.mdo text |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
|
||
#Область ОбработчикиДелегатов | ||
|
||
Функция НайтиМодульУправляемогоПриложения(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля) Экспорт | ||
|
||
ФайлОбъектаМетаданных = НайтиОбъектМетаданных(ПутьКИсходнымФайлам, ".", ИдентификаторПрограммногоМодуля); | ||
Если ФайлОбъектаМетаданных = Неопределено Тогда | ||
ОбработчикиФорматов.НеНайденМодульУправляемогоПриложения(ИдентификаторПрограммногоМодуля); | ||
Возврат Неопределено; | ||
КонецЕсли; | ||
|
||
Возврат ОбъединитьПути(ПутьКИсходнымФайлам, "Ext", "ManagedApplicationModule.bsl"); | ||
|
||
КонецФункции | ||
|
||
Функция НайтиОбщийМодуль(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля) Экспорт | ||
|
||
ФайлОбъектаМетаданных = НайтиОбъектМетаданных(ПутьКИсходнымФайлам, | ||
"CommonModules", ИдентификаторПрограммногоМодуля); | ||
|
||
Если ФайлОбъектаМетаданных = Неопределено Тогда | ||
ОбработчикиФорматов.НеНайденОбщийМодуль(ИдентификаторПрограммногоМодуля); | ||
Возврат Неопределено; | ||
КонецЕсли; | ||
|
||
КаталогОбъектаМетаданных = КаталогОбъектаМетаданных(ФайлОбъектаМетаданных); | ||
|
||
Возврат ОбъединитьПути(КаталогОбъектаМетаданных, "Ext", "Module.bsl"); | ||
|
||
КонецФункции | ||
|
||
Функция НайтиМодульМенеджера(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля) Экспорт | ||
|
||
КаталогиТиповОбъектовМетаданных = Новый Массив; | ||
КаталогиТиповОбъектовМетаданных.Добавить("DataProcessors"); | ||
КаталогиТиповОбъектовМетаданных.Добавить("InformationRegisters"); | ||
|
||
ФайлОбъектаМетаданных = НайтиОбъектМетаданныхВКаталогах(ПутьКИсходнымФайлам, | ||
КаталогиТиповОбъектовМетаданных, ИдентификаторПрограммногоМодуля); | ||
|
||
Если ФайлОбъектаМетаданных = Неопределено Тогда | ||
ОбработчикиФорматов.НеНайденМодульМенеджера(ИдентификаторПрограммногоМодуля); | ||
Возврат Неопределено; | ||
КонецЕсли; | ||
|
||
КаталогОбъектаМетаданных = КаталогОбъектаМетаданных(ФайлОбъектаМетаданных); | ||
|
||
Возврат ОбъединитьПути(КаталогОбъектаМетаданных, "Ext", "ManagerModule.bsl"); | ||
|
||
КонецФункции | ||
|
||
Функция НайтиМодульОбъекта(ПутьКИсходнымФайлам, ИдентификаторПрограммногоМодуля) Экспорт | ||
|
||
КаталогиТиповОбъектовМетаданных = Новый Массив; | ||
КаталогиТиповОбъектовМетаданных.Добавить("Catalogs"); | ||
КаталогиТиповОбъектовМетаданных.Добавить("Documents"); | ||
КаталогиТиповОбъектовМетаданных.Добавить("DataProcessors"); | ||
КаталогиТиповОбъектовМетаданных.Добавить("ExchangePlans"); | ||
|
||
ФайлОбъектаМетаданных = НайтиОбъектМетаданныхВКаталогах(ПутьКИсходнымФайлам, | ||
КаталогиТиповОбъектовМетаданных, ИдентификаторПрограммногоМодуля); | ||
|
||
Если ФайлОбъектаМетаданных = Неопределено Тогда | ||
ОбработчикиФорматов.НеНайденМодульОбъекта(ИдентификаторПрограммногоМодуля); | ||
Возврат Неопределено; | ||
КонецЕсли; | ||
|
||
КаталогОбъектаМетаданных = КаталогОбъектаМетаданных(ФайлОбъектаМетаданных); | ||
Возврат ОбъединитьПути(КаталогОбъектаМетаданных, "Ext", "ObjectModule.bsl"); | ||
|
||
КонецФункции | ||
|
||
#КонецОбласти | ||
|
||
#Область СлужебныеПроцедурыИФункции | ||
|
||
Функция ИдентификаторОбъектаМетаданных(ФайлОбъектаМетаданных) | ||
|
||
ЧтениеXML = Новый ЧтениеXML; | ||
ЧтениеXML.ОткрытьФайл(ФайлОбъектаМетаданных.ПолноеИмя); | ||
ЧтениеXML.ПерейтиКСодержимому(); | ||
ЧтениеXML.Прочитать(); | ||
ИдентификаторМетаданных = ЧтениеXML.ЗначениеАтрибута("uuid"); | ||
ЧтениеXML.Закрыть(); | ||
|
||
Возврат ИдентификаторМетаданных; | ||
|
||
КонецФункции | ||
|
||
Функция НайтиОбъектМетаданныхВКаталогах(ПутьКИсходнымФайлам, КаталогиТиповОбъектовМетаданных, ИдентификаторПрограммногоМодуля) | ||
|
||
Результат = Неопределено; | ||
|
||
Для Каждого КаталогТипаОбъектовМетаданных Из КаталогиТиповОбъектовМетаданных Цикл | ||
|
||
Результат = НайтиОбъектМетаданных(ПутьКИсходнымФайлам, | ||
КаталогТипаОбъектовМетаданных, ИдентификаторПрограммногоМодуля); | ||
|
||
Если ТипЗнч(Результат) = Тип("Файл") Тогда | ||
Прервать; | ||
КонецЕсли; | ||
|
||
КонецЦикла; | ||
|
||
Возврат Результат; | ||
|
||
КонецФункции | ||
|
||
Функция НайтиОбъектМетаданных(ПутьКИсходнымФайлам, ПодКаталогОбъектовМетаданных, ИдентификаторПрограммногоМодуля) | ||
|
||
Результат = Неопределено; | ||
|
||
КаталогПоиска = ОбъединитьПути(ПутьКИсходнымФайлам, ПодКаталогОбъектовМетаданных); | ||
ФайлыОбъектовМетаданных = НайтиФайлы(КаталогПоиска, "*.xml"); | ||
Для Каждого ФайлОбъектаМетаданных Из ФайлыОбъектовМетаданных Цикл | ||
|
||
ИдентификаторОбъектаМетаданных = ИдентификаторОбъектаМетаданных(ФайлОбъектаМетаданных); | ||
|
||
Если ИдентификаторОбъектаМетаданных = ИдентификаторПрограммногоМодуля Тогда | ||
Результат = ФайлОбъектаМетаданных; | ||
Прервать; | ||
КонецЕсли; | ||
|
||
КонецЦикла; | ||
|
||
Возврат Результат; | ||
|
||
КонецФункции | ||
|
||
Функция КаталогОбъектаМетаданных(ФайлОбъектаМетаданных) | ||
Возврат ОбъединитьПути(ФайлОбъектаМетаданных.Путь, ФайлОбъектаМетаданных.ИмяБезРасширения); | ||
КонецФункции | ||
|
||
#КонецОбласти |
Oops, something went wrong.