Skip to content

Commit 35f69ab

Browse files
committed
Имя каталогов свойств и значени
При разборе имя свойство, значений, групп элемента свойства представлять как ПорядковыйНомер + Наименование по реквизиту
1 parent 9ba6139 commit 35f69ab

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

src/core/Модули/РазобратьПравилаОбмена.os

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,9 @@
116116

117117
МассивРеквизитовТекущегоУзла = Новый Массив;
118118
Идентификатор = ?(Не ПустаяСтрока(ТекущаяСтрока.Идентификатор), ТекущаяСтрока.Идентификатор, ТекущаяСтрока.Имя);
119+
Если ИмяЭлементаСтроки = "Группа" И ТекущаяСтрока.Родитель.Имя = "Свойства" Тогда
120+
Идентификатор = ПолучитьРасширенноеИмяЭлемента(Идентификатор, ТекущаяСтрока.Строки);
121+
КонецЕсли;
119122
ИмяКаталогаСтроки = ОбъединитьПути(ТекущийКаталог, Идентификатор);
120123
СоздатьКаталог(ИмяКаталогаСтроки);
121124
ТекущаяСтрока.Каталог = ИмяКаталогаСтроки;
@@ -137,9 +140,20 @@
137140

138141
МассивРеквизитовТекущегоУзла = Новый Массив;
139142

143+
//добавить к свойство или значение идентификатор = Наименование + "[ПорядковыйНомер]"
144+
140145
Идентификатор = ?(Не ПустаяСтрока(ТекущаяСтрока.Идентификатор), ТекущаяСтрока.Идентификатор, ТекущаяСтрока.Имя);
141-
ИмяКаталогаСтроки = ОбъединитьПути(ТекущийКаталог, Идентификатор);
142-
СоздатьКаталог(ИмяКаталогаСтроки);
146+
Если ИмяЭлементаСтроки = "Значение" Или ИмяЭлементаСтроки = "Свойство" Тогда
147+
Идентификатор = ПолучитьРасширенноеИмяЭлемента(Идентификатор, ТекущаяСтрока.Строки);
148+
КонецЕсли;
149+
150+
Попытка
151+
ИмяКаталогаСтроки = ОбъединитьПути(ТекущийКаталог, Идентификатор);
152+
СоздатьКаталог(ИмяКаталогаСтроки);
153+
Исключение
154+
Сообщить("Плохое наименование " + ИмяКаталогаСтроки);
155+
ВызватьИсключение(ОписаниеОшибки());
156+
КонецПопытки;
143157

144158
ТекущаяСтрока.Каталог = ИмяКаталогаСтроки;
145159
РекурсивноРазобратьДеревоПравил(ТекущаяСтрока, ИмяЭлементаСтроки, ИмяКаталогаСтроки, МассивРеквизитовТекущегоУзла);
@@ -336,5 +350,19 @@
336350

337351
КонецФункции
338352

353+
Функция ПолучитьРасширенноеИмяЭлемента(Идентификатор, Строки)
354+
355+
Для Каждого Строка Из Строки Цикл
356+
Если Строка.Имя = "Наименование" Тогда
357+
Результат = "[" + Идентификатор + "] " + СтрЗаменить(Строка.Значение, ">", "");
358+
//Сообщить("ИТОГО: " + Результат);
359+
Возврат Результат;
360+
КонецЕсли;
361+
КонецЦикла;
362+
363+
Возврат Идентификатор;
364+
365+
КонецФункции
366+
339367
//Инициализация модуля
340368
НаименованиеКаталогаСобытий = "Ext";

0 commit comments

Comments
 (0)