Skip to content

Commit

Permalink
Merge branch 'release/23.05'
Browse files Browse the repository at this point in the history
  • Loading branch information
bia-tech committed May 24, 2023
2 parents 0b11728 + 56a381d commit d204fe1
Show file tree
Hide file tree
Showing 5 changed files with 603 additions and 602 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2019-2021 BIA Technologies, LLC
Copyright (c) 2019-2023 BIA Technologies, LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
ПараметрыЧтения.Вставить("ОписаниеКонфигурации", Конфигурация.ОписаниеКонфигурации());
ПараметрыЧтения.Вставить("СтруктураКаталогов", Конфигурация.СтруктураКаталогов());
ПараметрыЧтения.Вставить("ТипКорневогоЭлемента", ТипКорневогоЭлемента);
ПараметрыЧтения.Вставить("ФорматВыгрузки", ПараметрыЧтения.СтруктураКаталогов.ФорматВыгрузки());
ПараметрыЧтения.Вставить("ФорматВыгрузки", ПараметрыЧтения.СтруктураКаталогов.ФорматВыгрузки());

Если ПараметрыЧтения.ФорматВыгрузки = ФорматыВыгрузки.EDT Тогда
ЧитательОписаний = ЧтениеОписанийEDT;
Expand Down Expand Up @@ -44,12 +44,15 @@
// Читает описание объекта конфигурации
//
// Параметры:
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации.
// См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
//
Процедура ПрочитатьОписание(ОбъектКонфигурации) Экспорт

ПараметрыЧтения = ОбъектКонфигурации.Конфигурация.ПараметрыЧтения();
ОбъектКонфигурации.Описание = ПрочитатьФайлОписанияОбъекта(ПараметрыЧтения, ОбъектКонфигурации.ПутьКФайлу, ОбъектКонфигурации.Тип);
ОбъектКонфигурации.Описание = ПрочитатьФайлОписанияОбъекта(
ПараметрыЧтения, ОбъектКонфигурации.ПутьКФайлу, ОбъектКонфигурации.Тип
);

КонецПроцедуры

Expand All @@ -63,8 +66,8 @@
ПараметрыЧтения.ОписаниеКонфигурации.ПодсистемыКонфигурации = ПодсистемыКонфигурации;

Для Каждого ОбъектКонфигурации Из ПараметрыЧтения.ОписаниеКонфигурации.ОбъектыКонфигурации Цикл

Подсистемы = ПодсистемыКонфигурации.НайтиСтроки(Новый Структура("ОбъектМетаданных", ОбъектКонфигурации.Тип + "." + ОбъектКонфигурации.Наименование));
Отбор = Новый Структура("ОбъектМетаданных", ОбъектКонфигурации.Тип + "." + ОбъектКонфигурации.Наименование);
Подсистемы = ПодсистемыКонфигурации.НайтиСтроки(Отбор);

Если Подсистемы.Количество() Тогда

Expand Down Expand Up @@ -93,7 +96,7 @@

ПолучитьОписаниеМодуляПоИмениФайла(ИмяФайлаМодуля, ОбъектКонфигурации, ОписаниеКонфигурации);

КонецЦикла;
КонецЦикла;

КонецЦикла;

Expand All @@ -112,20 +115,17 @@
СтрокаМодуль.Содержимое = СодержимоеМодуля.Содержимое;
СтрокаМодуль.НаборБлоков = СодержимоеМодуля.БлокиМодуля;

Если СтрокаМодуль.ТипМодуля = ТипыМодуля.ОбщийМодуль Тогда

Если СтрокаМодуль.Родитель <> Неопределено Тогда

Если СтрокаМодуль.Родитель.Описание = Неопределено Тогда
Если СтрокаМодуль.ТипМодуля = ТипыМодуля.ОбщийМодуль
И СтрокаМодуль.Родитель <> Неопределено Тогда

ПрочитатьОписание(СтрокаМодуль.Родитель);

КонецЕсли;
Если СтрокаМодуль.Родитель.Описание = Неопределено Тогда

СтрокаМодуль.ОписаниеМодуля.Вставить("Глобальный", СтрокаМодуль.Родитель.Описание.Глобальный);
ПрочитатьОписание(СтрокаМодуль.Родитель);

КонецЕсли;


СтрокаМодуль.ОписаниеМодуля.Вставить("Глобальный", СтрокаМодуль.Родитель.Описание.Глобальный);

КонецЕсли;

КонецПроцедуры
Expand All @@ -134,7 +134,7 @@
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////////

Функция ПрочитатьОписаниеКонфигурации(ПараметрыЧтения)
Процедура ПрочитатьОписаниеКонфигурации(ПараметрыЧтения)

// Выполняет чтение объектов первого уровня, вложенные объекты не читаются

Expand All @@ -149,10 +149,14 @@

КонецЕсли;

ДанныеКонфигурации = ПрочитатьФайлОписанияОбъекта(ПараметрыЧтения, ФайлКонфигурации, ПараметрыЧтения.ТипКорневогоЭлемента);
ДанныеКонфигурации = ПрочитатьФайлОписанияОбъекта(
ПараметрыЧтения, ФайлКонфигурации, ПараметрыЧтения.ТипКорневогоЭлемента
);

// добавим руками объект "Configuration" для модулей приложения
НовСтрока = РедакторКонфигурации.ЗарегистрироватьОбъектКонфигурации(ОписаниеКонфигурации, ПараметрыЧтения.ТипКорневогоЭлемента, ДанныеКонфигурации);
НовСтрока = РедакторКонфигурации.ЗарегистрироватьОбъектКонфигурации(
ОписаниеКонфигурации, ПараметрыЧтения.ТипКорневогоЭлемента, ДанныеКонфигурации
);
НовСтрока.ПутьКФайлу = ФайлКонфигурации;

Для Каждого Подчиненный Из ДанныеКонфигурации.Подчиненные Цикл
Expand All @@ -167,7 +171,7 @@

ОписаниеКонфигурации.СвойстваКонфигурации = ДанныеКонфигурации;

КонецФункции
КонецПроцедуры

Функция ПрочитатьФайлОписанияОбъекта(ПараметрыЧтения, ПутьКФайлу, ТипОбъекта)

Expand All @@ -191,16 +195,15 @@

ФормаОбъекта = Неопределено;
КомандаОбъекта = Неопределено;

Если ТипЭтогоМодуля = ТипыМодуля.МодульОбъекта
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульМенеджера
ИЛИ ТипЭтогоМодуля = ТипыМодуля.ОбщийМодуль
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульУправляемогоПриложения
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульСеанса
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульВнешнегоСоединения
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульОбычногоПриложения Тогда
ПропускаемыйТип = ТипЭтогоМодуля = ТипыМодуля.МодульОбъекта
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульМенеджера
ИЛИ ТипЭтогоМодуля = ТипыМодуля.ОбщийМодуль
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульУправляемогоПриложения
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульСеанса
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульВнешнегоСоединения
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульОбычногоПриложения;

ИначеЕсли ТипыМодуля.ЭтоМодульФормы(ТипЭтогоМодуля) Тогда
Если ТипыМодуля.ЭтоМодульФормы(ТипЭтогоМодуля) Тогда

ФормаОбъекта = ОписаниеКонфигурации.ФормыКонфигурации.Добавить();
ФормаОбъекта.Родитель = ОбъектКонфигурации;
Expand All @@ -214,9 +217,9 @@
КомандаОбъекта.Наименование = ПолучитьИмяКомандыИзИмениФайлаМодуля(ИмяФайлаМодуля);

Иначе

ВызватьИсключение "Тип модуля: " + ТипЭтогоМодуля + " не имеет алгоритма разбора";

Если НЕ ПропускаемыйТип Тогда
ВызватьИсключение "Тип модуля: " + ТипЭтогоМодуля + " не имеет алгоритма разбора";
КонецЕсли;
КонецЕсли;

НовыйМодульКонфигурации = ОписаниеКонфигурации.Модули.Добавить();
Expand Down Expand Up @@ -309,20 +312,35 @@

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

Процедура ПрочитатьПодсистему(ПараметрыЧтения, ОписаниеПодсистем, ОбъектКонфигурации, Знач Визуальная, Знач Родитель, РодительскаяПодсистема)
Процедура ПрочитатьПодсистему(ПараметрыЧтения, ОписаниеПодсистем, ОбъектКонфигурации, Знач Визуальная,
Знач Родитель, РодительскаяПодсистема)

ТипПодсистема = ТипыОбъектовКонфигурации.ИмяТипаПодсистема();
ИмяФайлаОписание = ПараметрыЧтения.СтруктураКаталогов.ИмяФайлаОписанияОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
ИмяФайлаОписание = ПараметрыЧтения.СтруктураКаталогов.ИмяФайлаОписанияОбъекта(
ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип
);

СвойстваОписания = ПрочитатьФайлОписанияОбъекта(ПараметрыЧтения, ИмяФайлаОписание, ТипПодсистема);

ОбъектКонфигурации.Описание = СвойстваОписания;
ОбъектКонфигурации.ПутьКФайлу = ИмяФайлаОписание;
ОбъектКонфигурации.ПутьККаталогу = ПараметрыЧтения.СтруктураКаталогов.КаталогФайловОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
ОбъектКонфигурации.ПутьККаталогу = ПараметрыЧтения.СтруктураКаталогов.КаталогФайловОбъекта(
ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);

Визуальная = Визуальная И СвойстваОписания.ВключатьВКомандныйИнтерфейс;

ПредставлениеПодсистемы = ?(РодительскаяПодсистема = Неопределено, СвойстваОписания.Синоним, РодительскаяПодсистема.Представление + "/" + СвойстваОписания.Синоним);
Если СвойстваОписания.Синоним.Свойство("ru") Тогда
СинонимПодсистемы = СвойстваОписания.Синоним.ru;
ИначеЕсли СвойстваОписания.Синоним.Свойство("en") Тогда
СинонимПодсистемы = СвойстваОписания.Синоним.en;
Иначе
СинонимПодсистемы = СвойстваОписания.Имя;
КонецЕсли;

ПредставлениеПодсистемы = ?(РодительскаяПодсистема = Неопределено,
СинонимПодсистемы,
РодительскаяПодсистема.Представление + "/" + СинонимПодсистемы
);

Если СвойстваОписания.Состав.Количество() Тогда
Состав = СвойстваОписания.Состав;
Expand All @@ -337,7 +355,7 @@
ЭтаПодсистема.Имя = ОбъектКонфигурации.Наименование;
ЭтаПодсистема.ИмяКратко = СвойстваОписания.Наименование;
ЭтаПодсистема.Представление = ПредставлениеПодсистемы;
ЭтаПодсистема.ПредставлениеКратко = СвойстваОписания.Синоним;
ЭтаПодсистема.ПредставлениеКратко = СинонимПодсистемы;
ЭтаПодсистема.ОбъектМетаданных = ОбъектМетаданных;
ЭтаПодсистема.Визуальная = Визуальная;
ЭтаПодсистема.Родитель = РодительскаяПодсистема;
Expand Down Expand Up @@ -368,7 +386,8 @@
ВложеннаяПодсистема.ПолноеНаименование = СтрШаблон("%1.%2", ТипПодсистема, ИмяПодсистемы);
ВложеннаяПодсистема.Родитель = ОбъектКонфигурации;

ПрочитатьПодсистему(ПараметрыЧтения, ОписаниеПодсистем, ВложеннаяПодсистема, Визуальная, ОбъектКонфигурации, ЭтаПодсистема)
ПрочитатьПодсистему(ПараметрыЧтения, ОписаниеПодсистем, ВложеннаяПодсистема, Визуальная,
ОбъектКонфигурации, ЭтаПодсистема);

КонецЦикла;

Expand Down
Loading

0 comments on commit d204fe1

Please sign in to comment.