mirror of
https://github.com/bia-technologies/bsl-parser.git
synced 2024-11-24 08:12:17 +02:00
#ONEICD-148
* Переработан механизм включения объектов в расширения * Переработано чтение подсистем * Все описания свойств береться из таблиц md * Переработан алгоритм чтения описания конфигурации
This commit is contained in:
parent
0a191ea214
commit
a155d9e3d6
@ -55,7 +55,7 @@
|
||||
|
||||
Для Каждого Стр Из ОписаниеКонфигурации.ОбъектыКонфигурации Цикл
|
||||
|
||||
Если Стр.Тип <> ТипКонфигурация Тогда
|
||||
Если Стр.Тип <> ТипКонфигурация И Стр.Родитель = Неопределено Тогда
|
||||
|
||||
ГенераторОписаний.ЗарегистрироватьОбъектВКонфигурации(Стр.Наименование, Стр.Тип, ПараметрыГенерации);
|
||||
|
||||
@ -79,75 +79,44 @@
|
||||
|
||||
Функция ДобавитьОбъект(ИмяОбъекта, Знач ТипОбъекта, ОписаниеОбъекта = Неопределено) Экспорт
|
||||
|
||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||
ОбъектКонфигурации = ДобавитьОбъектКонфигурации(ИмяОбъекта, ТипОбъекта);
|
||||
|
||||
НайденныеОбъекты = ОписаниеКонфигурации.ОбъектыКонфигурации.НайтиСтроки(Новый Структура("Наименование, Тип", ИмяОбъекта, ТипОбъекта));
|
||||
|
||||
Если НайденныеОбъекты.Количество() Тогда
|
||||
Если ОбъектКонфигурации = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОписаниеОбъекта = Неопределено И ОбъектКонфигурации.Описание = Неопределено Тогда
|
||||
|
||||
Описание = НайденныеОбъекты[0];
|
||||
ОбъектКонфигурации.Описание = СтруктурыОписаний.СоздатьСтруктураОбъекта(ТипОбъекта);
|
||||
ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание);
|
||||
|
||||
ИначеЕсли ОписаниеОбъекта <> Неопределено Тогда
|
||||
|
||||
Иначе
|
||||
|
||||
Описание = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
||||
|
||||
Описание.Наименование = ИмяОбъекта;
|
||||
Описание.Тип = ТипОбъекта;
|
||||
Описание.ПутьКФайлу = СтруктураКаталоговПриемник.ИмяФайлаОписанияОбъекта(ИмяОбъекта, ТипОбъекта);
|
||||
Описание.ПутьККаталогу = СтруктураКаталоговПриемник.КаталогФайловОбъекта(ИмяОбъекта, ТипОбъекта);
|
||||
Описание.Описание = ОписаниеОбъекта;
|
||||
|
||||
Если ОписаниеОбъекта <> Неопределено Тогда
|
||||
|
||||
ЗаписатьОписаниеОбъекта(ТипОбъекта, ОписаниеОбъекта);
|
||||
|
||||
КонецЕсли;
|
||||
ОбъектКонфигурации.Описание = ОписаниеОбъекта;
|
||||
ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Описание;
|
||||
Возврат ОбъектКонфигурации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПеренестиОбъектВРасширение(ИмяОбъекта, Знач ТипОбъекта, ОписаниеОбъекта = Неопределено) Экспорт
|
||||
Функция ПеренестиОбъектВРасширение(ОбъектРодительскойКонфигурации) Экспорт
|
||||
|
||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||
|
||||
НайденныеОбъекты = ОписаниеКонфигурации.ОбъектыКонфигурации.НайтиСтроки(Новый Структура("Наименование, Тип", ИмяОбъекта, ТипОбъекта));
|
||||
ОбъектКонфигурации = ДобавитьОбъектКонфигурации(ОбъектРодительскойКонфигурации.Наименование, ОбъектРодительскойКонфигурации.Тип);
|
||||
|
||||
Если НайденныеОбъекты.Количество() Тогда
|
||||
|
||||
Описание = НайденныеОбъекты[0];
|
||||
|
||||
Если ОписаниеОбъекта = Неопределено Тогда
|
||||
|
||||
ОписаниеОбъекта = Описание.Описание;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
Описание = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
||||
|
||||
Описание.Наименование = ИмяОбъекта;
|
||||
Описание.Тип = ТипОбъекта;
|
||||
Описание.ПутьКФайлу = СтруктураКаталоговПриемник.ИмяФайлаОписанияОбъекта(ИмяОбъекта, ТипОбъекта);
|
||||
Описание.ПутьККаталогу = СтруктураКаталоговПриемник.КаталогФайловОбъекта(ИмяОбъекта, ТипОбъекта);
|
||||
Описание.Описание = ОписаниеОбъекта;
|
||||
|
||||
Если ОбъектКонфигурации = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОписаниеОбъекта = Неопределено Тогда
|
||||
|
||||
ОписаниеОбъекта = СтруктурыОписаний.СоздатьСтруктураОбъекта(ТипОбъекта);
|
||||
ОписаниеОбъекта.Наименование = ИмяОбъекта;
|
||||
СокращенноеОписание = СтруктурыОписаний.СоздатьСокращеннуюСтруктураОбъекта(ОбъектРодительскойКонфигурации.Тип);
|
||||
ЗаполнитьЗначенияСвойств(СокращенноеОписание, ОбъектРодительскойКонфигурации.Описание, , "Подчиненные");
|
||||
СокращенноеОписание.Вставить("ObjectBelonging", "Adopted");
|
||||
|
||||
ОбъектКонфигурации.Описание = СокращенноеОписание;
|
||||
ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеОбъекта.Вставить("ObjectBelonging", "Adopted");
|
||||
ЗаписатьОписаниеОбъекта(ТипОбъекта, ОписаниеОбъекта);
|
||||
|
||||
Возврат Описание;
|
||||
Возврат ОбъектКонфигурации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -204,21 +173,57 @@
|
||||
// Служебный функционал
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
Процедура ЗаписатьОписаниеОбъекта(ТипОбъекта, ОписаниеОбъекта)
|
||||
Процедура ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ДанныеОбъекта)
|
||||
|
||||
Запись = ГенераторОписаний.СоздатьЗапись(ТипОбъекта, ПараметрыГенерации);
|
||||
Запись = ГенераторОписаний.СоздатьЗапись(ОбъектКонфигурации.Тип, ПараметрыГенерации);
|
||||
|
||||
ГенераторОписаний.ЗаписатьПорождаемыеТипы(Запись, ОписаниеОбъекта.Наименование, ТипОбъекта);
|
||||
ГенераторОписаний.ЗаписатьСвойства(Запись, ТипОбъекта, ОписаниеОбъекта);
|
||||
ОписаниеСвойств = СтруктурыОписаний.ОписаниеСвойствОбъекта(ОбъектКонфигурации.Тип);
|
||||
|
||||
ГенераторОписаний.ЗаписатьПорождаемыеТипы(Запись, ДанныеОбъекта.Наименование, ОбъектКонфигурации.Тип);
|
||||
ГенераторОписаний.ЗаписатьСвойства(Запись, ОбъектКонфигурации.Тип, ДанныеОбъекта);
|
||||
|
||||
Если ОписаниеСвойств.ЕстьПодчиненные Тогда
|
||||
|
||||
ГенераторОписаний.Подчиненные(Запись, ?(ДанныеОбъекта.Свойство("Подчиненные"), ДанныеОбъекта.Подчиненные, Неопределено));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОписания = ГенераторОписанийОбщий.ЗакрытьЗапись(Запись);
|
||||
|
||||
ИмяФайла = СтруктураКаталоговПриемник.ИмяФайлаОписанияОбъекта(ОписаниеОбъекта.Наименование, ТипОбъекта);
|
||||
ИмяФайла = СтруктураКаталоговПриемник.ИмяФайлаОписанияОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
|
||||
|
||||
Утилиты.ЗаписатьФайл(ИмяФайла, ТекстОписания);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДобавитьОбъектКонфигурации(ИмяОбъекта, Знач ТипОбъекта)
|
||||
|
||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||
|
||||
Если ТипОбъекта = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации() Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
НайденныеОбъекты = ОписаниеКонфигурации.ОбъектыКонфигурации.НайтиСтроки(Новый Структура("Наименование, Тип", ИмяОбъекта, ТипОбъекта));
|
||||
|
||||
Если НайденныеОбъекты.Количество() Тогда
|
||||
|
||||
ОбъектКонфигурации = НайденныеОбъекты[0];
|
||||
|
||||
Иначе
|
||||
|
||||
ОбъектКонфигурации = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
||||
|
||||
ОбъектКонфигурации.Наименование = ИмяОбъекта;
|
||||
ОбъектКонфигурации.Тип = ТипОбъекта;
|
||||
ОбъектКонфигурации.ПутьКФайлу = СтруктураКаталоговПриемник.ИмяФайлаОписанияОбъекта(ИмяОбъекта, ТипОбъекта);
|
||||
ОбъектКонфигурации.ПутьККаталогу = СтруктураКаталоговПриемник.КаталогФайловОбъекта(ИмяОбъекта, ТипОбъекта);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОбъектКонфигурации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПриСозданииОбъекта(Формат, Знач КаталогНазначения)
|
||||
|
||||
|
@ -104,6 +104,12 @@
|
||||
КонецЕсли;
|
||||
|
||||
Запись.ЗаписатьНачалоЭлемента("InternalInfo");
|
||||
|
||||
Если ТипОбъекта = ТипыОбъектовКонфигурации.ИмяТипаПланОбмена() Тогда
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(Запись, "xr:ThisNode", Строка(Новый УникальныйИдентификатор()));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Тип Из ПорождаемыеТипы Цикл
|
||||
|
||||
@ -142,6 +148,40 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоставПодсистемы(Запись, Значение) Экспорт
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Значение) Тогда
|
||||
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ПолноеИмяЭлемента Из Значение Цикл
|
||||
|
||||
ЧастиИмени = СтрРазделить(ПолноеИмяЭлемента, ".");
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(Запись, ЧастиИмени[0], ЧастиИмени[1]);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Подчиненные(Запись, Значение) Экспорт
|
||||
|
||||
Запись.ЗаписатьНачалоЭлемента("ChildObjects");
|
||||
|
||||
// Для Каждого ПолноеИмяЭлемента Из Значение Цикл
|
||||
|
||||
// ЧастиИмени = СтрРазделить(ПолноеИмяЭлемента, ".");
|
||||
|
||||
// ГенераторОписанийОбщий.ЗаписатьЗначениеXML(Запись, ЧастиИмени[0], ЧастиИмени[1]);
|
||||
|
||||
// КонецЦикла;
|
||||
|
||||
Запись.ЗаписатьКонецЭлемента();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
@ -56,53 +56,33 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПодготовитьДанныеДляЗаписи(Данные, ТипОбъекта, ФорматEDT) Экспорт
|
||||
|
||||
ДанныеДляЗаписи = Новый Структура();
|
||||
Словарь = СтруктурыОписаний.СловарьЗаменыИменРеквизитов(ТипОбъекта, ФорматEDT);
|
||||
|
||||
Для Каждого Реквизит Из Данные Цикл
|
||||
|
||||
ДанныеДляЗаписи.Вставить(Словарь[Реквизит.Ключ], Реквизит.Значение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ДанныеДляЗаписи;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЗаписатьДанные(Запись, Данные, ТипОбъекта, Генератор) Экспорт
|
||||
|
||||
ФорматEDT = Генератор = ГенераторОписанийEDT;
|
||||
СвойстваОбъекта = СтруктурыОписаний.ОписаниеСвойствОбъекта(ТипОбъекта);
|
||||
|
||||
Если СвойстваОбъекта = Неопределено Тогда
|
||||
СвойстваОбъекта = ПараметрыСериализации.ПараметрыСериализации(ТипОбъекта, ?(ФорматEDT, "EDT", "Designer"));
|
||||
|
||||
СвойстваОбъекта = СтруктурыОписаний.БазовоеОписаниеСвойствОбъекта();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
АргументыПреобразования = Новый Массив(2);
|
||||
АргументыПреобразования[0] = Запись;
|
||||
|
||||
Для Каждого ОписаниеСвойства Из СвойстваОбъекта Цикл
|
||||
Для Каждого Элемент Из СвойстваОбъекта.Свойства Цикл
|
||||
|
||||
Значение = Неопределено;
|
||||
|
||||
Если НЕ Данные.Свойство(ОписаниеСвойства.Наименование, Значение) Тогда
|
||||
|
||||
Если НЕ Данные.Свойство(Элемент.Ключ, Значение) ИЛИ Значение = Неопределено Тогда
|
||||
|
||||
Продолжить;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Ключ = ?(ФорматEDT, ОписаниеСвойства.ЭлементEDT, ОписаниеСвойства.ЭлементDesigner);
|
||||
ОписаниеСвойства = Элемент.Значение;
|
||||
|
||||
Если ПустаяСтрока(ОписаниеСвойства.МетодПреобразования) Тогда
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(Запись, Ключ, Значение);
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(Запись, ОписаниеСвойства.Поле, Значение);
|
||||
|
||||
Иначе
|
||||
|
||||
Запись.ЗаписатьНачалоЭлемента(Ключ);
|
||||
Запись.ЗаписатьНачалоЭлемента(ОписаниеСвойства.Поле);
|
||||
|
||||
АргументыПреобразования[1] = Значение;
|
||||
|
||||
|
@ -2,52 +2,52 @@
|
||||
|
||||
## Имена
|
||||
|
||||
| Наименование | НаименованиеКоллекции | НаименованиеEng | НаименованиеКоллекцииEng | ПорождаемыеТипы |
|
||||
| --------------------------- | ---------------------------- | -------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| HTTPСервис | HTTPСервисы | HTTPService | HTTPServices | |
|
||||
| WebСервис | WebСервисы | WebService | WebServices | |
|
||||
| WSСсылка | WSСсылки | WSReference | WSReferences | |
|
||||
| БизнесПроцесс | БизнесПроцессы | BusinessProcess | BusinessProcesses | Object Ref Selection List Manager RoutePointRef |
|
||||
| ВнешнийИсточникиДанных | ВнешниеИсточникиДанных | ExternalDataSource | ExternalDataSources | |
|
||||
| ГруппаКоманд | ГруппыКоманд | CommandGroup | CommandGroups | |
|
||||
| Документ | Документы | Document | Documents | Object Ref Selection List Manager |
|
||||
| ЖурналДокументов | ЖурналыДокументов | DocumentJournal | DocumentJournals | Selection List Manager |
|
||||
| Задача | Задачи | Task | Tasks | Object Ref Selection List Manager |
|
||||
| Интерфейс | Интерфейсы | Interface | Interfaces | |
|
||||
| Константа | Константы | Constant | Constants | Manager ValueManager |
|
||||
| КритерийОтбора | КритерииОтбора | FilterCriterion | FilterCriteria | Manager List |
|
||||
| НумераторДокументов | НумераторыДокументов | DocumentNumerator | DocumentNumerators | |
|
||||
| Обработка | Обработки | DataProcessor | DataProcessors | Object Manager |
|
||||
| ОбщаяКартинка | ОбщиеКартинки | CommonPicture | CommonPictures | |
|
||||
| ОбщаяКоманда | ОбщиеКоманды | CommonCommand | CommonCommands | |
|
||||
| ОбщийМакет | ОбщиеМакеты | CommonTemplate | CommonTemplates | |
|
||||
| ОбщийМодуль | ОбщиеМодули | CommonModule | CommonModules | |
|
||||
| ОбщийРеквизит | ОбщиеРеквизиты | CommonAttribute | CommonAttributes | |
|
||||
| ОбщаяФорм | ОбщиеФормы | CommonForm | CommonForms | |
|
||||
| ОпределяемыйТип | ОпределяемыеТипы | DefinedType | DefinedTypes | DefinedType |
|
||||
| Отчет | Отчеты | Report | Reports | Object Manager |
|
||||
| ПакетXDTO | ПакетыXDTO | XDTOPackage | XDTOPackages | |
|
||||
| ПараметрСеанса | ПараметрыСеанса | SessionParameter | SessionParameters | |
|
||||
| ПараметрФункциональныхОпций | ПараметрыФункциональныхОпций | FunctionalOptionsParameter | FunctionalOptionsParameters | |
|
||||
| Перечисление | Перечисления | Enum | Enums | Ref Manager List |
|
||||
| ПланВидовРасчета | ПланыВидовРасчета | ChartOfCalculationTypes | ChartsOfCalculationTypes | Object Ref Selection List Manager DisplacingCalculationTypes DisplacingCalculationTypesRow BaseCalculationTypes BaseCalculationTypesRow LeadingCalculationTypes LeadingCalculationTypesRow |
|
||||
| ПланВидовХарактеристик | ПланыВидовХарактеристик | ChartOfCharacteristicTypes | ChartsOfCharacteristicTypes | Object Ref Selection List Manager Characteristic |
|
||||
| ПланОбмена | ПланыОбмена | ExchangePlan | ExchangePlans | Object Ref Selection List Manager |
|
||||
| ПланСчетов | ПланыСчетов | ChartOfAccounts | ChartsOfAccounts | Object Ref Selection List Manager ExtDimensionTypes ExtDimensionTypesRow |
|
||||
| ПодпискаНаСобытия | ПодпискиНаСобытия | EventSubscription | EventSubscriptions | |
|
||||
| Подсистема | Подсистемы | Subsystem | Subsystems | |
|
||||
| Последовательность | Последовательности | Sequence | Sequences | Record Manager RecordSet |
|
||||
| РегистрБухгалтерии | РегистрыБухгалтерии | AccountingRegister | AccountingRegisters | Record Manager RecordSet RecordKey Selection List ExtDimensions |
|
||||
| РегистрНакопления | РегистрыНакопления | AccumulationRegister | AccumulationRegisters | Record Manager RecordSet RecordKey Selection List |
|
||||
| РегистрРасчета | РегистрыРасчета | CalculationRegister | CalculationRegisters | Record Manager Selection List RecordSet RecordKey Recalcs |
|
||||
| РегистрСведений | РегистрыСведений | InformationRegister | InformationRegisters | Record Manager RecordSet RecordKey Selection List RecordManager |
|
||||
| РегламентноеЗадание | РегламентныеЗадания | ScheduledJob | ScheduledJobs | |
|
||||
| Роль | Роли | Role | Roles | |
|
||||
| Справочник | Справочники | Catalog | Catalogs | Object Ref Selection List Manager |
|
||||
| Стиль | Стили | Style | Styles | |
|
||||
| ФункциональнаяОпция | ФункциональныеОпции | FunctionalOption | FunctionalOptions | |
|
||||
| ХранилищеНастроек | ХранилищаНастроек | SettingsStorage | SettingsStorages | Manager |
|
||||
| ЭлементСтиля | ЭлементыСтиля | StyleItem | StyleItems | |
|
||||
| Язык | Языки | Language | Languages | |
|
||||
| Конфигурация | Конфигурации | Configuration | Configurations | |
|
||||
| Расширение | Расширения | Extension | Extensions | |
|
||||
| Наименование | НаименованиеКоллекции | НаименованиеEng | НаименованиеКоллекцииEng | ЕстьПодчиненные | ПорождаемыеТипы |
|
||||
| --------------------------- | ---------------------------- | -------------------------- | --------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| HTTPСервис | HTTPСервисы | HTTPService | HTTPServices | true | |
|
||||
| WebСервис | WebСервисы | WebService | WebServices | true | |
|
||||
| WSСсылка | WSСсылки | WSReference | WSReferences | | |
|
||||
| БизнесПроцесс | БизнесПроцессы | BusinessProcess | BusinessProcesses | true | Object Ref Selection List Manager RoutePointRef |
|
||||
| ВнешнийИсточникиДанных | ВнешниеИсточникиДанных | ExternalDataSource | ExternalDataSources | | |
|
||||
| ГруппаКоманд | ГруппыКоманд | CommandGroup | CommandGroups | | |
|
||||
| Документ | Документы | Document | Documents | true | Object Ref Selection List Manager |
|
||||
| ЖурналДокументов | ЖурналыДокументов | DocumentJournal | DocumentJournals | true | Selection List Manager |
|
||||
| Задача | Задачи | Task | Tasks | true | Object Ref Selection List Manager |
|
||||
| Интерфейс | Интерфейсы | Interface | Interfaces | | |
|
||||
| Константа | Константы | Constant | Constants | | Manager ValueManager |
|
||||
| КритерийОтбора | КритерииОтбора | FilterCriterion | FilterCriteria | true | Manager List |
|
||||
| НумераторДокументов | НумераторыДокументов | DocumentNumerator | DocumentNumerators | | |
|
||||
| Обработка | Обработки | DataProcessor | DataProcessors | true | Object Manager |
|
||||
| ОбщаяКартинка | ОбщиеКартинки | CommonPicture | CommonPictures | | |
|
||||
| ОбщаяКоманда | ОбщиеКоманды | CommonCommand | CommonCommands | | |
|
||||
| ОбщийМакет | ОбщиеМакеты | CommonTemplate | CommonTemplates | | |
|
||||
| ОбщийМодуль | ОбщиеМодули | CommonModule | CommonModules | | |
|
||||
| ОбщийРеквизит | ОбщиеРеквизиты | CommonAttribute | CommonAttributes | | |
|
||||
| ОбщаяФорм | ОбщиеФормы | CommonForm | CommonForms | | |
|
||||
| ОпределяемыйТип | ОпределяемыеТипы | DefinedType | DefinedTypes | | DefinedType |
|
||||
| Отчет | Отчеты | Report | Reports | true | Object Manager |
|
||||
| ПакетXDTO | ПакетыXDTO | XDTOPackage | XDTOPackages | | |
|
||||
| ПараметрСеанса | ПараметрыСеанса | SessionParameter | SessionParameters | | |
|
||||
| ПараметрФункциональныхОпций | ПараметрыФункциональныхОпций | FunctionalOptionsParameter | FunctionalOptionsParameters | | |
|
||||
| Перечисление | Перечисления | Enum | Enums | true | Ref Manager List |
|
||||
| ПланВидовРасчета | ПланыВидовРасчета | ChartOfCalculationTypes | ChartsOfCalculationTypes | true | Object Ref Selection List Manager DisplacingCalculationTypes DisplacingCalculationTypesRow BaseCalculationTypes BaseCalculationTypesRow LeadingCalculationTypes LeadingCalculationTypesRow |
|
||||
| ПланВидовХарактеристик | ПланыВидовХарактеристик | ChartOfCharacteristicTypes | ChartsOfCharacteristicTypes | true | Object Ref Selection List Manager Characteristic |
|
||||
| ПланОбмена | ПланыОбмена | ExchangePlan | ExchangePlans | true | Object Ref Selection List Manager |
|
||||
| ПланСчетов | ПланыСчетов | ChartOfAccounts | ChartsOfAccounts | true | Object Ref Selection List Manager ExtDimensionTypes ExtDimensionTypesRow |
|
||||
| ПодпискаНаСобытия | ПодпискиНаСобытия | EventSubscription | EventSubscriptions | | |
|
||||
| Подсистема | Подсистемы | Subsystem | Subsystems | true | |
|
||||
| Последовательность | Последовательности | Sequence | Sequences | true | Record Manager RecordSet |
|
||||
| РегистрБухгалтерии | РегистрыБухгалтерии | AccountingRegister | AccountingRegisters | true | Record Manager RecordSet RecordKey Selection List ExtDimensions |
|
||||
| РегистрНакопления | РегистрыНакопления | AccumulationRegister | AccumulationRegisters | true | Record Manager RecordSet RecordKey Selection List |
|
||||
| РегистрРасчета | РегистрыРасчета | CalculationRegister | CalculationRegisters | true | Record Manager Selection List RecordSet RecordKey Recalcs |
|
||||
| РегистрСведений | РегистрыСведений | InformationRegister | InformationRegisters | true | Record Manager RecordSet RecordKey Selection List RecordManager |
|
||||
| РегламентноеЗадание | РегламентныеЗадания | ScheduledJob | ScheduledJobs | | |
|
||||
| Роль | Роли | Role | Roles | | |
|
||||
| Справочник | Справочники | Catalog | Catalogs | true | Object Ref Selection List Manager |
|
||||
| Стиль | Стили | Style | Styles | | |
|
||||
| ФункциональнаяОпция | ФункциональныеОпции | FunctionalOption | FunctionalOptions | | |
|
||||
| ХранилищеНастроек | ХранилищаНастроек | SettingsStorage | SettingsStorages | true | Manager |
|
||||
| ЭлементСтиля | ЭлементыСтиля | StyleItem | StyleItems | | |
|
||||
| Язык | Языки | Language | Languages | | |
|
||||
| Конфигурация | Конфигурации | Configuration | Configurations | true | |
|
||||
| Расширение | Расширения | Extension | Extensions | true | |
|
@ -9,10 +9,65 @@
|
||||
|
||||
## Реквизиты Configuration
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| ------------ | ---------- | --------------- | ------------------- |
|
||||
| Наименование | name | Name | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| ----------------------------------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ------------------- |
|
||||
| АвторскиеПрава | copyright | Copyright | МногоязычнаяСтрока |
|
||||
| АдресИнформацииОКонфигурации | configurationInformationAddress | ConfigurationInformationAddress | МногоязычнаяСтрока |
|
||||
| АдресИнформацииОПоставщике | vendorInformationAddress | VendorInformationAddress | МногоязычнаяСтрока |
|
||||
| АдресКаталогаОбновлений | updateCatalogAddress | UpdateCatalogAddress | |
|
||||
| ВариантВстроенногоЯзыка | scriptVariant | ScriptVariant | |
|
||||
| Версия | version | Version | |
|
||||
| ВключатьСправкуВСодержание | includeHelpInContents | IncludeHelpInContents | |
|
||||
| ДополнительнаяФормаКонстант | auxiliaryConstantsForm | AuxiliaryConstantsForm | |
|
||||
| ДополнительныеСловариПолнотекстовогоПоиска | additionalFullTextSearchDictionaries | AdditionalFullTextSearchDictionaries | |
|
||||
| Заставка | splash | Splash | |
|
||||
| ИнтерфейсКлиентскогоПриложения | clientApplicationInterface | ClientApplicationInterface | |
|
||||
| ИспользоватьОбычныеФормыВУправляемомПриложении | useOrdinaryFormInManagedApplication | UseOrdinaryFormInManagedApplication | |
|
||||
| ИспользоватьУправляемыеФормыВОбычномПриложении | useManagedFormInOrdinaryApplication | UseManagedFormInOrdinaryApplication | |
|
||||
| КартинкаОсновногоРаздела | mainSectionPicture | MainSectionPicture | |
|
||||
| КомандныйИнтерфейс | commandInterface | CommandInterface | |
|
||||
| КомандныйИнтерфейсОсновногоРаздела | mainSectionCommandInterface | MainSectionCommandInterface | |
|
||||
| КраткаяИнформация | briefInformation | BriefInformation | МногоязычнаяСтрока |
|
||||
| Логотип | logo | Logo | |
|
||||
| МодульВнешнегоСоединения | externalConnectionModule | ExternalConnectionModule | |
|
||||
| МодульОбычногоПриложения | ordinaryApplicationModule | OrdinaryApplicationModule | |
|
||||
| МодульСеанса | sessionModule | SessionModule | |
|
||||
| МодульУправляемогоПриложения | managedApplicationModule | ManagedApplicationModule | |
|
||||
| НазначениеРасширенияКонфигурации | configurationExtensionPurpose | ConfigurationExtensionPurpose | |
|
||||
| НазначенияИспользования | usePurposes | UsePurposes | |
|
||||
| ОсновнаяФормаВариантаОтчета | defaultReportVariantForm | DefaultReportVariantForm | |
|
||||
| ОсновнаяФормаКонстант | defaultConstantsForm | DefaultConstantsForm | |
|
||||
| ОсновнаяФормаНастроекДинамическогоСписка | defaultDynamicListSettingsForm | DefaultDynamicListSettingsForm | |
|
||||
| ОсновнаяФормаНастроекОтчета | defaultReportSettingsForm | DefaultReportSettingsForm | |
|
||||
| ОсновнаяФормаОтчета | defaultReportForm | DefaultReportForm | |
|
||||
| ОсновнаяФормаПоиска | defaultSearchForm | DefaultSearchForm | |
|
||||
| ОсновнойИнтерфейс | defaultInterface | DefaultInterface | |
|
||||
| ОсновнойРежимЗапуска | defaultRunMode | DefaultRunMode | |
|
||||
| ОсновнойСтиль | defaultStyle | DefaultStyle | |
|
||||
| ОсновнойЯзык | defaultLanguage | DefaultLanguage | |
|
||||
| ОсновныеРоли | defaultRoles | DefaultRoles | |
|
||||
| ПодробнаяИнформация | detailedInformation | DetailedInformation | МногоязычнаяСтрока |
|
||||
| Поставщик | vendor | Vendor | |
|
||||
| ПрефиксИмен | namePrefix | NamePrefix | |
|
||||
| ПринадлежностьОбъекта | objectBelonging | ObjectBelonging | |
|
||||
| РабочаяОбластьНачальнойСтраницы | homePageWorkArea | HomePageWorkArea | |
|
||||
| РежимАвтонумерацииОбъектов | objectAutonumerationMode | ObjectAutonumerationMode | |
|
||||
| РежимИспользованияМодальности | modalityUseMode | ModalityUseMode | |
|
||||
| РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент | synchronousPlatformExtensionAndAddInCallUseMode | SynchronousPlatformExtensionAndAddInCallUseMode | |
|
||||
| РежимОсновногоОкнаКлиентскогоПриложения | mainClientApplicationWindowMode | MainClientApplicationWindowMode | |
|
||||
| РежимСовместимости | compatibilityMode | CompatibilityMode | |
|
||||
| РежимСовместимостиИнтерфейса | interfaceCompatibilityMode | InterfaceCompatibilityMode | |
|
||||
| РежимСовместимостиРасширенияКонфигурации | configurationExtensionCompatibilityMode | ConfigurationExtensionCompatibilityMode | |
|
||||
| РежимУправленияБлокировкойДанных | dataLockControlMode | DataLockControlMode | |
|
||||
| РодительскиеКонфигурации | parentConfigurations | ParentConfigurations | |
|
||||
| Справка | help | Help | |
|
||||
| ТребуемыеРазрешенияМобильногоПриложения | requiredMobileApplicationPermissions | RequiredMobileApplicationPermissions | |
|
||||
| ФрагментКомандногоИнтерфейса | commandInterfaceFragment | CommandInterfaceFragment | |
|
||||
| ХранилищеВариантовОтчетов | reportsVariantsStorage | ReportsVariantsStorage | |
|
||||
| ХранилищеНастроекДанныхФорм | formDataSettingsStorage | FormDataSettingsStorage | |
|
||||
| ХранилищеОбщихНастроек | commonSettingsStorage | CommonSettingsStorage | |
|
||||
| ХранилищеПользовательскихНастроекДинамическихСписков | dynamicListsUserSettingsStorage | DynamicListsUserSettingsStorage | |
|
||||
| ХранилищеПользовательскихНастроекОтчетов | reportsUserSettingsStorage | ReportsUserSettingsStorage | |
|
||||
|
||||
## Реквизиты Extension
|
||||
|
||||
@ -24,6 +79,18 @@
|
||||
| ПрефиксИмен | namePrefix | NamePrefix | |
|
||||
| Назначение | ConfigurationExtensionPurpose | ConfigurationExtensionPurpose | |
|
||||
|
||||
## Реквизиты Subsystem
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| --------------------------- | ------------------------- | ------------------------- | ------------------- |
|
||||
| Наименование | name | Name | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Комментарий | comment | Comment | |
|
||||
| ВключатьВКомандныйИнтерфейс | IncludeInCommandInterface | IncludeInCommandInterface | ЗначениеБулево |
|
||||
| ВключатьВСодержимоеСправки | IncludeHelpInContents | IncludeHelpInContents | ЗначениеБулево |
|
||||
| Пояснение | Explanation | Explanation | МногоязычнаяСтрока |
|
||||
| Состав | Content | Content | СоставПодсистемы |
|
||||
|
||||
## Реквизиты CommonModule
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования | ЗначениеПоУмолчанию |
|
||||
@ -39,3 +106,37 @@
|
||||
| ВызовСервера | ServerCall | ServerCall | ЗначениеБулево | false |
|
||||
| Привилегированный | Privileged | Privileged | ЗначениеБулево | false |
|
||||
| ПовторноеИспользование | ReturnValuesReuse | ReturnValuesReuse | | DontUse |
|
||||
|
||||
## Реквизиты ExchangePlan
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования | ЗначениеПоУмолчанию |
|
||||
| ----------------------- | ------------------------- | ------------------------- | ------------------- | ------------------- |
|
||||
| Наименование | name | Name | | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока | |
|
||||
| Комментарий | comment | Comment | | |
|
||||
| Глобальный | global | Global | ЗначениеБулево | false |
|
||||
| Клиент | clientManagedApplication | ClientManagedApplication | ЗначениеБулево | false |
|
||||
| КлиентОбычноеПриложение | ClientOrdinaryApplication | ClientOrdinaryApplication | ЗначениеБулево | false |
|
||||
| Сервер | server | Server | ЗначениеБулево | true |
|
||||
| ВнешнееСоединение | ExternalConnection | ExternalConnection | ЗначениеБулево | false |
|
||||
| ВызовСервера | ServerCall | ServerCall | ЗначениеБулево | false |
|
||||
| Привилегированный | Privileged | Privileged | ЗначениеБулево | false |
|
||||
| ПовторноеИспользование | ReturnValuesReuse | ReturnValuesReuse | | DontUse |
|
||||
|
||||
## Реквизиты Document
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| ------------ | ---------- | --------------- | ------------------- |
|
||||
| Наименование | name | Name | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Комментарий | comment | Comment | |
|
||||
|
||||
## Реквизиты Constant
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| ------------ | ----------- | --------------- | ------------------- |
|
||||
| Наименование | name | Name | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Комментарий | comment | Comment | |
|
||||
| Тип | type | type | ПолучитьТип |
|
||||
| Пояснение | explanation | Explanation | МногоязычнаяСтрока |
|
||||
|
77
src/Модули/ПараметрыПродукта.os
Normal file
77
src/Модули/ПараметрыПродукта.os
Normal file
@ -0,0 +1,77 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Служебный модуль с набором служебных параметров библиотеки
|
||||
//
|
||||
// При создании новой библиотеки обязательно внести изменение
|
||||
// в ф-ии ИмяПродукта, указав имя вашей библиотеки.
|
||||
//
|
||||
// При выпуске новой версии обязательно изменить ее значение
|
||||
// в ф-ии ВерсияПродукта
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#Использовать logos
|
||||
|
||||
Перем Лог;
|
||||
|
||||
// ИмяПродукта
|
||||
// Возвращает имя продукта
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Значение имени продукта
|
||||
//
|
||||
Функция ИмяПродукта() Экспорт
|
||||
|
||||
Возврат "bsl-parser";
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает текущую версию продукта
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Значение текущей версии продукта
|
||||
//
|
||||
Функция ВерсияПродукта() Экспорт
|
||||
|
||||
Возврат "2.0.1";
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает идентификатор лога библиотеки
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Значение идентификатора лога библиотеки
|
||||
//
|
||||
Функция ИмяЛогаСистемы() Экспорт
|
||||
|
||||
Возврат "oscript.lib." + ИмяПродукта();
|
||||
|
||||
КонецФункции // ИмяЛогаСистемы
|
||||
|
||||
// Форматирование логов
|
||||
// См. описание метода "УстановитьРаскладку" библиотеки logos
|
||||
//
|
||||
Функция Форматировать(Знач Уровень, Знач Сообщение) Экспорт
|
||||
|
||||
Возврат СтрШаблон("%1: %2 - %3", ТекущаяДата(), УровниЛога.НаименованиеУровня(Уровень), Сообщение);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает лог продукта
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Лог - Лог продукта
|
||||
//
|
||||
Функция ПолучитьЛог() Экспорт
|
||||
|
||||
Если Лог = Неопределено Тогда
|
||||
|
||||
Лог = Логирование.ПолучитьЛог(ИмяЛогаСистемы());
|
||||
Лог.УстановитьРаскладку(ЭтотОбъект);
|
||||
Лог.УстановитьУровень(УровниЛога.Отладка);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Лог;
|
||||
|
||||
КонецФункции
|
@ -51,7 +51,7 @@
|
||||
|
||||
Каталог = КаталогВидаОбъекта(ТипыОбъектовКонфигурации.ИмяТипаКонфигурации());
|
||||
|
||||
ИначеЕсли ВидОбъекта = ТипыОбъектовКонфигурации.ИмяТипаПодсистемы() И СтрНайти(ИмяОбъекта, ".") Тогда
|
||||
ИначеЕсли ВидОбъекта = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() И СтрНайти(ИмяОбъекта, ".") Тогда
|
||||
|
||||
Каталог = КаталогИсходников;
|
||||
Для Каждого Часть Из СтрРазделить(ИмяОбъекта, ".") Цикл
|
||||
@ -182,13 +182,13 @@
|
||||
// Возвращаемое значение:
|
||||
// Строка - Путь к файлу
|
||||
//
|
||||
Функция ИмяФайлаОписанияОбъекта(ИмяОбъекта, ВидОбъекта) Экспорт
|
||||
Функция ИмяФайлаОписанияОбъекта(Знач ИмяОбъекта, ВидОбъекта) Экспорт
|
||||
|
||||
Если ЭтоФорматEDT Тогда
|
||||
|
||||
КаталогОписаний = КаталогФайловОбъекта(ИмяОбъекта, ВидОбъекта);
|
||||
|
||||
ИначеЕсли ВидОбъекта = ТипыОбъектовКонфигурации.ИмяТипаПодсистемы() И СтрНайти(ИмяОбъекта, ".") Тогда
|
||||
ИначеЕсли ВидОбъекта = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() И СтрНайти(ИмяОбъекта, ".") Тогда
|
||||
|
||||
КаталогОписаний = КаталогФайловОбъекта(ИмяОбъекта, ВидОбъекта);
|
||||
|
||||
|
60
src/Общее/Модули/ПараметрыСериализации.os
Normal file
60
src/Общее/Модули/ПараметрыСериализации.os
Normal file
@ -0,0 +1,60 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Модуль содержащий методы определения параметров чтения/записи объектов
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Функция ПараметрыСериализации(ТипОбъекта, Формат) Экспорт
|
||||
|
||||
ДанныеОписания = Новый Структура("Тип, Свойства, ЕстьПодчиненные, ЕстьЗначенияПоУмолчанию");
|
||||
|
||||
ОписаниеОбъекта = СтруктурыОписаний.ОписаниеСвойствОбъекта(ТипОбъекта);
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ДанныеОписания, ОписаниеОбъекта, , "Свойства");
|
||||
|
||||
РеквизитыСвойства = "Наименование, МетодПреобразования, Поле";
|
||||
|
||||
РеквизитИмениПоля = ?(Формат = "EDT", "ЭлементEDT", "ЭлементDesigner");
|
||||
|
||||
Если ОписаниеОбъекта.ЕстьЗначенияПоУмолчанию Тогда
|
||||
РеквизитыСвойства = РеквизитыСвойства + ", ЗначенияПоУмолчанию";
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеОписания.Свойства = Новый Структура();
|
||||
|
||||
Для Каждого Свойство Из ОписаниеОбъекта.Свойства Цикл
|
||||
|
||||
ОписаниеСвойства = Новый Структура(РеквизитыСвойства);
|
||||
ЗаполнитьЗначенияСвойств(ОписаниеСвойства, Свойство);
|
||||
|
||||
ОписаниеСвойства.Поле = Свойство[РеквизитИмениПоля];
|
||||
ДанныеОписания.Свойства.Вставить(Свойство.Наименование, ОписаниеСвойства);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Для Каждого Стр Из ОписаниеОбъекта.Свойства Цикл
|
||||
|
||||
// ДобавитьВОписание(ДанныеОписания, Стр.Наименование, Стр.ЭлементDesigner, , Стр.МетодПреобразования);
|
||||
|
||||
// КонецЦикла;
|
||||
|
||||
// Возврат ДанныеОписания;
|
||||
|
||||
Возврат ДанныеОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Процедура ДобавитьВОписание(Описание, Имя, ИмяПоля, Многоязычный = Ложь, МетодПреобразования = Неопределено, Коллекция = Ложь)
|
||||
|
||||
Описание.Вставить(Имя, Новый Структура("Поле, Многоязычный, МетодПреобразования, Коллекция", ИмяПоля, Многоязычный, МетодПреобразования, Коллекция));
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -5,6 +5,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Перем СвойстваОбъектов;
|
||||
Перем ПолученныеОписанияОбъектов;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||
@ -62,204 +63,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОписанияОбъектовКонфигурации
|
||||
|
||||
Функция ОписаниеКонстанты() Экспорт
|
||||
|
||||
ДанныеОписания = БазовоеОписание();
|
||||
ДобавитьВОписание(ДанныеОписания, "Тип", "type", , "ПолучитьТип");
|
||||
ДобавитьВОписание(ДанныеОписания, "Пояснение", "Explanation", Истина);
|
||||
|
||||
Возврат ДанныеОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеКонфигурации() Экспорт
|
||||
|
||||
ДанныеОписания = БазовоеОписание();
|
||||
ДобавитьВОписание(ДанныеОписания, "АвторскиеПрава", "Copyright", Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "АдресИнформацииОКонфигурации", "ConfigurationInformationAddress", Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "АдресИнформацииОПоставщике", "VendorInformationAddress", Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "АдресКаталогаОбновлений", "UpdateCatalogAddress");
|
||||
ДобавитьВОписание(ДанныеОписания, "ВариантВстроенногоЯзыка", "ScriptVariant");
|
||||
ДобавитьВОписание(ДанныеОписания, "Версия", "Version");
|
||||
ДобавитьВОписание(ДанныеОписания, "ВключатьСправкуВСодержание", "IncludeHelpInContents");
|
||||
ДобавитьВОписание(ДанныеОписания, "ДополнительнаяФормаКонстант", "AuxiliaryConstantsForm");
|
||||
ДобавитьВОписание(ДанныеОписания, "ДополнительныеСловариПолнотекстовогоПоиска", "AdditionalFullTextSearchDictionaries");
|
||||
ДобавитьВОписание(ДанныеОписания, "Заставка", "Splash");
|
||||
ДобавитьВОписание(ДанныеОписания, "ИнтерфейсКлиентскогоПриложения", "ClientApplicationInterface");
|
||||
ДобавитьВОписание(ДанныеОписания, "ИспользоватьОбычныеФормыВУправляемомПриложении", "UseOrdinaryFormInManagedApplication");
|
||||
ДобавитьВОписание(ДанныеОписания, "ИспользоватьУправляемыеФормыВОбычномПриложении", "UseManagedFormInOrdinaryApplication");
|
||||
ДобавитьВОписание(ДанныеОписания, "КартинкаОсновногоРаздела", "MainSectionPicture");
|
||||
ДобавитьВОписание(ДанныеОписания, "КомандныйИнтерфейс", "CommandInterface");
|
||||
ДобавитьВОписание(ДанныеОписания, "КомандныйИнтерфейсОсновногоРаздела", "MainSectionCommandInterface");
|
||||
ДобавитьВОписание(ДанныеОписания, "КраткаяИнформация", "BriefInformation", Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Логотип", "Logo");
|
||||
ДобавитьВОписание(ДанныеОписания, "МодульВнешнегоСоединения", "ExternalConnectionModule");
|
||||
ДобавитьВОписание(ДанныеОписания, "МодульОбычногоПриложения", "OrdinaryApplicationModule");
|
||||
ДобавитьВОписание(ДанныеОписания, "МодульСеанса", "SessionModule");
|
||||
ДобавитьВОписание(ДанныеОписания, "МодульУправляемогоПриложения", "ManagedApplicationModule");
|
||||
ДобавитьВОписание(ДанныеОписания, "НазначениеРасширенияКонфигурации", "ConfigurationExtensionPurpose");
|
||||
ДобавитьВОписание(ДанныеОписания, "НазначенияИспользования", "UsePurposes");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнаяФормаВариантаОтчета", "DefaultReportVariantForm");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнаяФормаКонстант", "DefaultConstantsForm");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнаяФормаНастроекДинамическогоСписка", "DefaultDynamicListSettingsForm");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнаяФормаНастроекОтчета", "DefaultReportSettingsForm");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнаяФормаОтчета", "DefaultReportForm");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнаяФормаПоиска", "DefaultSearchForm");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнойИнтерфейс", "DefaultInterface");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнойРежимЗапуска", "DefaultRunMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнойСтиль", "DefaultStyle");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновнойЯзык", "DefaultLanguage");
|
||||
ДобавитьВОписание(ДанныеОписания, "ОсновныеРоли", "DefaultRoles");
|
||||
ДобавитьВОписание(ДанныеОписания, "ПодробнаяИнформация", "DetailedInformation", Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Поставщик", "Vendor");
|
||||
ДобавитьВОписание(ДанныеОписания, "ПрефиксИмен", "NamePrefix");
|
||||
ДобавитьВОписание(ДанныеОписания, "ПринадлежностьОбъекта", "ObjectBelonging");
|
||||
ДобавитьВОписание(ДанныеОписания, "РабочаяОбластьНачальнойСтраницы", "HomePageWorkArea");
|
||||
ДобавитьВОписание(ДанныеОписания, "РежимАвтонумерацииОбъектов", "ObjectAutonumerationMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "РежимИспользованияМодальности", "ModalityUseMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент", "SynchronousPlatformExtensionAndAddInCallUseMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "РежимОсновногоОкнаКлиентскогоПриложения", "MainClientApplicationWindowMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "РежимСовместимости", "CompatibilityMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "РежимСовместимостиИнтерфейса", "InterfaceCompatibilityMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "РежимСовместимостиРасширенияКонфигурации", "ConfigurationExtensionCompatibilityMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "РежимУправленияБлокировкойДанных", "DataLockControlMode");
|
||||
ДобавитьВОписание(ДанныеОписания, "РодительскиеКонфигурации", "ParentConfigurations");
|
||||
ДобавитьВОписание(ДанныеОписания, "Справка", "Help");
|
||||
ДобавитьВОписание(ДанныеОписания, "ТребуемыеРазрешенияМобильногоПриложения", "RequiredMobileApplicationPermissions");
|
||||
ДобавитьВОписание(ДанныеОписания, "ФрагментКомандногоИнтерфейса", "CommandInterfaceFragment");
|
||||
ДобавитьВОписание(ДанныеОписания, "ХранилищеВариантовОтчетов", "ReportsVariantsStorage");
|
||||
ДобавитьВОписание(ДанныеОписания, "ХранилищеНастроекДанныхФорм", "FormDataSettingsStorage");
|
||||
ДобавитьВОписание(ДанныеОписания, "ХранилищеОбщихНастроек", "CommonSettingsStorage");
|
||||
ДобавитьВОписание(ДанныеОписания, "ХранилищеПользовательскихНастроекДинамическихСписков", "DynamicListsUserSettingsStorage");
|
||||
ДобавитьВОписание(ДанныеОписания, "ХранилищеПользовательскихНастроекОтчетов", "ReportsUserSettingsStorage");
|
||||
|
||||
ДобавитьВОписание(ДанныеОписания, "HTTPСервисы", "HTTPServices", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "WebСервисы", "WebServices", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "WSСсылки", "WSReferences", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "БизнесПроцессы", "businessProcesses", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ВнешниеИсточникиДанных", "ExternalDataSources", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ГруппыКоманд", "CommandGroups", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Документы", "Documents", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ЖурналыДокументов", "DocumentJournals", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Задачи", "Tasks", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Интерфейсы", "Interfaces", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Константы", "Constants", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "КритерииОтбора", "FilterCriteria", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "НумераторыДокументов", "DocumentNumerators", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Обработки", "DataProcessors", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ОбщиеКартинки", "CommonPictures", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ОбщиеКоманды", "CommonCommands", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ОбщиеМакеты", "CommonTemplates", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ОбщиеМодули", "CommonModules", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ОбщиеРеквизиты", "CommonAttributes", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ОбщиеФормы", "CommonForms", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ОпределяемыеТипы", "DefinedTypes", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Отчеты", "Reports", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ПакетыXDTO", "XDTOPackages", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ПараметрыСеанса", "SessionParameters", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ПараметрыФункциональныхОпций", "FunctionalOptionsParameters", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Перечисления", "Enums", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ПланыВидовРасчета", "ChartsOfCalculationTypes", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ПланыВидовХарактеристик", "ChartsOfCharacteristicTypes", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ПланыОбмена", "ExchangePlans", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ПланыСчетов", "ChartsOfAccounts", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ПодпискиНаСобытия", "EventSubscriptions", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Подсистемы", "Subsystems", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Последовательности", "Sequences", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "РегистрыБухгалтерии", "AccountingRegisters", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "РегистрыНакопления", "AccumulationRegisters", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "РегистрыРасчета", "CalculationRegisters", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "РегистрыСведений", "InformationRegisters", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "РегламентныеЗадания", "ScheduledJobs", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Роли", "Roles", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Справочники", "Catalogs", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Стили", "Styles", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ФункциональныеОпции", "FunctionalOptions", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ХранилищаНастроек", "SettingsStorages", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "ЭлементыСтиля", "StyleItems", , , Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Языки", "Languages", , , Истина);
|
||||
|
||||
Возврат ДанныеОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеПодсистемы() Экспорт
|
||||
|
||||
ДанныеОписания = БазовоеОписание();
|
||||
|
||||
ДобавитьВОписание(ДанныеОписания, "ВключатьВКомандныйИнтерфейс", "IncludeInCommandInterface");
|
||||
ДобавитьВОписание(ДанныеОписания, "ВключатьВСодержимоеСправки", "IncludeHelpInContents");
|
||||
ДобавитьВОписание(ДанныеОписания, "Пояснение", "Explanation", Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Картинка", "Picture");
|
||||
ДобавитьВОписание(ДанныеОписания, "Состав", "Content", , "ПрочитатьСостав", Истина);
|
||||
|
||||
Возврат ДанныеОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция БазовоеОписание() Экспорт
|
||||
|
||||
ДанныеОписания = Новый Структура();
|
||||
ДобавитьВОписание(ДанныеОписания, "Наименование", "Name");
|
||||
ДобавитьВОписание(ДанныеОписания, "Синоним", "Synonym", Истина);
|
||||
ДобавитьВОписание(ДанныеОписания, "Комментарий", "Comment");
|
||||
|
||||
Возврат ДанныеОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОписаниеСвойствОбъекта(ТипОбъекта) Экспорт
|
||||
|
||||
ДанныеОписания = Новый Структура();
|
||||
|
||||
Для Каждого Стр Из ОписаниеСвойствОбъекта(ТипОбъекта) Цикл
|
||||
|
||||
ДобавитьВОписание(ДанныеОписания, Стр.Наименование, Стр.ЭлементDesigner, , Стр.МетодПреобразования);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ДанныеОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
Функция ИменаТиповМетаданных() Экспорт
|
||||
|
||||
Возврат
|
||||
"languages,
|
||||
|subsystems,
|
||||
|commonPictures,
|
||||
|sessionParameters,
|
||||
|roles,
|
||||
|commonTemplates,
|
||||
|filterCriteria,
|
||||
|commonModules,
|
||||
|commonAttributes,
|
||||
|exchangePlans,
|
||||
|xDTOPackages,
|
||||
|webServices,
|
||||
|httpServices,
|
||||
|eventSubscriptions,
|
||||
|scheduledJobs,
|
||||
|functionalOptions,
|
||||
|functionalOptionsParameters,
|
||||
|definedTypes,
|
||||
|commonCommands,
|
||||
|commandGroups,
|
||||
|constants,
|
||||
|commonForms,
|
||||
|catalogs,
|
||||
|enums,
|
||||
|reports,
|
||||
|dataProcessors,
|
||||
|informationRegisters,
|
||||
|chartsOfCharacteristicTypes";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеОбъектаКонфигурацииЗначенияПоУмолчанию() Экспорт
|
||||
|
||||
Возврат Новый Структура(
|
||||
@ -270,21 +73,13 @@
|
||||
|
||||
Функция СоздатьСтруктураОбъекта(ТипОбъекта) Экспорт
|
||||
|
||||
Свойства = ОписаниеСвойствОбъекта(ТипОбъекта);
|
||||
ОписаниеОбъекта = ОписаниеСвойствОбъекта(ТипОбъекта);
|
||||
|
||||
Если Свойства = Неопределено Тогда
|
||||
|
||||
Свойства = БазовоеОписаниеСвойствОбъекта();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЕстьЗначенияПоУмолчанию = Свойства.Колонки.Найти("ЗначениеПоУмолчанию") <> Неопределено;
|
||||
|
||||
Данные = Новый Структура();
|
||||
|
||||
Для Каждого Описание Из Свойства Цикл
|
||||
Для Каждого Описание Из ОписаниеОбъекта.Свойства Цикл
|
||||
|
||||
Если ЕстьЗначенияПоУмолчанию Тогда
|
||||
Если ОписаниеОбъекта.ЕстьЗначенияПоУмолчанию Тогда
|
||||
|
||||
Данные.Вставить(Описание.Наименование, Описание.ЗначениеПоУмолчанию);
|
||||
|
||||
@ -295,15 +90,59 @@
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ОписаниеОбъекта.ЕстьПодчиненные Тогда
|
||||
|
||||
Данные.Вставить("Подчиненные", Новый Массив());
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Данные;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СоздатьСокращеннуюСтруктураОбъекта(ТипОбъекта) Экспорт
|
||||
|
||||
ОписаниеОбъекта = ОписаниеСвойствОбъекта(ТипОбъекта);
|
||||
|
||||
Данные = Новый Структура("Наименование", "");
|
||||
|
||||
Если ОписаниеОбъекта.ЕстьПодчиненные Тогда
|
||||
|
||||
Данные.Вставить("Подчиненные", Новый Массив());
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Данные;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеСвойствОбъекта(ТипОбъекта) Экспорт
|
||||
|
||||
Если ПолученныеОписанияОбъектов[ТипОбъекта] <> Неопределено Тогда
|
||||
|
||||
Возврат ПолученныеОписанияОбъектов[ТипОбъекта];
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Свойства = СвойстваОбъектов[ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта)];
|
||||
|
||||
Возврат СвойстваОбъектов[ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта)];
|
||||
|
||||
Если Свойства = Неопределено Тогда
|
||||
|
||||
Свойства = БазовоеОписаниеСвойствОбъекта();
|
||||
ПараметрыПродукта.ПолучитьЛог().Предупреждение("Нет описания типа %1. Использовано описание по-умолчанию", ТипОбъекта);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеОбъекта = Новый Структура("Тип, Свойства, ЕстьПодчиненные, ЕстьЗначенияПоУмолчанию", ТипОбъекта);
|
||||
ОписаниеОбъекта.Свойства = Свойства;
|
||||
ОписаниеОбъекта.ЕстьПодчиненные = ТипыОбъектовКонфигурации.ОписаниеТипаПоИмени(ТипОбъекта).ЕстьПодчиненные = "true";
|
||||
ОписаниеОбъекта.ЕстьЗначенияПоУмолчанию = Свойства.Колонки.Найти("ЗначениеПоУмолчанию") <> Неопределено;
|
||||
|
||||
ПолученныеОписанияОбъектов.Вставить(ТипОбъекта, ОписаниеОбъекта);
|
||||
|
||||
Возврат ОписаниеОбъекта;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция БазовоеОписаниеСвойствОбъекта() Экспорт
|
||||
@ -312,18 +151,10 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Процедура ДобавитьВОписание(Описание, Имя, ИмяПоля, Многоязычный = Ложь, ФункцияПреобразования = Неопределено, Коллекция = Ложь)
|
||||
|
||||
Описание.Вставить(Имя, Новый Структура("Поле, Многоязычный, ФункцияПреобразования, Коллекция", ИмяПоля, Многоязычный, ФункцияПреобразования, Коллекция));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗагрузитьСвойстваОбъектов()
|
||||
|
||||
ФайлОписаний = ОбъединитьПути(Утилиты.КаталогМакеты(), "СвойстваОбъектов.md");
|
||||
@ -356,4 +187,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
ПолученныеОписанияОбъектов = Новый Соответствие();
|
||||
|
||||
ЗагрузитьСвойстваОбъектов();
|
@ -52,12 +52,30 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает имя типа по-русски
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТипаОбъектаКонфигурации - Строка - Имя типа объекта, например, Справочник, Document, Перечисления
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Имя типа по-русски
|
||||
//
|
||||
Функция ПолучитьИмяТипаНаРусском(ИмяТипаОбъектаКонфигурации) Экспорт
|
||||
|
||||
ОписаниеТипа = ОписаниеТипаПоИмени(ИмяТипаОбъектаКонфигурации);
|
||||
|
||||
Возврат ?(ОписаниеТипа = Неопределено, ИмяТипаОбъектаКонфигурации, ОписаниеТипа.Наименование);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ИменаТиповОбъектовКонфигурации
|
||||
|
||||
// Возвращает имя типа подсистемы
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Имя типа
|
||||
//
|
||||
Функция ИмяТипаПодсистемы() Экспорт
|
||||
Функция ИмяТипаПодсистема() Экспорт
|
||||
|
||||
Возврат НормализоватьИмя("Подсистемы");
|
||||
|
||||
@ -85,6 +103,14 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИмяТипаПланОбмена() Экспорт
|
||||
|
||||
Возврат НормализоватьИмя("ПланОбмена");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
// Возвращает имя типа конфигурации
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
@ -96,22 +122,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает имя типа по-русски
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТипаОбъектаКонфигурации - Строка - Имя типа объекта, например, Справочник, Document, Перечисления
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Имя типа по-русски
|
||||
//
|
||||
Функция ПолучитьИмяТипаНаРусском(ИмяТипаОбъектаКонфигурации) Экспорт
|
||||
|
||||
ОписаниеТипа = ОписаниеТипаПоИмени(ИмяТипаОбъектаКонфигурации);
|
||||
|
||||
Возврат ?(ОписаниеТипа = Неопределено, ИмяТипаОбъектаКонфигурации, ОписаниеТипа.Наименование);
|
||||
|
||||
КонецФункции
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
Перем СтруктураКаталогов;
|
||||
Перем ЧитательОписаний;
|
||||
Перем ЧитательМодулей;
|
||||
Перем ОписаниеКонфигурации;
|
||||
Перем ДанныеКонфигурации;
|
||||
|
||||
@ -28,6 +27,7 @@
|
||||
//
|
||||
Процедура ПрочитатьСтруктуруКонфигурации() Экспорт
|
||||
|
||||
|
||||
ОписаниеКонфигурации = ПрочитатьОписаниеКонфигурации();
|
||||
|
||||
ЗаполнитьПодсистемыОбъектовКонфигурации();
|
||||
@ -101,21 +101,17 @@
|
||||
//
|
||||
Функция ПрочитатьОписаниеКонстант() Экспорт
|
||||
|
||||
Фильтр = Новый Структура("Тип", "Constant");
|
||||
|
||||
СтрокиКонстант = ОписаниеКонфигурации.ОбъектыКонфигурации.НайтиСтроки(Фильтр);
|
||||
|
||||
МассивОписанийКонстант = Новый Массив;
|
||||
|
||||
Для Каждого Объект Из СтрокиКонстант Цикл
|
||||
|
||||
ОписаниеИзXML = ПолучитьОписаниеКонстанты(Объект.ПутьКФайлу);
|
||||
Для Каждого Объект Из ОписаниеКонфигурации.ПолучитьОбъектыТипа("Constant") Цикл
|
||||
|
||||
ОписаниеИзXML = ПрочитатьФайлОписанияОбъекта(Объект.ПутьКФайлу, "Constant");
|
||||
|
||||
ОписаниеКонстанты = Новый Структура("Имя, Тип, Описание, Подсистема, ПодсистемаПредставление");
|
||||
|
||||
ОписаниеКонстанты.Имя = Объект.Наименование;
|
||||
ОписаниеКонстанты.Тип = ОписаниеИзXML.ТипКонстанты;
|
||||
ОписаниеКонстанты.Описание = ОписаниеИзXML.ТекстОписания;
|
||||
ОписаниеКонстанты.Имя = ОписаниеИзXML.Наименование;
|
||||
ОписаниеКонстанты.Тип = ОписаниеИзXML.Тип;
|
||||
ОписаниеКонстанты.Описание = ОписаниеИзXML.Пояснение;
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.Подсистемы) Тогда
|
||||
ОписаниеКонстанты.Подсистема = Объект.Подсистемы[0].Имя;
|
||||
@ -213,10 +209,7 @@
|
||||
|
||||
Процедура ПрочитатьОписаниеОбъекта(ОбъектКонфигурации) Экспорт
|
||||
|
||||
ПараметрыЧтения = СтруктурыОписаний.ПолучитьОписаниеСвойствОбъекта(ОбъектКонфигурации.Тип);
|
||||
|
||||
Описание = ЧитательОписаний.ПрочитатьСвойстваИзФайла(ОбъектКонфигурации.ПутьКФайлу, ПараметрыЧтения);
|
||||
ОбъектКонфигурации.Описание = Описание;
|
||||
ОбъектКонфигурации.Описание = ПрочитатьФайлОписанияОбъекта(ОбъектКонфигурации.ПутьКФайлу, ОбъектКонфигурации.Тип);
|
||||
|
||||
КонецПроцедуры
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
@ -232,12 +225,11 @@
|
||||
ВызватьИсключение СтрШаблон("Файл описания конфигурации ""%1"" не обнаружен", ФайлКонфигурации);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеКонфигурации = ЧитательОписаний.ПрочитатьОписаниеКонфигурации(ФайлКонфигурации);
|
||||
|
||||
СвойстваКонфигурации = ОписаниеКонфигурации.СвойстваКонфигурации;
|
||||
ОбъектыКонфигурации = ОписаниеКонфигурации.ОбъектыКонфигурации;
|
||||
|
||||
ОписаниеКонфигурации = ПрочитатьФайлОписанияОбъекта(ФайлКонфигурации, ТипыОбъектовКонфигурации.ИмяТипаКонфигурации());
|
||||
|
||||
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
||||
|
||||
// добавим руками объект "Configuration" для модулей приложения
|
||||
ПустаяСтрокаОбъектКонфигурации = СтруктурыОписаний.ОписаниеОбъектаКонфигурацииЗначенияПоУмолчанию();
|
||||
НовСтрока = ОбъектыКонфигурации.Добавить();
|
||||
@ -246,7 +238,39 @@
|
||||
НовСтрока.Наименование = НовСтрока.Тип;
|
||||
НовСтрока.ПутьКФайлу = ФайлКонфигурации;
|
||||
|
||||
Возврат Новый Структура("СвойстваКонфигурации, ОбъектыКонфигурации", СвойстваКонфигурации, ОбъектыКонфигурации);
|
||||
Для Каждого Подчиненный Из ОписаниеКонфигурации.Подчиненные Цикл
|
||||
|
||||
ЧастиИмени = СтрРазделить(Подчиненный, ".");
|
||||
|
||||
НовСтрока = ОбъектыКонфигурации.Добавить();
|
||||
|
||||
НовСтрока.Тип = ТипыОбъектовКонфигурации.НормализоватьИмя(ЧастиИмени[0]);
|
||||
НовСтрока.Наименование = ЧастиИмени[1];
|
||||
НовСтрока.ПолноеНаименование = Подчиненный;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ОписаниеКонфигурации.Удалить("Подчиненные");
|
||||
|
||||
Возврат Новый Структура("СвойстваКонфигурации, ОбъектыКонфигурации", ОписаниеКонфигурации, ОбъектыКонфигурации);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПрочитатьФайлОписанияОбъекта(ПутьКФайлу, ТипОбъекта)
|
||||
|
||||
ПараметрыЧтения = ПараметрыСериализации.ПараметрыСериализации(ТипОбъекта, ФорматВыгрузки());
|
||||
|
||||
Описание = ЧитательОписаний.ПрочитатьСвойстваИзФайла(ПутьКФайлу, ПараметрыЧтения);
|
||||
|
||||
Возврат Описание;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбъектыТипа(Знач ТипОбъекта) Экспорт
|
||||
|
||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||
|
||||
Возврат ОписаниеКонфигурации.ОбъектыКонфигурации.НайтиСтроки(Новый Структура("Тип", ТипОбъекта));
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -336,20 +360,6 @@
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
Функция ПолучитьОписаниеКонстанты(ПутьКФайлу)
|
||||
|
||||
ПараметрыОписанияКонстанты = СтруктурыОписаний.ОписаниеКонстанты();
|
||||
|
||||
Описание = ЧитательОписаний.ПрочитатьСвойстваИзФайла(ПутьКФайлу, ПараметрыОписанияКонстанты);
|
||||
|
||||
РезультатПоиска = Новый Структура("ТипКонстанты, ТекстОписания", Описание.Тип , Описание.Пояснение);
|
||||
|
||||
Возврат РезультатПоиска;
|
||||
|
||||
КонецФункции
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
Процедура ЗаполнитьИменаФайлов()
|
||||
|
||||
Для Каждого СтрокаОбъектКонфигурации Из ОписаниеКонфигурации.ОбъектыКонфигурации Цикл
|
||||
@ -432,38 +442,33 @@
|
||||
|
||||
ОписаниеПодсистем = СтруктурыОписаний.ТаблицаОписанияПодсистем();
|
||||
|
||||
Для Каждого ФайлыПодсистемы Из СтруктураКаталогов.НайтиФайлыПодсистем() Цикл
|
||||
|
||||
ПрочитатьПодсистему(ФайлыПодсистемы, ОписаниеПодсистем, "", "", Неопределено, Неопределено);
|
||||
Подсистемы = ПолучитьОбъектыТипа("Подсистема");
|
||||
|
||||
Для Каждого Подсистема Из Подсистемы Цикл
|
||||
|
||||
ПрочитатьПодсистему(ОписаниеПодсистем, Подсистема, Истина, Неопределено, Неопределено);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ОписаниеПодсистем;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПрочитатьПодсистему(ФайлыПодсистемы, ОписаниеПодсистем, Знач ПодсистемаИмя, Знач ПодсистемаПредставление, Знач Визуальная, Знач Родитель)
|
||||
Процедура ПрочитатьПодсистему(ОписаниеПодсистем, ОбъектКонфигурации, Знач Визуальная, Знач Родитель, РодительскаяПодсистема)
|
||||
|
||||
ТипПодсистема = ТипыОбъектовКонфигурации.ИмяТипаПодсистема();
|
||||
ИмяФайлаОписание = СтруктураКаталогов.ИмяФайлаОписанияОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
|
||||
|
||||
|
||||
СвойстваОписания = ЧитательОписаний.ПрочитатьСвойстваИзФайла(ФайлыПодсистемы.ФайлОписания, СтруктурыОписаний.ОписаниеПодсистемы());
|
||||
СвойстваОписания = ПрочитатьФайлОписанияОбъекта(ИмяФайлаОписание, ТипПодсистема);
|
||||
|
||||
ВКомандномИнтерфейсе = СвойстваОписания.ВключатьВКомандныйИнтерфейс = "true";
|
||||
ОбъектКонфигурации.Описание = СвойстваОписания;
|
||||
ОбъектКонфигурации.ПутьКФайлу = ИмяФайлаОписание;
|
||||
ОбъектКонфигурации.ПутьККаталогу = СтруктураКаталогов.КаталогФайловОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
|
||||
|
||||
Визуальная = ?(Визуальная = Неопределено, ВКомандномИнтерфейсе, Мин(Визуальная, ВКомандномИнтерфейсе));
|
||||
ПодсистемаИмя = ПодсистемаИмя + ?(ПустаяСтрока(ПодсистемаИмя), "", ".") + СвойстваОписания.Наименование;
|
||||
ПодсистемаПредставление = ПодсистемаПредставление + ?(ПустаяСтрока(ПодсистемаПредставление), "", "/") + СвойстваОписания.Синоним;
|
||||
|
||||
Если Родитель <> Неопределено Тогда // В списке объектов конфигурации подсистемы только первого уровня
|
||||
|
||||
СтрОбъект = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(СтрОбъект, СтруктурыОписаний.ОписаниеОбъектаКонфигурацииЗначенияПоУмолчанию());
|
||||
СтрОбъект.Тип = "Subsystem";
|
||||
СтрОбъект.Наименование = ПодсистемаИмя;
|
||||
СтрОбъект.ПутьКФайлу = ФайлыПодсистемы.ФайлОписания;
|
||||
СтрОбъект.ПутьККаталогу = ФайлыПодсистемы.КаталогОписания;
|
||||
СтрОбъект.Описание = СвойстваОписания;
|
||||
СтрОбъект.Родитель = ОписаниеКонфигурации.ОбъектыКонфигурации.Найти(Родитель.Имя, "Наименование");
|
||||
Визуальная = Визуальная И СвойстваОписания.ВключатьВКомандныйИнтерфейс;
|
||||
|
||||
КонецЕсли;
|
||||
ПредставлениеПодсистемы = ?(РодительскаяПодсистема = Неопределено, СвойстваОписания.Синоним, РодительскаяПодсистема.Представление + "/" + СвойстваОписания.Синоним);
|
||||
|
||||
Если СвойстваОписания.Состав.Количество() Тогда
|
||||
Состав = СвойстваОписания.Состав;
|
||||
@ -471,24 +476,29 @@
|
||||
Состав = Новый Массив();
|
||||
Состав.Добавить(Неопределено);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Для Каждого ОбъектМетаданных Из Состав Цикл
|
||||
|
||||
ЭтаПодсистема = ОписаниеПодсистем.Добавить();
|
||||
ЭтаПодсистема.Имя = ПодсистемаИмя;
|
||||
ЭтаПодсистема.Имя = ОбъектКонфигурации.Наименование;
|
||||
ЭтаПодсистема.ИмяКратко = СвойстваОписания.Наименование;
|
||||
ЭтаПодсистема.Представление = ПодсистемаПредставление;
|
||||
ЭтаПодсистема.Представление = ПредставлениеПодсистемы;
|
||||
ЭтаПодсистема.ПредставлениеКратко = СвойстваОписания.Синоним;
|
||||
ЭтаПодсистема.ПодсистемаОписание = СвойстваОписания.Комментарий;
|
||||
ЭтаПодсистема.ОбъектМетаданных = ОбъектМетаданных;
|
||||
ЭтаПодсистема.Визуальная = Визуальная;
|
||||
ЭтаПодсистема.Родитель = Родитель;
|
||||
ЭтаПодсистема.Родитель = РодительскаяПодсистема;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого ФайлыВложеннойПодсистемы Из ФайлыПодсистемы.Вложенные Цикл
|
||||
Для Каждого ПолноеИмяПодсистемы Из СвойстваОписания.Подчиненные Цикл
|
||||
|
||||
ВложеннаяПодсистема = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
||||
ВложеннаяПодсистема.Тип = ТипПодсистема;
|
||||
ВложеннаяПодсистема.Наименование = ОбъектКонфигурации.Наименование + "." + СтрРазделить(ПолноеИмяПодсистемы, ".")[1];
|
||||
ВложеннаяПодсистема.Родитель = ОбъектКонфигурации;
|
||||
|
||||
ПрочитатьПодсистему(ФайлыВложеннойПодсистемы, ОписаниеПодсистем, ПодсистемаИмя, ПодсистемаПредставление, Визуальная, ЭтаПодсистема)
|
||||
ПрочитатьПодсистему(ОписаниеПодсистем, ВложеннаяПодсистема, Визуальная, ОбъектКонфигурации, ЭтаПодсистема)
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
@ -86,63 +86,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Читает файл Configuration
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяФайла - Строка - Путь к файлу описания
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание конфигурации
|
||||
// * СвойстваКонфигурации - свойства конфигурации
|
||||
// * ОбъектыКонфигурации - коллекция объектов конфигурации
|
||||
//
|
||||
Функция ПрочитатьОписаниеКонфигурации(ИмяФайла) Экспорт
|
||||
|
||||
СвойстваКонфигурации = Новый Структура;
|
||||
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
||||
|
||||
ПараметрыЧтения = СтруктурыОписаний.ОписаниеКонфигурации();
|
||||
|
||||
ЗначенияПоУмолчанию = СтруктурыОписаний.ОписаниеОбъектаКонфигурацииЗначенияПоУмолчанию();
|
||||
|
||||
СвойстваОписания = ПолучитьСвойства(Утилиты.ПрочитатьФайл(ИмяФайла), ПараметрыЧтения);
|
||||
|
||||
Для Каждого Параметр Из ПараметрыЧтения Цикл
|
||||
|
||||
Если Параметр.Ключ = "Языки" Тогда // Шлак какой-то там
|
||||
|
||||
Продолжить;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Значение = СвойстваОписания[Параметр.Ключ];
|
||||
|
||||
Если Параметр.Значение.Коллекция Тогда
|
||||
|
||||
Для Каждого ПолноеИмяОбъекта Из Значение Цикл
|
||||
|
||||
СтрокаОбъекта = ОбъектыКонфигурации.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(СтрокаОбъекта, ЗначенияПоУмолчанию);
|
||||
|
||||
ЧастиСтроки = СтрРазделить(ПолноеИмяОбъекта, ".");
|
||||
СтрокаОбъекта.Тип = ТипыОбъектовКонфигурации.НормализоватьИмя(ЧастиСтроки[0]);
|
||||
СтрокаОбъекта.Наименование = ЧастиСтроки[1];
|
||||
СтрокаОбъекта.ПолноеНаименование = ПолноеИмяОбъекта;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
|
||||
СвойстваКонфигурации.Вставить(Параметр.Ключ, Значение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Новый Структура("СвойстваКонфигурации, ОбъектыКонфигурации", СвойстваКонфигурации , ОбъектыКонфигурации);
|
||||
|
||||
КонецФункции
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -208,8 +151,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
// Читает состав подсистемы
|
||||
//
|
||||
// Параметры:
|
||||
@ -218,12 +159,14 @@
|
||||
// Возвращаемое значение:
|
||||
// Массив - Состав подсистемы
|
||||
//
|
||||
Функция ПрочитатьСостав(Знач Значение) Экспорт
|
||||
Функция СоставПодсистемы(Знач Значение) Экспорт
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -264,26 +207,26 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Значение) = Тип("Массив") И ПустаяСтрока(Параметр.ФункцияПреобразования) И НЕ Параметр.Многоязычный Тогда
|
||||
Если ТипЗнч(Значение) = Тип("Массив") И ПустаяСтрока(Параметр.МетодПреобразования) И НЕ Параметр.Многоязычный Тогда
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ФункцияПреобразования = Параметр.ФункцияПреобразования;
|
||||
МетодПреобразования = Параметр.МетодПреобразования;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ФункцияПреобразования) И Параметр.Многоязычный Тогда
|
||||
Если НЕ ЗначениеЗаполнено(МетодПреобразования) И Параметр.Многоязычный Тогда
|
||||
|
||||
ФункцияПреобразования = "МногоязычнаяСтрока";
|
||||
МетодПреобразования = "МногоязычнаяСтрока";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ФункцияПреобразования) Тогда
|
||||
Если ЗначениеЗаполнено(МетодПреобразования) Тогда
|
||||
|
||||
ЗначениеВМассиве = Новый Массив();
|
||||
ЗначениеВМассиве.Добавить(Значение);
|
||||
|
||||
Значение = Рефлектор.ВызватьМетод(ОбъектПреобразователь, ФункцияПреобразования, ЗначениеВМассиве);
|
||||
Значение = Рефлектор.ВызватьМетод(ОбъектПреобразователь, МетодПреобразования, ЗначениеВМассиве);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура - Данные описания
|
||||
//
|
||||
Функция ПолучитьСвойства(ТекстОписания, ПараметрыЧтения = Неопределено) Экспорт
|
||||
Функция ПолучитьСвойства(ТекстОписания, ПараметрыЧтения) Экспорт
|
||||
|
||||
СвойстваОписания = Новый Структура();
|
||||
|
||||
@ -34,12 +34,8 @@
|
||||
|
||||
ЧтениеXML.Закрыть();
|
||||
|
||||
Если ПараметрыЧтения <> Неопределено Тогда
|
||||
|
||||
СвойстваОписания = ВыполнитьОбработкуПрочитанныхСвойств(СвойстваОписания, ПараметрыЧтения);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваОписания = ВыполнитьОбработкуПрочитанныхСвойств(СвойстваОписания, ПараметрыЧтения);
|
||||
|
||||
Возврат СвойстваОписания;
|
||||
|
||||
КонецФункции
|
||||
@ -53,7 +49,7 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура - Данные описания
|
||||
//
|
||||
Функция ПрочитатьСвойстваИзФайла(ИмяФайла, ПараметрыЧтения = Неопределено) Экспорт
|
||||
Функция ПрочитатьСвойстваИзФайла(ИмяФайла, ПараметрыЧтения) Экспорт
|
||||
|
||||
СвойстваОписания = Новый Структура();
|
||||
|
||||
@ -64,119 +60,12 @@
|
||||
|
||||
ЧтениеXML.Закрыть();
|
||||
|
||||
Если ПараметрыЧтения <> Неопределено Тогда
|
||||
|
||||
СвойстваОписания = ВыполнитьОбработкуПрочитанныхСвойств(СвойстваОписания, ПараметрыЧтения);
|
||||
|
||||
КонецЕсли;
|
||||
СвойстваОписания = ВыполнитьОбработкуПрочитанныхСвойств(СвойстваОписания, ПараметрыЧтения);
|
||||
|
||||
Возврат СвойстваОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Читает файл Configuration
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяФайла - Строка - Путь к файлу описания
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание конфигурации
|
||||
// * СвойстваКонфигурации - свойства конфигурации
|
||||
// * ОбъектыКонфигурации - коллекция объектов конфигурации
|
||||
//
|
||||
Функция ПрочитатьОписаниеКонфигурации(ИмяФайла) Экспорт
|
||||
|
||||
СвойстваКонфигурации = Новый Структура;
|
||||
|
||||
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
||||
|
||||
ПустаяСтрокаОбъектКонфигурации = СтруктурыОписаний.ОписаниеОбъектаКонфигурацииЗначенияПоУмолчанию();
|
||||
|
||||
ЧтениеXML = Новый ЧтениеXML;
|
||||
ЧтениеXML.ОткрытьФайл(ИмяФайла);
|
||||
|
||||
Пока ЧтениеXML.Прочитать() Цикл
|
||||
|
||||
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "Properties" Тогда
|
||||
|
||||
// Настройки
|
||||
Пока НЕ (ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ЧтениеXML.Имя = "Properties") Цикл
|
||||
|
||||
ЧтениеXML.Прочитать();
|
||||
КлючСвойства = "";
|
||||
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
|
||||
|
||||
Если ЧтениеXML.Имя = "RequiredMobileApplicationPermissions" Тогда // атрибуты мобильного приложения
|
||||
|
||||
Пока НЕ (ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ЧтениеXML.Имя = "RequiredMobileApplicationPermissions") Цикл
|
||||
|
||||
ЧтениеXML.Прочитать();
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
|
||||
КлючСвойства = ЧтениеXML.Имя;
|
||||
ЧтениеXML.Прочитать();
|
||||
|
||||
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда // вложенный элемент
|
||||
|
||||
Если ЧтениеXML.Имя = "v8:item" Тогда // надо найти элемент с именем v8:content
|
||||
|
||||
Пока ЧтениеXML.Имя <> "v8:content" Цикл
|
||||
|
||||
ЧтениеXML.Прочитать();
|
||||
|
||||
КонецЦикла;
|
||||
ЧтениеXML.Прочитать();
|
||||
|
||||
Иначе // просто ищем значение
|
||||
|
||||
Пока ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Цикл
|
||||
|
||||
ЧтениеXML.Прочитать();
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваКонфигурации.Вставить(КлючСвойства, ЧтениеXML.Значение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "ChildObjects" Тогда
|
||||
|
||||
ЧтениеXML.Прочитать();
|
||||
// подчиненные элементы (первый уровень)
|
||||
Пока ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Цикл
|
||||
|
||||
НовСтрока = ОбъектыКонфигурации.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НовСтрока, ПустаяСтрокаОбъектКонфигурации);
|
||||
НовСтрока.Тип = ТипыОбъектовКонфигурации.НормализоватьИмя(ЧтениеXML.Имя);
|
||||
ЧтениеXML.Прочитать();
|
||||
НовСтрока.Наименование = ЧтениеXML.Значение;
|
||||
НовСтрока.ПолноеНаименование = НовСтрока.Тип + "." + НовСтрока.Наименование;
|
||||
ЧтениеXML.Прочитать();
|
||||
ЧтениеXML.Прочитать();
|
||||
|
||||
КонецЦикла
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЧтениеXML.Закрыть();
|
||||
|
||||
Возврат Новый Структура("СвойстваКонфигурации, ОбъектыКонфигурации" ,СвойстваКонфигурации , ОбъектыКонфигурации);
|
||||
|
||||
КонецФункции
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -251,8 +140,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
// Читает состав подсистемы
|
||||
//
|
||||
// Параметры:
|
||||
@ -261,7 +148,7 @@
|
||||
// Возвращаемое значение:
|
||||
// Массив - Состав подсистемы
|
||||
//
|
||||
Функция ПрочитатьСостав(Знач ЧтениеXML) Экспорт
|
||||
Функция СоставПодсистемы(Знач ЧтениеXML) Экспорт
|
||||
|
||||
Значение = Новый Массив();
|
||||
|
||||
@ -291,15 +178,46 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Читает состав подсистемы
|
||||
//
|
||||
// Параметры:
|
||||
// ЧтениеXML - ЧтениеXML - Читатель данных
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив - Состав подсистемы
|
||||
//
|
||||
Функция Подчиненные(Знач ЧтениеXML) Экспорт
|
||||
|
||||
Значение = Новый Массив();
|
||||
|
||||
Пока ЧтениеXML.Прочитать() И НЕ (ЧтениеXML.Имя = "ChildObjects" И ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента) Цикл
|
||||
|
||||
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
|
||||
|
||||
Тип = ЧтениеXML.ЛокальноеИмя;
|
||||
ЧтениеXML.Прочитать();
|
||||
Имя = ЧтениеXML.Значение;
|
||||
Значение.Добавить(СтрШаблон("%1.%2", Тип, Имя));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Функция ВыполнитьОбработкуПрочитанныхСвойств(СырыеДанные, ПараметрыЧтения)
|
||||
|
||||
СвойстваОписания = Новый Структура();
|
||||
|
||||
Для Каждого Параметр Из ПараметрыЧтения Цикл
|
||||
СвойстваОписания = СтруктурыОписаний.СоздатьСтруктураОбъекта(ПараметрыЧтения.Тип);
|
||||
|
||||
Для Каждого Параметр Из ПараметрыЧтения.Свойства Цикл
|
||||
|
||||
Значение = Неопределено;
|
||||
|
||||
@ -309,35 +227,17 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Значение = ОбработатьСвойство(Значение, Параметр.Значение);
|
||||
|
||||
СвойстваОписания.Вставить(Параметр.Ключ, Значение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СвойстваОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОбработатьСвойство(Значение, Параметр)
|
||||
|
||||
Если ПустаяСтрока(Значение) И Параметр.Коллекция Тогда
|
||||
Если ПараметрыЧтения.ЕстьПодчиненные И СырыеДанные.Свойство("ChildObjects") И ЗначениеЗаполнено(СырыеДанные.ChildObjects) Тогда
|
||||
|
||||
Возврат Новый Массив();
|
||||
СвойстваОписания.Вставить("Подчиненные", СырыеДанные.ChildObjects);
|
||||
|
||||
ИначеЕсли ПустаяСтрока(Значение) Тогда
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
ИначеЕсли Параметр.Коллекция И ТипЗнч(Значение) <> Тип("Массив") Тогда
|
||||
|
||||
Результат = Новый Массив();
|
||||
Результат.Добавить(Значение);
|
||||
Значение = Результат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
Возврат СвойстваОписания;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -345,24 +245,16 @@
|
||||
|
||||
ОбработчикиПолей = Новый Структура();
|
||||
|
||||
Если ПараметрыЧтения <> Неопределено Тогда
|
||||
Для Каждого Элемент Из ПараметрыЧтения.Свойства Цикл
|
||||
|
||||
Для Каждого Элемент Из ПараметрыЧтения Цикл
|
||||
Параметр = Элемент.Значение;
|
||||
Если НЕ ПустаяСтрока(Параметр.МетодПреобразования) Тогда
|
||||
|
||||
Параметр = Элемент.Значение;
|
||||
Если ПустаяСтрока(Параметр.ФункцияПреобразования) И Параметр.Многоязычный Тогда
|
||||
|
||||
ОбработчикиПолей.Вставить(ВРег(Параметр.Поле), "МногоязычнаяСтрока");
|
||||
|
||||
ИначеЕсли НЕ ПустаяСтрока(Параметр.ФункцияПреобразования) Тогда
|
||||
|
||||
ОбработчикиПолей.Вставить(ВРег(Параметр.Поле), Параметр.ФункцияПреобразования);
|
||||
|
||||
КонецЕсли;
|
||||
ОбработчикиПолей.Вставить(ВРег(Параметр.Поле), Параметр.МетодПреобразования);
|
||||
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Пока ЧтениеXML.Прочитать() Цикл
|
||||
|
||||
@ -423,6 +315,10 @@
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "ChildObjects" Тогда
|
||||
|
||||
Данные.Вставить("ChildObjects", Подчиненные(ЧтениеXML));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user