Skip to content

Commit

Permalink
Имя каталогов свойств и значени
Browse files Browse the repository at this point in the history
При разборе имя свойство, значений, групп элемента свойства представлять как ПорядковыйНомер + Наименование по реквизиту
  • Loading branch information
otymko committed Jun 21, 2018
1 parent 9ba6139 commit 35f69ab
Showing 1 changed file with 30 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,9 @@

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

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

//добавить к свойство или значение идентификатор = Наименование + "[ПорядковыйНомер]"

Идентификатор = ?(Не ПустаяСтрока(ТекущаяСтрока.Идентификатор), ТекущаяСтрока.Идентификатор, ТекущаяСтрока.Имя);
ИмяКаталогаСтроки = ОбъединитьПути(ТекущийКаталог, Идентификатор);
СоздатьКаталог(ИмяКаталогаСтроки);
Если ИмяЭлементаСтроки = "Значение" Или ИмяЭлементаСтроки = "Свойство" Тогда
Идентификатор = ПолучитьРасширенноеИмяЭлемента(Идентификатор, ТекущаяСтрока.Строки);
КонецЕсли;

Попытка
ИмяКаталогаСтроки = ОбъединитьПути(ТекущийКаталог, Идентификатор);
СоздатьКаталог(ИмяКаталогаСтроки);
Исключение
Сообщить("Плохое наименование " + ИмяКаталогаСтроки);
ВызватьИсключение(ОписаниеОшибки());
КонецПопытки;

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

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

Функция ПолучитьРасширенноеИмяЭлемента(Идентификатор, Строки)

Для Каждого Строка Из Строки Цикл
Если Строка.Имя = "Наименование" Тогда
Результат = "[" + Идентификатор + "] " + СтрЗаменить(Строка.Значение, ">", "");
//Сообщить("ИТОГО: " + Результат);
Возврат Результат;
КонецЕсли;
КонецЦикла;

Возврат Идентификатор;

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

//Инициализация модуля
НаименованиеКаталогаСобытий = "Ext";

0 comments on commit 35f69ab

Please sign in to comment.