Skip to content

Commit ea78c80

Browse files
committed
фикс: Работа с двуязычным представлением метаданных
1 parent 61b53bd commit ea78c80

File tree

2 files changed

+122
-39
lines changed

2 files changed

+122
-39
lines changed

packagedef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Описание.Имя("v8metadata-reader")
2-
.Версия("0.3.5")
2+
.Версия("0.3.6")
33
.ЗависитОт("logos")
44
.ЗависитОт("xml-parser")
55
.ЗависитОт("csv")

src/Классы/Путь1СПоМетаданным.os

Lines changed: 121 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
имяМетаданных = ВРег(компоненты[0]);
5959
каталог = _КэшСоответствий.Метаданные[имяМетаданных];
6060

61-
Если Не ЗначениеЗаполнено(каталог) Тогда
61+
Если НЕ ЗначениеЗаполнено(каталог) Тогда
6262

6363
Возврат "";
6464

@@ -73,17 +73,17 @@
7373
Если НЕ ЗначениеЗаполнено(имяФайла) Тогда
7474

7575
Если _ЭтоВыгрузкаКонфигуратора Тогда
76-
76+
7777
имяФайла = компоненты[1] + ".xml";
78-
78+
7979
Иначе
80-
80+
8181
имяФайла = компоненты[1] + ".mdo";
82-
82+
8383
КонецЕсли;
8484

8585
КонецЕсли;
86-
86+
8787
компонентыПути.Добавить(имяФайла);
8888

8989
путь = СтрСоединить(компонентыПути, ПолучитьРазделительПути());
@@ -124,7 +124,7 @@
124124
_лог.Отладка("Это выгрузка конфигурации: " + _ЭтоВыгрузкаКонфигуратора);
125125
_лог.Отладка("Это выгрузка EDT: " + _ЭтоВыгрузкаЕДТ);
126126

127-
Если (Не _ЭтоВыгрузкаЕДТ И Не _ЭтоВыгрузкаКонфигуратора)
127+
Если (НЕ _ЭтоВыгрузкаЕДТ И НЕ _ЭтоВыгрузкаКонфигуратора)
128128
ИЛИ (_ЭтоВыгрузкаЕДТ И _ЭтоВыгрузкаКонфигуратора) Тогда
129129

130130
ВызватьИсключение "Не удалось определить тип выгрузки";
@@ -136,7 +136,7 @@
136136
Функция ПутьПоПолномуМетаданному(пМетаданные, компонентыПути)
137137

138138
компоненты = СтрРазделить(пМетаданные, ".");
139-
139+
140140
имяМетаданных = ВРег(компоненты[0]);
141141
типОбъекта = ВРег(компоненты[2]);
142142

@@ -149,47 +149,59 @@
149149
компонентыПути.Добавить("Ext");
150150

151151
КонецЕсли;
152-
152+
153153
компонентыПути.Добавить(имяФайла);
154-
ИначеЕсли имяМетаданных = "ВНЕШНИЙИСТОЧНИКДАННЫХ" Тогда
155154

156-
Если типОбъекта = "ТАБЛИЦА" Тогда
155+
ИначеЕсли ЭтоВнешнийИсточникДанных(имяМетаданных) Тогда
156+
157+
Если ЭтоТаблица(типОбъекта) Тогда
157158
компонентыПути.Добавить("Tables");
158-
компонентыПути.Добавить(компоненты[3]);
159+
компонентыПути.Добавить(компоненты[3]);
159160
КонецЕсли;
161+
162+
Если компоненты.Количество() = 5
163+
И ЭтоМодульОбъекта(компоненты[4]) Тогда
160164

161-
Если компоненты.Количество() = 5 И Врег(компоненты[4]) = "МОДУЛЬОБЪЕКТА" Тогда
162165
компонентыПути.Добавить("ObjectModule.bsl");
163-
ИначеЕсли компоненты.Количество() = 5 И Врег(компоненты[4]) = "МОДУЛЬМЕНЕДЖЕРА" Тогда
166+
167+
ИначеЕсли компоненты.Количество() = 5
168+
И ЭтоМодульМенеджера(компоненты[4]) Тогда
169+
164170
компонентыПути.Добавить("ManagerModule.bsl");
165-
ИначеЕсли компоненты.Количество() > 5 И Врег(компоненты[4]) = "ФОРМА" Тогда
171+
172+
ИначеЕсли компоненты.Количество() > 5
173+
И ЭтоФорма(компоненты[4]) Тогда
174+
166175
компонентыПути.Добавить("Forms");
167176

168177
Если компоненты.Количество() > 6 Тогда
169-
компонентыПути.Добавить(компоненты[5]);
178+
компонентыПути.Добавить(компоненты[5]);
170179
КонецЕсли;
171180

172181
Если компоненты.Количество() = 7
173-
И ВРег(компоненты[6]) = "ФОРМА" Тогда
182+
И ЭтоФорма(компоненты[6]) Тогда
174183

175184
ДополнитьКомпоненты_Форма(компонентыПути);
176185

177186
ИначеЕсли компоненты.Количество() > 7
178-
И ВРег(компоненты[6]) = "ФОРМА"
179-
И ВРег(компоненты[7]) = "МОДУЛЬ" Тогда
187+
И ЭтоФорма(компоненты[6])
188+
И ЭтоМодуль(компоненты[7]) Тогда
180189

181190
ДополнитьКомпоненты_МодульФормы(компонентыПути);
191+
182192
Иначе
183-
_лог.Предупреждение("Не поддерживаемый объект %1", пМетаданные);
184-
КонецЕсли;
185-
193+
194+
_лог.Предупреждение("1. Не поддерживаемый объект. Метаданные: %1, Имя файла: %2, Имя метаданных %3, Тип объекта %4", пМетаданные, имяФайла, имяМетаданных, типОбъекта);
195+
196+
КонецЕсли;
197+
186198
КонецЕсли;
187-
188-
ИначеЕсли имяМетаданных = "ОБЩАЯФОРМА" Тогда
199+
200+
ИначеЕсли ЭтоОбщаяФорма(имяМетаданных) Тогда
189201

190202
ДополнитьКомпоненты_МодульФормы(компонентыПути);
191203

192-
ИначеЕсли типОбъекта = "ФОРМА" Тогда
204+
ИначеЕсли ЭтоФорма(типОбъекта) Тогда
193205

194206
компонентыПути.Добавить("Forms");
195207

@@ -200,23 +212,23 @@
200212
КонецЕсли;
201213

202214
Если компоненты.Количество() = 5
203-
И ВРег(компоненты[4]) = "ФОРМА" Тогда
215+
И ЭтоФорма(компоненты[4]) Тогда
204216

205217
ДополнитьКомпоненты_Форма(компонентыПути);
206218

207219
ИначеЕсли компоненты.Количество() > 5
208-
И ВРег(компоненты[4]) = "ФОРМА"
209-
И ВРег(компоненты[5]) = "МОДУЛЬ" Тогда
220+
И ЭтоФорма(компоненты[4])
221+
И ЭтоМодуль(компоненты[5]) Тогда
210222

211223
ДополнитьКомпоненты_МодульФормы(компонентыПути);
212224

213225
Иначе
214226

215-
_лог.Предупреждение("Не поддерживаемый объект %1", пМетаданные);
227+
_лог.Предупреждение("2. Не поддерживаемый объект. Метаданные: %1, Имя файла: %2, Имя метаданных %3, Тип объекта %4", пМетаданные, имяФайла, имяМетаданных, типОбъекта);
216228

217229
КонецЕсли;
218230

219-
ИначеЕсли типОбъекта = "КОМАНДА" Тогда
231+
ИначеЕсли ЭтоКоманда(типОбъекта) Тогда
220232

221233
компонентыПути.Добавить("Commands");
222234

@@ -228,7 +240,7 @@
228240

229241
Если компоненты.Количество() > 4 Тогда
230242

231-
Если ВРег(компоненты[4]) = "МОДУЛЬКОМАНДЫ" Тогда
243+
Если ЭтоМодульКоманды(компоненты[4]) Тогда
232244

233245
Если _ЭтоВыгрузкаКонфигуратора Тогда
234246

@@ -240,15 +252,15 @@
240252

241253
КонецЕсли;
242254

243-
КонецЕсли;
255+
КонецЕсли;
244256
Иначе
245257

246-
_лог.Предупреждение("Не поддерживаемый объект %1", пМетаданные);
258+
_лог.Предупреждение("3. Не поддерживаемый объект. Метаданные: %1, Имя файла: %2, Имя метаданных %3, Тип объекта %4", пМетаданные, имяФайла, имяМетаданных, типОбъекта);
247259

248260
КонецЕсли;
249261

250262
Возврат СтрСоединить(компонентыПути, ПолучитьРазделительПути());
251-
263+
252264
КонецФункции
253265

254266
Процедура ДополнитьКомпоненты_Форма(компонентыПути)
@@ -339,7 +351,7 @@
339351
Соответствие.Вставить("ОпределяемыйТип", "DefinedTypes");
340352
Соответствие.Вставить("DefinedType", "DefinedTypes");
341353

342-
Соответствие.Вставить("ЖурналДокумента", "DocumentJournals");
354+
Соответствие.Вставить("ЖурналДокументов", "DocumentJournals");
343355
Соответствие.Вставить("DocumentJournal", "DocumentJournals");
344356

345357
Соответствие.Вставить("Нумератор", "DocumentNumerators");
@@ -421,9 +433,9 @@
421433

422434
Соответствие.Вставить("Конфигурация", "Configuration");
423435
Соответствие.Вставить("Configuration", "Configuration");
424-
436+
425437
Соответствие.Вставить("ВнешняяОбработка", "ExternalDataProcessors");
426-
Соответствие.Вставить("ExternalDataProcessor", "ExternalDataProcessors");
438+
Соответствие.Вставить("ExternalDataProcessor", "ExternalDataProcessors");
427439

428440
КонецЕсли;
429441

@@ -459,6 +471,77 @@
459471

460472
КонецФункции
461473

474+
Функция ЭтоВнешнийИсточникДанных(Знач ИмяМетаданных)
475+
476+
имяВРег = ВРег(ИмяМетаданных);
477+
478+
Возврат имяВРег = "ВНЕШНИЙИСТОЧНИКДАННЫХ" ИЛИ имяВРег = "EXTERNALDATASOURCES";
479+
480+
КонецФункции
481+
482+
Функция ЭтоТаблица(Знач ИмяМетаданных)
483+
484+
имяВРег = ВРег(ИмяМетаданных);
485+
486+
Возврат имяВРег = "ТАБЛИЦА" ИЛИ имяВРег = "TABLE";
487+
488+
КонецФункции
489+
490+
Функция ЭтоФорма(Знач ИмяМетаданных)
491+
492+
имяВРег = ВРег(ИмяМетаданных);
493+
494+
Возврат имяВРег = "ФОРМА" ИЛИ имяВРег = "FORM";
495+
496+
КонецФункции
497+
498+
Функция ЭтоОбщаяФорма(Знач ИмяМетаданных)
499+
500+
имяВРег = ВРег(ИмяМетаданных);
501+
502+
Возврат имяВРег = "ОБЩАЯФОРМА" ИЛИ имяВРег = "COMMONFORM";
503+
504+
КонецФункции
505+
506+
Функция ЭтоМодуль(Знач ИмяМетаданных)
507+
508+
имяВРег = ВРег(ИмяМетаданных);
509+
510+
Возврат имяВРег = "МОДУЛЬ" ИЛИ имяВРег = "MODULE";
511+
512+
КонецФункции
513+
514+
Функция ЭтоКоманда(Знач ИмяМетаданных)
515+
516+
имяВРег = ВРег(ИмяМетаданных);
517+
518+
Возврат имяВРег = "КОМАНДА" ИЛИ имяВРег = "COMMAND";
519+
520+
КонецФункции
521+
522+
Функция ЭтоМодульОбъекта(Знач ИмяМетаданных)
523+
524+
имяВРег = ВРег(ИмяМетаданных);
525+
526+
Возврат имяВРег = "МОДУЛЬОБЪЕКТА" ИЛИ имяВРег = "OBJECTMODULE";
527+
528+
КонецФункции
529+
530+
Функция ЭтоМодульМенеджера(Знач ИмяМетаданных)
531+
532+
имяВРег = ВРег(ИмяМетаданных);
533+
534+
Возврат имяВРег = "МОДУЛЬМЕНЕДЖЕРА" ИЛИ имяВРег = "MANAGERMODULE";
535+
536+
КонецФункции
537+
Функция ЭтоМодульКоманды(Знач ИмяМетаданных)
538+
539+
имяВРег = ВРег(ИмяМетаданных);
540+
541+
Возврат имяВРег = "МОДУЛЬКОМАНДЫ" ИЛИ имяВРег = "COMMANDMODULE";
542+
543+
КонецФункции
544+
462545
#КонецОбласти
463546

464547
#Область СлужебныйПрограммныйИнтерфейс
@@ -467,4 +550,4 @@
467550
Возврат "oscript.app.cf_info";
468551
КонецФункции
469552

470-
#КонецОбласти
553+
#КонецОбласти

0 commit comments

Comments
 (0)