mirror of
https://github.com/bia-technologies/bsl-parser.git
synced 2025-02-16 19:47:28 +02:00
#ARCH-2530
Переделки для rabbi * Класс описания конфигурации * Удалены имена реквизитов для EDT из описаний, они вычисляются * Расширен API * Рефакторинг
This commit is contained in:
parent
3ce22fd2a2
commit
ba00974c19
@ -30,25 +30,24 @@
|
||||
//
|
||||
Процедура Инициализировать(ИмяРасширения, ПредставлениеРасширения, ПрефиксРасширения) Экспорт
|
||||
|
||||
ОписаниеРасширения = СтруктурыОписаний.СоздатьОбъект("Расширение", ИмяРасширения);
|
||||
ОписаниеРасширения.Синоним = ПредставлениеРасширения;
|
||||
ОписаниеРасширения.ПрефиксИмен = ПрефиксРасширения;
|
||||
ОписаниеРасширения.Принадлежность = "Adopted";
|
||||
ОписаниеРасширения.Назначение = "Customization";
|
||||
|
||||
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
||||
ОписаниеКонфигурации = Новый Структура("ОбъектыКонфигурации, СвойстваКонфигурации", ОбъектыКонфигурации, ОписаниеРасширения);
|
||||
ОписаниеКонфигурации = Новый ОписаниеКонфигурации;
|
||||
|
||||
СтрокаКонфигурация = ОбъектыКонфигурации.Добавить();
|
||||
ОписаниеКонфигурации.СвойстваКонфигурации = СтруктурыОписаний.СоздатьОбъект("Расширение", ИмяРасширения);
|
||||
ОписаниеКонфигурации.СвойстваКонфигурации.Синоним = ПредставлениеРасширения;
|
||||
ОписаниеКонфигурации.СвойстваКонфигурации.ПрефиксИмен = ПрефиксРасширения;
|
||||
ОписаниеКонфигурации.СвойстваКонфигурации.Принадлежность = "Adopted";
|
||||
ОписаниеКонфигурации.СвойстваКонфигурации.Назначение = "Customization";
|
||||
|
||||
СтрокаКонфигурация = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
||||
ПустаяСтрокаОбъектКонфигурации = СтруктурыОписаний.ОписаниеОбъектаКонфигурацииЗначенияПоУмолчанию();
|
||||
|
||||
ЗаполнитьЗначенияСвойств(СтрокаКонфигурация, ПустаяСтрокаОбъектКонфигурации);
|
||||
СтрокаКонфигурация.Тип = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации();
|
||||
СтрокаКонфигурация.Наименование = СтрокаКонфигурация.Тип;
|
||||
СтрокаКонфигурация.ПутьКФайлу = СтруктураКаталоговПриемник.ИмяФайлаОписанияКонфигурации();
|
||||
СтрокаКонфигурация.Описание = ОписаниеРасширения;
|
||||
СтрокаКонфигурация.Описание = ОписаниеКонфигурации.СвойстваКонфигурации;
|
||||
|
||||
ЗаписьConfiguration = ГенераторОписаний.СоздатьОписаниеРасширения(ОписаниеРасширения, ПараметрыГенерации);
|
||||
ЗаписьConfiguration = ГенераторОписаний.СоздатьОписаниеРасширения(ОписаниеКонфигурации.СвойстваКонфигурации, ПараметрыГенерации);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -63,7 +62,7 @@
|
||||
|
||||
Если Стр.Тип <> ТипКонфигурация И Стр.Родитель = Неопределено Тогда
|
||||
|
||||
ГенераторОписаний.ЗарегистрироватьОбъектВКонфигурации(Стр.Наименование, Стр.Тип, ПараметрыГенерации);
|
||||
ГенераторОписаний.ЗарегистрироватьОбъектВКонфигурации(Стр, ПараметрыГенерации);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@ -120,7 +119,7 @@
|
||||
// Возвращаемое значение:
|
||||
// СтрокаТаблицыЗначений - Описание объекта расширения
|
||||
//
|
||||
Функция ПеренестиОбъектВРасширение(ОбъектРодительскойКонфигурации) Экспорт
|
||||
Функция ПеренестиОбъектВРасширение(ОбъектРодительскойКонфигурации, НеЗакрывать = Ложь) Экспорт
|
||||
|
||||
ОбъектКонфигурации = ДобавитьОбъектКонфигурации(ОбъектРодительскойКонфигурации.Наименование, ОбъектРодительскойКонфигурации.Тип);
|
||||
|
||||
@ -131,17 +130,29 @@
|
||||
СокращенноеОписание = СтруктурыОписаний.СоздатьСокращеннуюСтруктураОбъекта(ОбъектРодительскойКонфигурации.ПолноеНаименование);
|
||||
|
||||
Если ОбъектРодительскойКонфигурации.Описание = Неопределено Тогда
|
||||
|
||||
СокращенноеОписание.Наименование = ОбъектКонфигурации.Наименование;
|
||||
|
||||
Иначе
|
||||
|
||||
ЗаполнитьЗначенияСвойств(СокращенноеОписание, ОбъектРодительскойКонфигурации.Описание, , "Подчиненные");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СокращенноеОписание.Вставить("ObjectBelonging", "Adopted");
|
||||
СокращенноеОписание.Принадлежность = "Adopted";
|
||||
|
||||
ОбъектКонфигурации.Описание = СокращенноеОписание;
|
||||
ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание);
|
||||
Запись = ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ОбъектКонфигурации.Описание, НеЗакрывать);
|
||||
|
||||
Если НеЗакрывать = Истина Тогда
|
||||
|
||||
Возврат Запись;
|
||||
|
||||
Иначе
|
||||
|
||||
Возврат ОбъектКонфигурации;
|
||||
|
||||
Возврат ОбъектКонфигурации;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -210,13 +221,37 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Добавляет произвольный файл в расширение, без регистрации и смс
|
||||
//
|
||||
// Параметры:
|
||||
// ОтносительныйПуть - Строка - Путь в рамках исходников расширения
|
||||
// ИсходныйФайл - Строка - Полный путь к добавляемому файлу
|
||||
//
|
||||
Функция ДобавитьФайлОбъекта(Объект, ОтносительныйПуть, ИсходныйФайл) Экспорт
|
||||
|
||||
ПолныйПуть = ОбъединитьПути(Объект.ПутьККаталогу, ОтносительныйПуть);
|
||||
Утилиты.СоздатьРекурсивноКаталоги((Новый Файл(ПолныйПуть)).Путь);
|
||||
|
||||
КопироватьФайл(ИсходныйФайл, ПолныйПуть);
|
||||
|
||||
Возврат ПолныйПуть;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СоздатьЗаписьОписания(ТипОбъекта, ИмяФайла) Экспорт
|
||||
|
||||
Возврат ГенераторОписаний.СоздатьЗапись(ТипОбъекта, ПараметрыГенерации, ИмяФайла);
|
||||
|
||||
КонецФункции
|
||||
///////////////////////////////////////////////////////////////////
|
||||
// Служебный функционал
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
Процедура ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ДанныеОбъекта)
|
||||
Функция ЗаписатьОписаниеОбъекта(ОбъектКонфигурации, ДанныеОбъекта, НеЗакрывать = Ложь)
|
||||
|
||||
Запись = ГенераторОписаний.СоздатьЗапись(ОбъектКонфигурации.Тип, ПараметрыГенерации);
|
||||
ИмяФайла = СтруктураКаталоговПриемник.ИмяФайлаОписанияОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
|
||||
|
||||
Запись = СоздатьЗаписьОписания(ОбъектКонфигурации.Тип, ИмяФайла);
|
||||
|
||||
ОписаниеСвойств = СтруктурыОписаний.ОписаниеСвойствОбъекта(ОбъектКонфигурации.Тип);
|
||||
|
||||
@ -226,16 +261,20 @@
|
||||
Если ОписаниеСвойств.ЕстьПодчиненные Тогда
|
||||
|
||||
ГенераторОписаний.Подчиненные(Запись, ?(ДанныеОбъекта.Свойство("Подчиненные"), ДанныеОбъекта.Подчиненные, Неопределено));
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОписания = ГенераторОписанийОбщий.ЗакрытьЗапись(Запись);
|
||||
Если НеЗакрывать = Истина Тогда
|
||||
|
||||
Возврат Запись;
|
||||
|
||||
Иначе
|
||||
|
||||
ГенераторОписанийОбщий.ЗакрытьЗапись(Запись);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИмяФайла = СтруктураКаталоговПриемник.ИмяФайлаОписанияОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
|
||||
|
||||
Утилиты.ЗаписатьФайл(ИмяФайла, ТекстОписания);
|
||||
|
||||
КонецПроцедуры
|
||||
КонецФункции
|
||||
|
||||
Функция ДобавитьОбъектКонфигурации(ИмяОбъекта, Знач ТипОбъекта)
|
||||
|
||||
|
@ -50,22 +50,22 @@
|
||||
|
||||
ЗаписьConfiguration = СоздатьЗапись("Configuration", ПараметрыГенерации);
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьДанные(ЗаписьConfiguration, ОписаниеРасширения, "Расширение", ЭтотОбъект);
|
||||
|
||||
ЗаписьConfiguration.ЗаписатьНачалоЭлемента("extension");
|
||||
ЗаписьConfiguration.ЗаписатьСоответствиеПространстваИмен("type", "mdclassExtension:ConfigurationExtension");
|
||||
ЗаписьConfiguration.ЗаписатьАтрибут("xsi:type", "mdclassExtension:ConfigurationExtension");
|
||||
|
||||
ЗаписьConfiguration.ЗаписатьКонецЭлемента(); // extension
|
||||
|
||||
Для Каждого uid из ГенераторОписанийОбщий.ПолучитьUIDДляГенерацииРасширения() Цикл
|
||||
|
||||
ЗаписьConfiguration.ЗаписатьНачалоЭлемента("containedObjects");
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(ЗаписьConfiguration, "classId", uid);
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(ЗаписьConfiguration, "objectId", Строка(Новый УникальныйИдентификатор()));
|
||||
Для Каждого uid из ГенераторОписанийОбщий.ПолучитьUIDДляГенерацииРасширения() Цикл
|
||||
|
||||
ЗаписьConfiguration.ЗаписатьНачалоЭлемента("containedObjects");
|
||||
ЗаписьConfiguration.ЗаписатьАтрибут("classId", uid);
|
||||
ЗаписьConfiguration.ЗаписатьАтрибут("objectId", Строка(Новый УникальныйИдентификатор()));
|
||||
ЗаписьConfiguration.ЗаписатьКонецЭлемента(); // containedObjects
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьДанные(ЗаписьConfiguration, ОписаниеРасширения, "Расширение", ЭтотОбъект);
|
||||
|
||||
ПараметрыГенерации.Вставить("ЗаписьConfiguration", ЗаписьConfiguration);
|
||||
|
||||
Возврат ЗаписьConfiguration;
|
||||
@ -82,13 +82,16 @@
|
||||
// Проверок на существование объекта нет
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяМетаданного - Строка - Имя регистрируемого метаданного, например, Пользователи
|
||||
// ВидМетаданного - Строка - Вид регистрируемого метаданного, например, Catalog
|
||||
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
||||
//
|
||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ИмяМетаданного, ВидМетаданного, ПараметрыГенерации) Экспорт
|
||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ПараметрыГенерации) Экспорт
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(ПараметрыГенерации.ЗаписьConfiguration, ВидМетаданного, ИмяМетаданного);
|
||||
ИмяТипа = ТипыОбъектовКонфигурации.ОписаниеТипаПоИмени(ОбъектКонфигурации.Тип).НаименованиеКоллекцииEng;
|
||||
ИмяТипа = НРег(Лев(ИмяТипа, 1)) + Сред(ИмяТипа, 2);
|
||||
|
||||
ИмяОбъекта = СтрШаблон("%1.%2", ОбъектКонфигурации.Тип, ОбъектКонфигурации.Наименование);
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(ПараметрыГенерации.ЗаписьConfiguration, ИмяТипа, ИмяОбъекта);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -106,7 +109,7 @@
|
||||
|
||||
Для Каждого Тип Из ПорождаемыеТипы Цикл
|
||||
|
||||
Запись.ЗаписатьНачалоЭлемента(Тип);
|
||||
Запись.ЗаписатьНачалоЭлемента(НРег(Лев(Тип, 1)) + Сред(Тип, 2));
|
||||
Запись.ЗаписатьАтрибут("typeId", Строка(Новый УникальныйИдентификатор()));
|
||||
Запись.ЗаписатьАтрибут("valueTypeId", Строка(Новый УникальныйИдентификатор()));
|
||||
Запись.ЗаписатьКонецЭлемента();
|
||||
@ -159,18 +162,33 @@
|
||||
// Возвращаемое значение:
|
||||
// ЗаписьXML- Поток записи описания
|
||||
//
|
||||
Функция СоздатьЗапись(ТипОбъекта, ПараметрыГенерации) Экспорт
|
||||
Функция СоздатьЗапись(ТипОбъекта, ПараметрыГенерации, ИмяФайла = Неопределено) Экспорт
|
||||
|
||||
Запись = Новый ЗаписьXML();
|
||||
Запись.Отступ = Ложь;
|
||||
Запись.УстановитьСтроку("UTF-8");
|
||||
Запись = Новый ЗаписьXML();
|
||||
|
||||
ПараметрыЗаписи = Новый ПараметрыЗаписиXML("UTF-8", , , , " ");
|
||||
|
||||
Если ЗначениеЗаполнено(ИмяФайла) Тогда
|
||||
|
||||
Запись.ОткрытьФайл(ИмяФайла, ПараметрыЗаписи);
|
||||
|
||||
Иначе
|
||||
|
||||
Запись.УстановитьСтроку(ПараметрыЗаписи);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Запись.ЗаписатьОбъявлениеXML();
|
||||
|
||||
Запись.ЗаписатьНачалоЭлемента(СтрШаблон("mdclass:%1", ТипОбъекта));
|
||||
|
||||
Если ПараметрыГенерации.ГенерацияРасширения Тогда
|
||||
Запись.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
|
||||
КонецЕсли;
|
||||
|
||||
Запись.ЗаписатьСоответствиеПространстваИмен("mdclass", "http://g5.1c.ru/v8/dt/metadata/mdclass");
|
||||
|
||||
Если ПараметрыГенерации.ГенерацияРасширения Тогда
|
||||
Запись.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
|
||||
Запись.ЗаписатьСоответствиеПространстваИмен("mdclassExtension", "http://g5.1c.ru/v8/dt/metadata/mdclass/extension");
|
||||
КонецЕсли;
|
||||
|
||||
|
@ -92,13 +92,12 @@
|
||||
// Проверок на существование объекта нет
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяМетаданного - Строка - Имя регистрируемого метаданного, например, Пользователи
|
||||
// ВидМетаданного - Строка - Вид регистрируемого метаданного, например, Catalog
|
||||
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
||||
//
|
||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ИмяМетаданного, ВидМетаданного, ПараметрыГенерации) Экспорт
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(ПараметрыГенерации.ЗаписьConfiguration, ВидМетаданного, ИмяМетаданного);
|
||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ПараметрыГенерации) Экспорт
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(ПараметрыГенерации.ЗаписьConfiguration, ОбъектКонфигурации.Тип, ОбъектКонфигурации.Наименование);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -213,11 +212,20 @@
|
||||
// Возвращаемое значение:
|
||||
// ЗаписьXML- Поток записи описания
|
||||
//
|
||||
Функция СоздатьЗапись(ТипОбъекта, ПараметрыГенерации) Экспорт
|
||||
Функция СоздатьЗапись(ТипОбъекта, ПараметрыГенерации, ИмяФайла = Неопределено) Экспорт
|
||||
|
||||
Запись = Новый ЗаписьXML();
|
||||
Если ЗначениеЗаполнено(ИмяФайла) Тогда
|
||||
|
||||
Запись.ОткрытьФайл(ИмяФайла, "UTF-8");
|
||||
|
||||
Иначе
|
||||
|
||||
Запись.УстановитьСтроку("UTF-8");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Запись.Отступ = Ложь;
|
||||
Запись.УстановитьСтроку("UTF-8");
|
||||
Запись.ЗаписатьОбъявлениеXML();
|
||||
Запись.ЗаписатьНачалоЭлемента("MetaDataObject");
|
||||
Запись.ЗаписатьСоответствиеПространстваИмен("", "http://v8.1c.ru/8.3/MDClasses");
|
||||
|
@ -41,6 +41,12 @@
|
||||
АргументыПреобразования = Новый Массив(2);
|
||||
АргументыПреобразования[0] = Запись;
|
||||
|
||||
Если Данные.Свойство("Принадлежность") И Данные.Принадлежность = Неопределено Тогда
|
||||
|
||||
Данные.Удалить("Принадлежность");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Элемент Из ПараметрыЗаписи.Свойства Цикл
|
||||
|
||||
Значение = Неопределено;
|
||||
@ -71,12 +77,6 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Данные.Свойство("ObjectBelonging") Тогда
|
||||
|
||||
ГенераторОписанийОбщий.ЗаписатьЗначениеXML(Запись, "ObjectBelonging", Данные.ObjectBelonging);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область РаботаСXML
|
||||
|
@ -4,144 +4,146 @@
|
||||
Возможные колонки:
|
||||
|
||||
* Наименование - Имя свойства. Обязательное.
|
||||
* ЭлементEDT - Имя поля в файле описаний выгрузки EDT. Обязательное.
|
||||
* ЭлементDesigner - Имя поля в файле описаний выгрузки конфигуратора. Обязательное.
|
||||
* Реквизит - Имя поля в файле описаний выгрузки. Обязательное.
|
||||
* МетодПреобразования - Имя метода для кастомного чтения свойства. Не обязательное.
|
||||
* ЗначениеПоУмолчанию - Строковое представление значения по-умолчанию. Не обязательное.
|
||||
* ТипЗначения - Имя типа значения. Не обязательное.
|
||||
|
||||
## Реквизиты Default
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| ------------ | ---------- | --------------- | ------------------- |
|
||||
| Наименование | name | Name | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Наименование | Реквизит | МетодПреобразования |
|
||||
| -------------- | --------------- | ------------------- |
|
||||
| Наименование | Name | |
|
||||
| Синоним | Synonym | МногоязычнаяСтрока |
|
||||
| Комментарий | Comment | МногоязычнаяСтрока |
|
||||
| Принадлежность | ObjectBelonging | |
|
||||
|
||||
## Реквизиты Configuration
|
||||
|
||||
| Наименование | Элемент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 | |
|
||||
| Комментарий | comment | Comment | МногоязычнаяСтрока |
|
||||
| КраткаяИнформация | briefInformation | BriefInformation | МногоязычнаяСтрока |
|
||||
| Логотип | logo | Logo | |
|
||||
| МодульВнешнегоСоединения | externalConnectionModule | ExternalConnectionModule | |
|
||||
| МодульОбычногоПриложения | ordinaryApplicationModule | OrdinaryApplicationModule | |
|
||||
| МодульСеанса | sessionModule | SessionModule | |
|
||||
| МодульУправляемогоПриложения | managedApplicationModule | ManagedApplicationModule | |
|
||||
| НазначениеРасширенияКонфигурации | configurationExtensionPurpose | ConfigurationExtensionPurpose | |
|
||||
| НазначенияИспользования | usePurposes | UsePurposes | |
|
||||
| Наименование | name | Name | |
|
||||
| ОсновнаяФормаВариантаОтчета | 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 | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Справка | help | Help | |
|
||||
| ТребуемыеРазрешенияМобильногоПриложения | requiredMobileApplicationPermissions | RequiredMobileApplicationPermissions | |
|
||||
| ФрагментКомандногоИнтерфейса | commandInterfaceFragment | CommandInterfaceFragment | |
|
||||
| ХранилищеВариантовОтчетов | reportsVariantsStorage | ReportsVariantsStorage | |
|
||||
| ХранилищеНастроекДанныхФорм | formDataSettingsStorage | FormDataSettingsStorage | |
|
||||
| ХранилищеОбщихНастроек | commonSettingsStorage | CommonSettingsStorage | |
|
||||
| ХранилищеПользовательскихНастроекДинамическихСписков | dynamicListsUserSettingsStorage | DynamicListsUserSettingsStorage | |
|
||||
| ХранилищеПользовательскихНастроекОтчетов | reportsUserSettingsStorage | ReportsUserSettingsStorage | |
|
||||
| Наименование | Реквизит | МетодПреобразования |
|
||||
| ----------------------------------------------------------------------- | ----------------------------------------------- | ------------------- |
|
||||
| АвторскиеПрава | 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 | |
|
||||
| РабочаяОбластьНачальнойСтраницы | HomePageWorkArea | |
|
||||
| РежимАвтонумерацииОбъектов | ObjectAutonumerationMode | |
|
||||
| РежимИспользованияМодальности | ModalityUseMode | |
|
||||
| РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент | SynchronousPlatformExtensionAndAddInCallUseMode | |
|
||||
| РежимОсновногоОкнаКлиентскогоПриложения | MainClientApplicationWindowMode | |
|
||||
| РежимСовместимости | CompatibilityMode | |
|
||||
| РежимСовместимостиИнтерфейса | InterfaceCompatibilityMode | |
|
||||
| РежимСовместимостиРасширенияКонфигурации | ConfigurationExtensionCompatibilityMode | |
|
||||
| РежимУправленияБлокировкойДанных | DataLockControlMode | |
|
||||
| РодительскиеКонфигурации | ParentConfigurations | |
|
||||
| Справка | Help | |
|
||||
| ТребуемыеРазрешенияМобильногоПриложения | RequiredMobileApplicationPermissions | |
|
||||
| ФрагментКомандногоИнтерфейса | CommandInterfaceFragment | |
|
||||
| ХранилищеВариантовОтчетов | ReportsVariantsStorage | |
|
||||
| ХранилищеНастроекДанныхФорм | FormDataSettingsStorage | |
|
||||
| ХранилищеОбщихНастроек | CommonSettingsStorage | |
|
||||
| ХранилищеПользовательскихНастроекДинамическихСписков | DynamicListsUserSettingsStorage | |
|
||||
| ХранилищеПользовательскихНастроекОтчетов | ReportsUserSettingsStorage | |
|
||||
|
||||
## Реквизиты Extension
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| -------------- | ----------------------------- | ----------------------------- | ------------------- |
|
||||
| Наименование | name | Name | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Принадлежность | objectBelonging | ObjectBelonging | |
|
||||
| ПрефиксИмен | namePrefix | NamePrefix | |
|
||||
| Назначение | ConfigurationExtensionPurpose | ConfigurationExtensionPurpose | |
|
||||
| Наименование | Реквизит | МетодПреобразования |
|
||||
| ------------ | ----------------------------- | ------------------- |
|
||||
| ПрефиксИмен | NamePrefix | |
|
||||
| Назначение | ConfigurationExtensionPurpose | |
|
||||
|
||||
## Реквизиты Subsystem
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования | ТипЗначения |
|
||||
| --------------------------- | ------------------------- | ------------------------- | ------------------- | ----------- |
|
||||
| Наименование | name | Name | | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока | |
|
||||
| Комментарий | comment | Comment | | |
|
||||
| ВключатьВКомандныйИнтерфейс | IncludeInCommandInterface | IncludeInCommandInterface | ЗначениеБулево | |
|
||||
| ВключатьВСодержимоеСправки | IncludeHelpInContents | IncludeHelpInContents | ЗначениеБулево | |
|
||||
| Пояснение | Explanation | Explanation | МногоязычнаяСтрока | |
|
||||
| Состав | Content | Content | СоставПодсистемы | Массив |
|
||||
| Наименование | Реквизит | МетодПреобразования | ТипЗначения |
|
||||
| --------------------------- | ------------------------- | ------------------- | ----------- |
|
||||
| ВключатьВКомандныйИнтерфейс | IncludeInCommandInterface | ЗначениеБулево | |
|
||||
| ВключатьВСодержимоеСправки | IncludeHelpInContents | ЗначениеБулево | |
|
||||
| Пояснение | Explanation | МногоязычнаяСтрока | |
|
||||
| Состав | Content | СоставПодсистемы | Массив |
|
||||
|
||||
## Реквизиты CommonModule
|
||||
|
||||
| Наименование | Элемент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 |
|
||||
|
||||
## Реквизиты ExchangePlan
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования | ЗначениеПоУмолчанию |
|
||||
| ------------ | ---------- | --------------- | ------------------- | ------------------- |
|
||||
| Наименование | name | Name | | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока | |
|
||||
| Комментарий | comment | Comment | | |
|
||||
|
||||
## Реквизиты Document
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| ------------ | ---------- | --------------- | ------------------- |
|
||||
| Наименование | name | Name | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Комментарий | comment | Comment | |
|
||||
| Наименование | Реквизит | МетодПреобразования | ЗначениеПоУмолчанию |
|
||||
| ----------------------- | ------------------------- | ------------------- | ------------------- |
|
||||
| Глобальный | Global | ЗначениеБулево | false |
|
||||
| Клиент | ClientManagedApplication | ЗначениеБулево | false |
|
||||
| КлиентОбычноеПриложение | ClientOrdinaryApplication | ЗначениеБулево | false |
|
||||
| Сервер | Server | ЗначениеБулево | true |
|
||||
| ВнешнееСоединение | ExternalConnection | ЗначениеБулево | false |
|
||||
| ВызовСервера | ServerCall | ЗначениеБулево | false |
|
||||
| Привилегированный | Privileged | ЗначениеБулево | false |
|
||||
| ПовторноеИспользование | ReturnValuesReuse | | DontUse |
|
||||
|
||||
## Реквизиты Constant
|
||||
|
||||
| Наименование | ЭлементEDT | ЭлементDesigner | МетодПреобразования |
|
||||
| ------------ | ----------- | --------------- | ------------------- |
|
||||
| Наименование | name | Name | |
|
||||
| Синоним | synonym | Synonym | МногоязычнаяСтрока |
|
||||
| Комментарий | comment | Comment | |
|
||||
| Тип | type | type | ПолучитьТип |
|
||||
| Пояснение | explanation | Explanation | МногоязычнаяСтрока |
|
||||
| Наименование | Реквизит | МетодПреобразования |
|
||||
| ------------ | --------------- | ------------------- |
|
||||
| Тип | Type | ПолучитьТип |
|
||||
| Пояснение | Explanation | МногоязычнаяСтрока |
|
||||
|
||||
## Реквизиты InformationRegister
|
||||
|
||||
| Наименование | Реквизит | МетодПреобразования |
|
||||
| -------------------------------- | ------------------------------ | ------------------- |
|
||||
| СтандартныеРеквизиты | StandardAttributes | |
|
||||
| ВключатьСправкуВСодержание | IncludeHelpInContents | |
|
||||
| ДополнительнаяФормаЗаписи | AuxiliaryRecordForm | |
|
||||
| ДополнительнаяФормаСписка | AuxiliaryListForm | |
|
||||
| Измерения | Dimensions | |
|
||||
| ИспользоватьСтандартныеКоманды | UseStandardCommands | |
|
||||
| Команды | Commands | |
|
||||
| Макеты | Templates | |
|
||||
| МодульМенеджера | ManagerModule | |
|
||||
| МодульНабораЗаписей | RecordSetModule | |
|
||||
| ОсновнаяФормаЗаписи | DefaultRecordForm | |
|
||||
| ОсновнаяФормаСписка | DefaultListForm | |
|
||||
| ОсновнойОтборПоПериоду | MainFilterOnPeriod | |
|
||||
| ПериодичностьРегистраСведений | InformationRegisterPeriodicity | |
|
||||
| ПолнотекстовыйПоиск | FullTextSearch | |
|
||||
| Пояснение | Explanation | |
|
||||
| ПредставлениеЗаписи | RecordPresentation | |
|
||||
| ПредставлениеСписка | ListPresentation | |
|
||||
| РазрешитьИтогиСрезПервых | EnableTotalsSliceFirst | |
|
||||
| РазрешитьИтогиСрезПоследних | EnableTotalsSliceLast | |
|
||||
| РасширенноеПредставлениеЗаписи | ExtendedRecordPresentation | |
|
||||
| РасширенноеПредставлениеСписка | ExtendedListPresentation | |
|
||||
| РежимЗаписи | WriteMode | |
|
||||
| РежимУправленияБлокировкойДанных | DataLockControlMode | |
|
||||
| Реквизиты | Attributes | |
|
||||
| Ресурсы | Resources | |
|
||||
| СпособРедактирования | EditType | |
|
||||
| Справка | Help | |
|
||||
| Формы | Forms | |
|
||||
|
83
src/Общее/Классы/ОписаниеКонфигурации.os
Normal file
83
src/Общее/Классы/ОписаниеКонфигурации.os
Normal file
@ -0,0 +1,83 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Класс описывающий структуру конфигурации
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Перем ОбъектыКонфигурации Экспорт;
|
||||
Перем СвойстваКонфигурации Экспорт;
|
||||
Перем МодулиКонфигурации Экспорт;
|
||||
|
||||
Перем ФормыКонфигурации Экспорт;
|
||||
Перем КомандыКонфигурации Экспорт;
|
||||
|
||||
Перем ПодсистемыКонфигурации Экспорт;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Функция НайтиОбъект(Знач ИмяОбъекта, Знач ТипОбъекта = Неопределено) Экспорт
|
||||
|
||||
Если ТипОбъекта = Неопределено
|
||||
И СтрНайти(ИмяОбъекта, ".")
|
||||
И ТипыОбъектовКонфигурации.ОписаниеТипаПоИмени(Лев(ИмяОбъекта, СтрНайти(ИмяОбъекта, ".") - 1)) <> Неопределено Тогда
|
||||
|
||||
ТипОбъекта = Лев(ИмяОбъекта, СтрНайти(ИмяОбъекта, ".") - 1);
|
||||
ИмяОбъекта = Сред(ИмяОбъекта, СтрНайти(ИмяОбъекта, ".") + 1);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ТипОбъекта) Тогда
|
||||
|
||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||
НайденныеОбъекты = ОбъектыКонфигурации.НайтиСтроки(Новый Структура("Тип, Наименование", ТипОбъекта, ИмяОбъекта));
|
||||
|
||||
Если НайденныеОбъекты.Количество() Тогда
|
||||
|
||||
Возврат НайденныеОбъекты[0];
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
Возврат ОбъектыКонфигурации.Найти(ИмяОбъекта, "Наименование");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбъектыТипа(Знач ТипОбъекта) Экспорт
|
||||
|
||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||
|
||||
Возврат ОбъектыКонфигурации.НайтиСтроки(Новый Структура("Тип", ТипОбъекта));
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
|
||||
Процедура ПриСозданииОбъекта() Экспорт
|
||||
|
||||
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
||||
МодулиКонфигурации = СтруктурыОписаний.ТаблицаОписанияМодулей();
|
||||
|
||||
// todo сделать чтение форм
|
||||
ФормыКонфигурации = Новый ТаблицаЗначений;
|
||||
ФормыКонфигурации.Колонки.Добавить("Родитель");
|
||||
ФормыКонфигурации.Колонки.Добавить("ЭтоУправляемаяФорма");
|
||||
ФормыКонфигурации.Колонки.Добавить("Наименование");
|
||||
|
||||
// todo сделать чтение команд
|
||||
КомандыКонфигурации = Новый ТаблицаЗначений;
|
||||
КомандыКонфигурации.Колонки.Добавить("Родитель");
|
||||
КомандыКонфигурации.Колонки.Добавить("Наименование");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
///////////////////////////////////////////////////////////////////////////////
|
@ -68,7 +68,7 @@
|
||||
|
||||
РеквизитыСвойства = "Наименование, МетодПреобразования, Поле, ЭтоКоллекция";
|
||||
|
||||
РеквизитИмениПоля = ?(Формат = ФорматыВыгрузки.EDT, "ЭлементEDT", "ЭлементDesigner");
|
||||
ФорматEDT = Формат = ФорматыВыгрузки.EDT;
|
||||
|
||||
Если ОписаниеОбъекта.ЕстьЗначенияПоУмолчанию Тогда
|
||||
РеквизитыСвойства = РеквизитыСвойства + ", ЗначенияПоУмолчанию";
|
||||
@ -81,7 +81,14 @@
|
||||
ОписаниеСвойства = Новый Структура(РеквизитыСвойства);
|
||||
ЗаполнитьЗначенияСвойств(ОписаниеСвойства, Свойство);
|
||||
|
||||
ОписаниеСвойства.Поле = Свойство[РеквизитИмениПоля];
|
||||
Если ФорматEDT Тогда
|
||||
|
||||
ОписаниеСвойства.Поле = НРег(Лев(Свойство.Реквизит, 1)) + Сред(Свойство.Реквизит, 2);
|
||||
Иначе
|
||||
|
||||
ОписаниеСвойства.Поле = Свойство.Реквизит;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ДляЧтения Тогда
|
||||
|
||||
|
@ -203,7 +203,7 @@
|
||||
|
||||
ОписаниеОбъекта = ОписаниеСвойствОбъекта(ТипОбъекта);
|
||||
|
||||
Данные = Новый Структура("Наименование", "");
|
||||
Данные = Новый Структура("Наименование, Принадлежность", "");
|
||||
|
||||
Если ОписаниеОбъекта.ЕстьПодчиненные Тогда
|
||||
|
||||
@ -232,20 +232,28 @@
|
||||
КонецЕсли;
|
||||
|
||||
Свойства = СвойстваОбъектов[ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта)];
|
||||
БазовыеСвойства = БазовоеОписаниеСвойствОбъекта();
|
||||
|
||||
Если Свойства = Неопределено Тогда
|
||||
|
||||
Свойства = БазовоеОписаниеСвойствОбъекта();
|
||||
Свойства = БазовыеСвойства;
|
||||
ПараметрыПродукта.ПолучитьЛог().Предупреждение("Нет описания типа %1. Использовано описание по-умолчанию", ТипОбъекта);
|
||||
|
||||
Иначе
|
||||
|
||||
Для каждого Свойство Из БазовыеСвойства Цикл
|
||||
|
||||
ЗаполнитьЗначенияСвойств(Свойства.Добавить(), Свойство);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеОбъекта = Новый Структура("Тип, Свойства, ЕстьПодчиненные, ЕстьЗначенияПоУмолчанию", ТипОбъекта);
|
||||
|
||||
НормализованнаяТаблицаСвойств = Новый ТаблицаЗначений();
|
||||
НормализованнаяТаблицаСвойств.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
|
||||
НормализованнаяТаблицаСвойств.Колонки.Добавить("ЭлементEDT", Новый ОписаниеТипов("Строка"));
|
||||
НормализованнаяТаблицаСвойств.Колонки.Добавить("ЭлементDesigner", Новый ОписаниеТипов("Строка"));
|
||||
НормализованнаяТаблицаСвойств.Колонки.Добавить("Реквизит", Новый ОписаниеТипов("Строка"));
|
||||
НормализованнаяТаблицаСвойств.Колонки.Добавить("МетодПреобразования", Новый ОписаниеТипов("Строка"));
|
||||
НормализованнаяТаблицаСвойств.Колонки.Добавить("ЗначениеПоУмолчанию", Новый ОписаниеТипов("Строка"));
|
||||
НормализованнаяТаблицаСвойств.Колонки.Добавить("ТипЗначения", Новый ОписаниеТипов("Строка"));
|
||||
|
@ -27,8 +27,10 @@
|
||||
//
|
||||
Процедура ПрочитатьСтруктуруКонфигурации() Экспорт
|
||||
|
||||
|
||||
ОписаниеКонфигурации = ПрочитатьОписаниеКонфигурации();
|
||||
|
||||
ОписаниеКонфигурации = Новый ОписаниеКонфигурации();
|
||||
|
||||
ПрочитатьОписаниеКонфигурации();
|
||||
|
||||
ЗаполнитьИменаФайлов();
|
||||
|
||||
@ -38,23 +40,6 @@
|
||||
//
|
||||
Процедура НайтиМодулиКонфигурации() Экспорт
|
||||
|
||||
МодулиКонфигурации = СтруктурыОписаний.ТаблицаОписанияМодулей();
|
||||
|
||||
// todo сделать чтение форм
|
||||
ФормыКонфигурации = Новый ТаблицаЗначений;
|
||||
ФормыКонфигурации.Колонки.Добавить("Родитель");
|
||||
ФормыКонфигурации.Колонки.Добавить("ЭтоУправляемаяФорма");
|
||||
ФормыКонфигурации.Колонки.Добавить("Наименование");
|
||||
|
||||
// todo сделать чтение команд
|
||||
КомандыКонфигурации = Новый ТаблицаЗначений;
|
||||
КомандыКонфигурации.Колонки.Добавить("Родитель");
|
||||
КомандыКонфигурации.Колонки.Добавить("Наименование");
|
||||
|
||||
ОписаниеКонфигурации.Вставить("ФормыКонфигурации", ФормыКонфигурации);
|
||||
ОписаниеКонфигурации.Вставить("КомандыКонфигурации", КомандыКонфигурации);
|
||||
ОписаниеКонфигурации.Вставить("МодулиКонфигурации", МодулиКонфигурации);
|
||||
|
||||
Для Каждого ОбъектКонфигурации Из ОписаниеКонфигурации.ОбъектыКонфигурации Цикл
|
||||
|
||||
ФайлыМодулей = СтруктураКаталогов.НайтиМодулиОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип, Истина);
|
||||
@ -67,7 +52,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
МодулиКонфигурации.Сортировать("ПутьКФайлу");
|
||||
ОписаниеКонфигурации.МодулиКонфигурации.Сортировать("ПутьКФайлу");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -235,7 +220,7 @@
|
||||
// дополним объекты информацией о подсистемах
|
||||
ПодсистемыКонфигурации = ПрочитатьПодсистемыКонфигурации();
|
||||
|
||||
ОписаниеКонфигурации.Вставить("ПодсистемыКонфигурации", ПодсистемыКонфигурации);
|
||||
ОписаниеКонфигурации.ПодсистемыКонфигурации = ПодсистемыКонфигурации;
|
||||
|
||||
Для Каждого ОбъектКонфигурации Из ОписаниеКонфигурации.ОбъектыКонфигурации Цикл
|
||||
|
||||
@ -266,7 +251,7 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеКонфигурации = ПрочитатьФайлОписанияОбъекта(ФайлКонфигурации, ТипыОбъектовКонфигурации.ИмяТипаКонфигурации());
|
||||
ДанныеКонфигурации = ПрочитатьФайлОписанияОбъекта(ФайлКонфигурации, ТипыОбъектовКонфигурации.ИмяТипаКонфигурации());
|
||||
|
||||
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
||||
|
||||
@ -278,11 +263,11 @@
|
||||
НовСтрока.Наименование = НовСтрока.Тип;
|
||||
НовСтрока.ПутьКФайлу = ФайлКонфигурации;
|
||||
|
||||
Для Каждого Подчиненный Из ОписаниеКонфигурации.Подчиненные Цикл
|
||||
Для Каждого Подчиненный Из ДанныеКонфигурации.Подчиненные Цикл
|
||||
|
||||
ЧастиИмени = СтрРазделить(Подчиненный, ".");
|
||||
|
||||
НовСтрока = ОбъектыКонфигурации.Добавить();
|
||||
НовСтрока = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
||||
|
||||
НовСтрока.Тип = ТипыОбъектовКонфигурации.НормализоватьИмя(ЧастиИмени[0]);
|
||||
НовСтрока.Наименование = ЧастиИмени[1];
|
||||
@ -290,9 +275,9 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ОписаниеКонфигурации.Удалить("Подчиненные");
|
||||
|
||||
Возврат Новый Структура("СвойстваКонфигурации, ОбъектыКонфигурации", ОписаниеКонфигурации, ОбъектыКонфигурации);
|
||||
ДанныеКонфигурации.Удалить("Подчиненные");
|
||||
|
||||
ОписаниеКонфигурации.СвойстваКонфигурации = ДанныеКонфигурации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -306,14 +291,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбъектыТипа(Знач ТипОбъекта) Экспорт
|
||||
|
||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||
|
||||
Возврат ОписаниеКонфигурации.ОбъектыКонфигурации.НайтиСтроки(Новый Структура("Тип", ТипОбъекта));
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОписаниеМодуляПоИмениФайла(Знач ИмяФайлаМодуля, ОбъектКонфигурации, ОписаниеКонфигурации)
|
||||
|
||||
НовыйМодульКонфигурации = Неопределено;
|
||||
@ -460,7 +437,7 @@
|
||||
|
||||
ОписаниеПодсистем = СтруктурыОписаний.ТаблицаОписанияПодсистем();
|
||||
|
||||
Подсистемы = ПолучитьОбъектыТипа("Подсистема");
|
||||
Подсистемы = ОписаниеКонфигурации.ПолучитьОбъектыТипа("Подсистема");
|
||||
|
||||
Для Каждого Подсистема Из Подсистемы Цикл
|
||||
|
||||
|
@ -106,8 +106,6 @@
|
||||
|
||||
Функция ПрочитатьСвойстваXML(ЧтениеXML, ПараметрыЧтения)
|
||||
|
||||
Данные = Новый Структура();
|
||||
|
||||
ЧтениеXML.Прочитать();
|
||||
ЧтениеXML.Прочитать();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user