mirror of
https://github.com/bia-technologies/bsl-parser.git
synced 2024-11-24 08:12:17 +02:00
#ONECICD-148
Описания, тесты, исправления ошибок
This commit is contained in:
parent
f3eece6f97
commit
c96528dba6
@ -1,96 +0,0 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Описание модуля
|
|
||||||
//
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
Перем Генератор Экспорт;
|
|
||||||
Перем ПараметрыГенерации Экспорт;
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// Создает и инициализирует поток записи описаний корневого объекта
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Описание - Структура - Описание объекта, наименование синоним и прочее
|
|
||||||
// ТипОбъекта - Строка - Каноническое имя типа (Configuration, Extension...)
|
|
||||||
// ИмяФайла - Строка - Имя файла описания объекта, в который будут записаны данные
|
|
||||||
//
|
|
||||||
Функция СоздатьОписаниеКорневогоОбъекта(Описание, ТипОбъекта, ИмяФайла) Экспорт
|
|
||||||
|
|
||||||
Запись = Генератор.СоздатьОписаниеКорневогоОбъекта(Описание, ТипОбъекта, ИмяФайла, ПараметрыГенерации);
|
|
||||||
ПараметрыГенерации.Вставить("ЗаписьConfiguration", Запись);
|
|
||||||
|
|
||||||
Возврат Запись;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Сохраняет и закрывает поток записи описаний корневого объекта
|
|
||||||
//
|
|
||||||
Процедура ЗафиксироватьОписаниеКорневогоОбъекта() Экспорт
|
|
||||||
|
|
||||||
ОбработкаXML.ЗакрытьЗапись(ПараметрыГенерации.ЗаписьConfiguration);
|
|
||||||
ПараметрыГенерации.ЗаписьConfiguration = Неопределено;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Регистрирует объект в списке объектов конфигурации
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// ОбъектКонфигурации - Произвольный - Объект содержащий реквизиты - Тип и Наименование
|
|
||||||
//
|
|
||||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации) Экспорт
|
|
||||||
|
|
||||||
Генератор.ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ПараметрыГенерации);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
// Создает поток и инициализирует поток записи описания объекта
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// ТипОбъекта - Строка - Каноническое имя типа (Configuration, Extension...)
|
|
||||||
// ИмяФайла - Строка - Имя файла описания объекта, в который будут записаны данные
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// ЗаписьXML - Поток записи данных
|
|
||||||
//
|
|
||||||
Функция СоздатьЗапись(ТипОбъекта, ИмяФайла) Экспорт
|
|
||||||
|
|
||||||
Возврат Генератор.СоздатьЗапись(ТипОбъекта, ПараметрыГенерации, ИмяФайла);
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Записывает служебную информацию об уидах платформенных типов
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Запись - ЗаписьXML - Поток записи
|
|
||||||
// ИмяОбъекта - Строка - Имя объекта конфигурации
|
|
||||||
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
|
||||||
//
|
|
||||||
Процедура ЗаписатьПорождаемыеТипы(Запись, ИмяОбъекта, ТипОбъекта) Экспорт
|
|
||||||
|
|
||||||
Генератор.ЗаписатьПорождаемыеТипы(Запись, ИмяОбъекта, ТипОбъекта);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура ПриСозданииОбъекта(ФорматВыгрузки, ГенерацияРасширения) Экспорт
|
|
||||||
|
|
||||||
Если ФорматВыгрузки = ФорматыВыгрузки.EDT Тогда
|
|
||||||
|
|
||||||
Генератор = ГенераторОписанийEDT;
|
|
||||||
|
|
||||||
Иначе
|
|
||||||
|
|
||||||
Генератор = ГенераторОписанийКонфигуратор;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ПараметрыГенерации = Генератор.СоздатьПараметрыГенерации("8.3.10", ГенерацияРасширения);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
@ -48,13 +48,13 @@
|
|||||||
//
|
//
|
||||||
Функция СоздатьОписаниеКорневогоОбъекта(ОписаниеРасширения, ТипОбъекта, ИмяФайла, ПараметрыГенерации) Экспорт
|
Функция СоздатьОписаниеКорневогоОбъекта(ОписаниеРасширения, ТипОбъекта, ИмяФайла, ПараметрыГенерации) Экспорт
|
||||||
|
|
||||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
НормТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||||
|
|
||||||
ЗаписьConfiguration = СоздатьЗапись("Configuration", ПараметрыГенерации, ИмяФайла);
|
ЗаписьConfiguration = СоздатьЗапись("Configuration", ПараметрыГенерации, ИмяФайла);
|
||||||
|
|
||||||
ГенераторОписанийОбщий.ЗаписатьДанные(ЗаписьConfiguration, ОписаниеРасширения, ТипОбъекта, ЭтотОбъект);
|
ГенераторОписанийОбщий.ЗаписатьДанные(ЗаписьConfiguration, ОписаниеРасширения, НормТипОбъекта, ЭтотОбъект);
|
||||||
|
|
||||||
Если ТипыОбъектовКонфигурации.ИмяТипаРасширения() = ТипОбъекта Тогда
|
Если ТипыОбъектовКонфигурации.ИмяТипаРасширения() = НормТипОбъекта Тогда
|
||||||
|
|
||||||
ЗаписьConfiguration.ЗаписатьНачалоЭлемента("extension");
|
ЗаписьConfiguration.ЗаписатьНачалоЭлемента("extension");
|
||||||
ЗаписьConfiguration.ЗаписатьАтрибут("xsi:type", "mdclassExtension:ConfigurationExtension");
|
ЗаписьConfiguration.ЗаписатьАтрибут("xsi:type", "mdclassExtension:ConfigurationExtension");
|
||||||
@ -94,15 +94,15 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
// ЗаписьConfiguration - ЗаписьXML - Поток записи описания
|
||||||
//
|
//
|
||||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ПараметрыГенерации) Экспорт
|
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ЗаписьConfiguration) Экспорт
|
||||||
|
|
||||||
ИмяТипа = ТипыОбъектовКонфигурации.ОписаниеТипаПоИмени(ОбъектКонфигурации.Тип).НаименованиеКоллекцииEng;
|
ИмяТипа = ТипыОбъектовКонфигурации.ОписаниеТипаПоИмени(ОбъектКонфигурации.Тип).НаименованиеКоллекцииEng;
|
||||||
ИмяТипа = НРег(Лев(ИмяТипа, 1)) + Сред(ИмяТипа, 2);
|
ИмяТипа = НРег(Лев(ИмяТипа, 1)) + Сред(ИмяТипа, 2);
|
||||||
|
|
||||||
ИмяОбъекта = СтрШаблон("%1.%2", ОбъектКонфигурации.Тип, ОбъектКонфигурации.Наименование);
|
ИмяОбъекта = СтрШаблон("%1.%2", ОбъектКонфигурации.Тип, ОбъектКонфигурации.Наименование);
|
||||||
ОбработкаXML.ЗаписатьЗначениеXML(ПараметрыГенерации.ЗаписьConfiguration, ИмяТипа, ИмяОбъекта);
|
ОбработкаXML.ЗаписатьЗначениеXML(ЗаписьConfiguration, ИмяТипа, ИмяОбъекта);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
// ГенерацияРасширения - Булево - Флаг создания расширения
|
// ГенерацияРасширения - Булево - Флаг создания расширения
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Служебные параметры генератора
|
// ФиксированнаяСтруктура - Служебные параметры генератора
|
||||||
//
|
//
|
||||||
Функция СоздатьПараметрыГенерации(ВерсияПлатформы, ГенерацияРасширения) Экспорт
|
Функция СоздатьПараметрыГенерации(ВерсияПлатформы, ГенерацияРасширения) Экспорт
|
||||||
|
|
||||||
@ -34,7 +34,7 @@
|
|||||||
ПараметрыГенерации.Вставить("ВерсияВыгрузки", ВерсияВыгрузки);
|
ПараметрыГенерации.Вставить("ВерсияВыгрузки", ВерсияВыгрузки);
|
||||||
ПараметрыГенерации.Вставить("ГенерацияРасширения", ГенерацияРасширения = Истина);
|
ПараметрыГенерации.Вставить("ГенерацияРасширения", ГенерацияРасширения = Истина);
|
||||||
|
|
||||||
Возврат ПараметрыГенерации;
|
Возврат Новый ФиксированнаяСтруктура(ПараметрыГенерации);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@ -42,7 +42,7 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ОписаниеРасширения - Структура - Описание расширения, наименование синоним и прочее
|
// ОписаниеРасширения - Структура - Описание расширения, наименование синоним и прочее
|
||||||
// ТипОбъекта - Строка - Каноническое имя типа (Configuration, Extension...)
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
// ИмяФайла - Строка - Имя файла описания объекта, в который будут записаны данные
|
// ИмяФайла - Строка - Имя файла описания объекта, в который будут записаны данные
|
||||||
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
||||||
//
|
//
|
||||||
@ -93,11 +93,11 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
// ЗаписьConfiguration - ЗаписьXML - Поток записи описания
|
||||||
//
|
//
|
||||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ПараметрыГенерации) Экспорт
|
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ЗаписьConfiguration) Экспорт
|
||||||
|
|
||||||
ОбработкаXML.ЗаписатьЗначениеXML(ПараметрыГенерации.ЗаписьConfiguration, ОбъектКонфигурации.Тип, ОбъектКонфигурации.Наименование);
|
ОбработкаXML.ЗаписатьЗначениеXML(ЗаписьConfiguration, ОбъектКонфигурации.Тип, ОбъектКонфигурации.Наименование);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
@ -6,10 +6,6 @@
|
|||||||
|
|
||||||
Перем Рефлектор;
|
Перем Рефлектор;
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// СЛУЖЕБНЫЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
// СЛУЖЕБНЫЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -1,46 +1,78 @@
|
|||||||
|
|
||||||
|
// Создает набор параметров необходимый для записи описаний объектов
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Конфигурация - Конфигурация, Расширение - Объект для, которого необходима запись
|
||||||
|
// ТипКорневогоЭлемента - Строка - Имя типа корневого элемента объекта
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура- Набор параметров записи
|
||||||
|
//
|
||||||
Функция СоздатьПараметрыЗаписи(Конфигурация, ТипКорневогоЭлемента) Экспорт
|
Функция СоздатьПараметрыЗаписи(Конфигурация, ТипКорневогоЭлемента) Экспорт
|
||||||
|
|
||||||
|
ГенерацияРасширения = ТипКорневогоЭлемента = ТипыОбъектовКонфигурации.ИмяТипаРасширения();
|
||||||
|
|
||||||
ПараметрыЗаписи = Новый Структура();
|
ПараметрыЗаписи = Новый Структура();
|
||||||
ПараметрыЗаписи.Вставить("ОписаниеКонфигурации", Конфигурация.ОписаниеКонфигурации());
|
ПараметрыЗаписи.Вставить("ОписаниеКонфигурации", Конфигурация.ОписаниеКонфигурации());
|
||||||
ПараметрыЗаписи.Вставить("СтруктураКаталогов", Конфигурация.СтруктураКаталогов());
|
ПараметрыЗаписи.Вставить("СтруктураКаталогов", Конфигурация.СтруктураКаталогов());
|
||||||
ПараметрыЗаписи.Вставить("ТипКорневогоЭлемента", ТипКорневогоЭлемента);
|
ПараметрыЗаписи.Вставить("ТипКорневогоЭлемента", ТипКорневогоЭлемента);
|
||||||
ПараметрыЗаписи.Вставить("ФорматВыгрузки", ПараметрыЗаписи.СтруктураКаталогов.ФорматВыгрузки());
|
ПараметрыЗаписи.Вставить("ФорматВыгрузки", ПараметрыЗаписи.СтруктураКаталогов.ФорматВыгрузки());
|
||||||
ПараметрыЗаписи.Вставить("Изменения", Новый Структура("ИзмененКорневойОбъект", Ложь));
|
ПараметрыЗаписи.Вставить("Изменения", Новый Структура("ИзмененКорневойОбъект", Истина));
|
||||||
|
|
||||||
ГенераторОписаний = Новый ГенераторОписаний(ПараметрыЗаписи.ФорматВыгрузки, ТипКорневогоЭлемента = ТипыОбъектовКонфигурации.ИмяТипаРасширения());
|
Если ПараметрыЗаписи.ФорматВыгрузки = ФорматыВыгрузки.EDT Тогда
|
||||||
|
|
||||||
|
ГенераторОписаний = ГенераторОписанийEDT;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
ГенераторОписаний = ГенераторОписанийКонфигуратор;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПараметрыГенерации = ГенераторОписаний.СоздатьПараметрыГенерации("8.3.10", ГенерацияРасширения);
|
||||||
|
|
||||||
ПараметрыЗаписи.Вставить("ГенераторОписаний", ГенераторОписаний);
|
ПараметрыЗаписи.Вставить("ГенераторОписаний", ГенераторОписаний);
|
||||||
|
ПараметрыЗаписи.Вставить("ПараметрыГенерации", ПараметрыГенерации);
|
||||||
|
|
||||||
Возврат Новый ФиксированнаяСтруктура(ПараметрыЗаписи);
|
Возврат Новый ФиксированнаяСтруктура(ПараметрыЗаписи);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СохранитьОписание(ОбъектКонфигурации) Экспорт
|
// Сохраняет описание объекта конфигурации на диск
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Процедура СохранитьОписание(ОбъектКонфигурации) Экспорт
|
||||||
|
|
||||||
ПараметрыЗаписи = ОбъектКонфигурации.Конфигурация.ПараметрыЗаписи();
|
ПараметрыЗаписи = ОбъектКонфигурации.Конфигурация.ПараметрыЗаписи();
|
||||||
ДанныеОбъекта = ОбъектКонфигурации.Описание;
|
ДанныеОбъекта = ОбъектКонфигурации.Описание;
|
||||||
|
|
||||||
ИмяФайла = ПараметрыЗаписи.СтруктураКаталогов.ИмяФайлаОписанияОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
|
ИмяФайла = ПараметрыЗаписи.СтруктураКаталогов.ИмяФайлаОписанияОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
|
||||||
|
|
||||||
Запись = ПараметрыЗаписи.ГенераторОписаний.СоздатьЗапись(ОбъектКонфигурации.Тип, ИмяФайла);
|
Запись = ПараметрыЗаписи.ГенераторОписаний.СоздатьЗапись(ОбъектКонфигурации.Тип, ПараметрыЗаписи.ПараметрыГенерации, ИмяФайла);
|
||||||
|
|
||||||
ОписаниеСвойств = СтруктурыОписаний.ОписаниеСвойствОбъекта(ОбъектКонфигурации.Тип);
|
ОписаниеСвойств = СтруктурыОписаний.ОписаниеСвойствОбъекта(ОбъектКонфигурации.Тип);
|
||||||
|
|
||||||
ПараметрыЗаписи.ГенераторОписаний.Генератор.ЗаписатьПорождаемыеТипы(Запись, ДанныеОбъекта.Наименование, ОбъектКонфигурации.Тип);
|
ПараметрыЗаписи.ГенераторОписаний.ЗаписатьПорождаемыеТипы(Запись, ДанныеОбъекта.Наименование, ОбъектКонфигурации.Тип);
|
||||||
ПараметрыЗаписи.ГенераторОписаний.Генератор.ЗаписатьСвойства(Запись, ОбъектКонфигурации.Тип, ДанныеОбъекта);
|
ПараметрыЗаписи.ГенераторОписаний.ЗаписатьСвойства(Запись, ОбъектКонфигурации.Тип, ДанныеОбъекта);
|
||||||
|
|
||||||
Если ОписаниеСвойств.ЕстьПодчиненные Тогда
|
Если ОписаниеСвойств.ЕстьПодчиненные Тогда
|
||||||
|
|
||||||
ПараметрыЗаписи.ГенераторОписаний.Генератор.Подчиненные(Запись, ?(ДанныеОбъекта.Свойство("Подчиненные"), ДанныеОбъекта.Подчиненные, Неопределено));
|
ПараметрыЗаписи.ГенераторОписаний.Подчиненные(Запись, ?(ДанныеОбъекта.Свойство("Подчиненные"), ДанныеОбъекта.Подчиненные, Неопределено));
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ОбработкаXML.ЗакрытьЗапись(Запись);
|
ОбработкаXML.ЗакрытьЗапись(Запись);
|
||||||
|
|
||||||
КонецФункции
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция Зафиксировать(ПараметрыЗаписи) Экспорт
|
// Записывает данные на диск
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПараметрыЗаписи - Структура - Параметры записи, уникальные для каждой конфигурации. См. СоздатьПараметрыЗаписи
|
||||||
|
//
|
||||||
|
Процедура Зафиксировать(ПараметрыЗаписи) Экспорт
|
||||||
|
|
||||||
ПараметрыЗаписи.ОписаниеКонфигурации.ОбъектыКонфигурации.Сортировать("Тип, Наименование");
|
ПараметрыЗаписи.ОписаниеКонфигурации.ОбъектыКонфигурации.Сортировать("Тип, Наименование");
|
||||||
|
|
||||||
@ -48,40 +80,44 @@
|
|||||||
|
|
||||||
ИмяФайлаОписания = ПараметрыЗаписи.СтруктураКаталогов.ИмяФайлаОписанияКонфигурации();
|
ИмяФайлаОписания = ПараметрыЗаписи.СтруктураКаталогов.ИмяФайлаОписанияКонфигурации();
|
||||||
|
|
||||||
ПараметрыЗаписи.ГенераторОписаний.СоздатьОписаниеКорневогоОбъекта(
|
ЗаписьConfiguration = ПараметрыЗаписи.ГенераторОписаний.СоздатьОписаниеКорневогоОбъекта(
|
||||||
ПараметрыЗаписи.ОписаниеКонфигурации.СвойстваКонфигурации,
|
ПараметрыЗаписи.ОписаниеКонфигурации.СвойстваКонфигурации,
|
||||||
ПараметрыЗаписи.ТипКорневогоЭлемента,
|
ПараметрыЗаписи.ТипКорневогоЭлемента,
|
||||||
ИмяФайлаОписания);
|
ИмяФайлаОписания,
|
||||||
|
ПараметрыЗаписи.ПараметрыГенерации);
|
||||||
|
|
||||||
Для Каждого Стр Из ПараметрыЗаписи.ОписаниеКонфигурации.ОбъектыКонфигурации Цикл
|
Для Каждого Стр Из ПараметрыЗаписи.ОписаниеКонфигурации.ОбъектыКонфигурации Цикл
|
||||||
|
|
||||||
Если Стр.Тип <> ПараметрыЗаписи.ТипКорневогоЭлемента И Стр.Родитель = Неопределено Тогда
|
Если Стр.Тип <> ПараметрыЗаписи.ТипКорневогоЭлемента И Стр.Родитель = Неопределено Тогда
|
||||||
|
|
||||||
ПараметрыЗаписи.ГенераторОписаний.ЗарегистрироватьОбъектВКонфигурации(Стр);
|
ПараметрыЗаписи.ГенераторОписаний.ЗарегистрироватьОбъектВКонфигурации(Стр, ЗаписьConfiguration);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
ПараметрыЗаписи.ГенераторОписаний.ЗафиксироватьОписаниеКорневогоОбъекта();
|
ОбработкаXML.ЗакрытьЗапись(ЗаписьConfiguration);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
ПараметрыЗаписи.Изменения.ИзмененКорневойОбъект = Ложь;
|
||||||
|
|
||||||
// Создает структуру данных объекта
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Служебный метод, его необходимо вызывать при добавлении объекта в конфигурацию
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
// Наименование - Строка - Имя объекта
|
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
Процедура ПриДобавленииОбъекта(ОбъектКонфигурации) Экспорт
|
||||||
// Структура - Пустышка описания объекта
|
|
||||||
//
|
|
||||||
Функция ПолучитьОписаниеОбъекта(ТипОбъекта, Наименование = Неопределено) Экспорт
|
|
||||||
|
|
||||||
ОписаниеОбъекта = СтруктурыОписаний.СоздатьОбъект(ТипОбъекта, Наименование);
|
ЗаписьКонфигурации.СохранитьОписание(ОбъектКонфигурации);
|
||||||
|
ОбъектКонфигурации.Конфигурация.ПараметрыЗаписи().Изменения.ИзмененКорневойОбъект = Истина;
|
||||||
|
|
||||||
Возврат ОписаниеОбъекта;
|
КонецПроцедуры
|
||||||
|
|
||||||
КонецФункции
|
Процедура УстановитьПризнакИзменений(ПараметрыЗаписи, НовыйПризнакИзменений) Экспорт
|
||||||
|
|
||||||
|
ПараметрыЗаписи.Изменения.ИзмененКорневойОбъект = НовыйПризнакИзменений;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
@ -1,47 +1,80 @@
|
|||||||
Функция ДобавитьОбъект(ОписаниеКонфигурации, Тип, ОписаниеИлиИмя) Экспорт
|
// Добавляет объект в конфигурацию
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОписаниеКонфигурации - ДанныеКонфигурации - Объект содержащий данные конфигурации (объекты, модули и т.д.)
|
||||||
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
|
// ОписаниеИлиИмя - Структура, Строка - Имя или данные объекта
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Функция ДобавитьОбъект(ОписаниеКонфигурации, ТипОбъекта, ОписаниеИлиИмя) Экспорт
|
||||||
|
|
||||||
Если ТипЗнч(ОписаниеИлиИмя) = Тип("Строка") Тогда
|
Если ТипЗнч(ОписаниеИлиИмя) = Тип("Строка") Тогда
|
||||||
Возврат ДобавитьОбъектПоИмени(ОписаниеКонфигурации, Тип, ОписаниеИлиИмя);
|
Возврат ДобавитьОбъектПоИмени(ОписаниеКонфигурации, ТипОбъекта, ОписаниеИлиИмя);
|
||||||
Иначе
|
Иначе
|
||||||
Возврат ДобавитьОбъектПоОписанию(ОписаниеКонфигурации, Тип, ОписаниеИлиИмя);
|
Возврат ДобавитьОбъектПоОписанию(ОписаниеКонфигурации, ТипОбъекта, ОписаниеИлиИмя);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ДобавитьОбъектПоИмени(ОписаниеКонфигурации, Тип, Имя) Экспорт
|
// Перегрузка метода добавить, выполняет добавление по типу и имени
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОписаниеКонфигурации - ДанныеКонфигурации - Объект содержащий данные конфигурации (объекты, модули и т.д.)
|
||||||
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
|
// Имя - Строка - Имя добавляемого объекта
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Функция ДобавитьОбъектПоИмени(ОписаниеКонфигурации, ТипОбъекта, Имя) Экспорт
|
||||||
|
|
||||||
Тип = ТипыОбъектовКонфигурации.НормализоватьИмя(Тип);
|
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||||
|
|
||||||
ОбъектКонфигурации = ОписаниеКонфигурации.НайтиОбъект(Имя, Тип);
|
ОбъектКонфигурации = ОписаниеКонфигурации.НайтиОбъект(Имя, ТипОбъекта);
|
||||||
|
|
||||||
Если ОбъектКонфигурации <> Неопределено Тогда
|
Если ОбъектКонфигурации <> Неопределено Тогда
|
||||||
|
|
||||||
ВызватьИсключение СтрШаблон("Объект '%1.%2'уже зарегистрирован в конфигурации", Тип, Имя);
|
ВызватьИсключение СтрШаблон("Объект '%1.%2'уже зарегистрирован в конфигурации", ТипОбъекта, Имя);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ОбъектКонфигурации = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
ОбъектКонфигурации = ОписаниеКонфигурации.ОбъектыКонфигурации.Добавить();
|
||||||
ОбъектКонфигурации.Наименование = Имя;
|
ОбъектКонфигурации.Наименование = Имя;
|
||||||
ОбъектКонфигурации.Конфигурация = ОписаниеКонфигурации.Конфигурация;
|
ОбъектКонфигурации.Конфигурация = ОписаниеКонфигурации.Конфигурация;
|
||||||
ОбъектКонфигурации.Тип = Тип;
|
ОбъектКонфигурации.Тип = ТипОбъекта;
|
||||||
|
|
||||||
ОбъектКонфигурации.ПолноеНаименование = Тип + "." + ОбъектКонфигурации.Наименование;
|
ОбъектКонфигурации.ПолноеНаименование = ТипОбъекта + "." + ОбъектКонфигурации.Наименование;
|
||||||
|
|
||||||
ОписаниеКонфигурации.Конфигурация.ПараметрыЗаписи().Изменения.ИзмененКорневойОбъект = Истина;
|
|
||||||
|
|
||||||
Возврат ОбъектКонфигурации;
|
Возврат ОбъектКонфигурации;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ДобавитьОбъектПоОписанию(ОписаниеКонфигурации, Тип, ОписаниеОбъекта) Экспорт
|
// Перегрузка метода добавить, выполняет добавление по типу и данным объекта
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОписаниеКонфигурации - ДанныеКонфигурации - Объект содержащий данные конфигурации (объекты, модули и т.д.)
|
||||||
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
|
// ОписаниеОбъекта - Структура - Данные описания объекта
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Функция ДобавитьОбъектПоОписанию(ОписаниеКонфигурации, ТипОбъекта, ОписаниеОбъекта) Экспорт
|
||||||
|
|
||||||
ОбъектКонфигурации = ДобавитьОбъектПоИмени(ОписаниеКонфигурации, Тип, ОписаниеОбъекта.Наименование);
|
ОбъектКонфигурации = ДобавитьОбъектПоИмени(ОписаниеКонфигурации, ТипОбъекта, ОписаниеОбъекта.Наименование);
|
||||||
ОбъектКонфигурации.Описание = ОписаниеОбъекта;
|
ОбъектКонфигурации.Описание = ОписаниеОбъекта;
|
||||||
|
|
||||||
Возврат ОбъектКонфигурации;
|
Возврат ОбъектКонфигурации;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Выполняет настройку объекта для создания новой конфигурации
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Конфигурация - Конфигурация - Описание конфигурации
|
||||||
|
//
|
||||||
Процедура ИнициализироватьСозданиеНового(Конфигурация) Экспорт
|
Процедура ИнициализироватьСозданиеНового(Конфигурация) Экспорт
|
||||||
|
|
||||||
СвойстваКонфигурации = СтруктурыОписаний.СоздатьОбъект(ТипыОбъектовКонфигурации.ИмяТипаКонфигурации(), "Конфигурация");
|
СвойстваКонфигурации = СтруктурыОписаний.СоздатьОбъект(ТипыОбъектовКонфигурации.ИмяТипаКонфигурации(), "Конфигурация");
|
||||||
|
@ -8,6 +8,15 @@
|
|||||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Добавляет объект конфигурации в расширение, для переопределения, либо использования
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОписаниеКонфигурации - ДанныеКонфигурации - Объект содержащий данные конфигурации (объекты, модули и т.д.)
|
||||||
|
// ОбъектРодительскойКонфигурации - СтрокаТаблицыЗначений - Описание объекта родительской конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтрокаТаблицыЗначений - Описание объекта расширения. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
Функция ДобавитьОбъектВРасширение(ОписаниеКонфигурации, ОбъектРодительскойКонфигурации) Экспорт
|
Функция ДобавитьОбъектВРасширение(ОписаниеКонфигурации, ОбъектРодительскойКонфигурации) Экспорт
|
||||||
|
|
||||||
Тип = ОбъектРодительскойКонфигурации.Тип;
|
Тип = ОбъектРодительскойКонфигурации.Тип;
|
||||||
@ -35,9 +44,17 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Выполняет настройку объекта для создания нового расширения
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Расширение - Расширение - Описание расширения
|
||||||
|
//
|
||||||
Процедура ИнициализироватьСозданиеНового(Расширение) Экспорт
|
Процедура ИнициализироватьСозданиеНового(Расширение) Экспорт
|
||||||
|
|
||||||
СвойстваРасширения = СтруктурыОписаний.СоздатьОбъект(ТипыОбъектовКонфигурации.ИмяТипаРасширения(), "Расширение");
|
СвойстваРасширения = СтруктурыОписаний.СоздатьОбъект(ТипыОбъектовКонфигурации.ИмяТипаРасширения(), "Расширение");
|
||||||
|
СвойстваРасширения.Принадлежность = "Adopted";
|
||||||
|
СвойстваРасширения.Назначение = "Customization";
|
||||||
|
|
||||||
Расширение.ОписаниеКонфигурации().СвойстваКонфигурации = СвойстваРасширения;
|
Расширение.ОписаниеКонфигурации().СвойстваКонфигурации = СвойстваРасширения;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
@ -59,11 +59,11 @@
|
|||||||
Функция ТаблицаОписанияМодулей() Экспорт
|
Функция ТаблицаОписанияМодулей() Экспорт
|
||||||
|
|
||||||
МодулиКонфигурации = Новый ТаблицаЗначений;
|
МодулиКонфигурации = Новый ТаблицаЗначений;
|
||||||
МодулиКонфигурации.Колонки.Добавить("ТипМодуля");
|
МодулиКонфигурации.Колонки.Добавить("ТипМодуля", Новый ОписаниеТипов("Строка"));
|
||||||
МодулиКонфигурации.Колонки.Добавить("Родитель");
|
МодулиКонфигурации.Колонки.Добавить("Родитель");
|
||||||
МодулиКонфигурации.Колонки.Добавить("ПутьКФайлу");
|
МодулиКонфигурации.Колонки.Добавить("ПутьКФайлу", Новый ОписаниеТипов("Строка"));
|
||||||
МодулиКонфигурации.Колонки.Добавить("НаборБлоков");
|
МодулиКонфигурации.Колонки.Добавить("НаборБлоков");
|
||||||
МодулиКонфигурации.Колонки.Добавить("Содержимое");
|
МодулиКонфигурации.Колонки.Добавить("Содержимое", Новый ОписаниеТипов("Строка"));
|
||||||
МодулиКонфигурации.Колонки.Добавить("РодительФорма");
|
МодулиКонфигурации.Колонки.Добавить("РодительФорма");
|
||||||
МодулиКонфигурации.Колонки.Добавить("РодительКоманда");
|
МодулиКонфигурации.Колонки.Добавить("РодительКоманда");
|
||||||
МодулиКонфигурации.Колонки.Добавить("ОписаниеМодуля");
|
МодулиКонфигурации.Колонки.Добавить("ОписаниеМодуля");
|
||||||
|
@ -1,5 +1,14 @@
|
|||||||
#Использовать fs
|
#Использовать fs
|
||||||
|
|
||||||
|
// Создает набор параметров необходимый для чтения описаний объектов
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Конфигурация - Конфигурация, Расширение - Объект для, которого необходимо чтение
|
||||||
|
// ТипКорневогоЭлемента - Строка - Имя типа корневого элемента объекта
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура- Набор параметров чтения
|
||||||
|
//
|
||||||
Функция СоздатьПараметрыЧтения(Конфигурация, ТипКорневогоЭлемента) Экспорт
|
Функция СоздатьПараметрыЧтения(Конфигурация, ТипКорневогоЭлемента) Экспорт
|
||||||
|
|
||||||
ПараметрыЧтения = Новый Структура();
|
ПараметрыЧтения = Новый Структура();
|
||||||
@ -70,6 +79,58 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Выполняет поиск всех модулей конфигурации
|
||||||
|
//
|
||||||
|
Процедура НайтиМодулиКонфигурации(ПараметрыЧтения) Экспорт
|
||||||
|
|
||||||
|
ОписаниеКонфигурации = ПараметрыЧтения.ОписаниеКонфигурации;
|
||||||
|
ОбъектыКонфигурации = ОписаниеКонфигурации.ОбъектыКонфигурации;
|
||||||
|
СтруктураКаталогов = ПараметрыЧтения.СтруктураКаталогов;
|
||||||
|
|
||||||
|
Для Каждого ОбъектКонфигурации Из ОбъектыКонфигурации Цикл
|
||||||
|
|
||||||
|
ФайлыМодулей = СтруктураКаталогов.НайтиМодулиОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип, Истина);
|
||||||
|
|
||||||
|
Для Каждого ИмяФайлаМодуля Из ФайлыМодулей Цикл
|
||||||
|
|
||||||
|
ПолучитьОписаниеМодуляПоИмениФайла(ИмяФайлаМодуля, ОбъектКонфигурации, ОписаниеКонфигурации);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ОписаниеКонфигурации.Модули.Сортировать("ПутьКФайлу");
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Читает и выполняет анализ содержимого модуля
|
||||||
|
// Устанавливает реквизиты "НаборБлоков" и "Содержимое"
|
||||||
|
// Параметры:
|
||||||
|
// СтрокаМодуль - СтрокаТаблицыЗначений - Базовое описание модуля
|
||||||
|
//
|
||||||
|
Процедура ПрочитатьСодержимоеМодуля(СтрокаМодуль) Экспорт
|
||||||
|
|
||||||
|
Файл = Новый ТекстовыйДокумент;
|
||||||
|
Файл.Прочитать(СтрокаМодуль.ПутьКФайлу, КодировкаТекста.UTF8NoBOM);
|
||||||
|
|
||||||
|
СодержимоеМодуля = ЧтениеМодулей.ПрочитатьМодуль(Файл, СтрокаМодуль);
|
||||||
|
СтрокаМодуль.Содержимое = СодержимоеМодуля.Содержимое;
|
||||||
|
СтрокаМодуль.НаборБлоков = СодержимоеМодуля.БлокиМодуля;
|
||||||
|
|
||||||
|
Если СтрокаМодуль.ТипМодуля = ТипыМодуля.ОбщийМодуль Тогда
|
||||||
|
|
||||||
|
Если СтрокаМодуль.Родитель.Описание = Неопределено Тогда
|
||||||
|
|
||||||
|
ПрочитатьОписание(СтрокаМодуль.Родитель);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтрокаМодуль.ОписаниеМодуля.Вставить("Глобальный", СтрокаМодуль.Родитель.Описание.Глобальный);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -117,17 +178,15 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьОписаниеМодуляПоИмениФайла(Знач ИмяФайлаМодуля, ОбъектКонфигурации, ОписаниеКонфигурации)
|
Процедура ПолучитьОписаниеМодуляПоИмениФайла(Знач ИмяФайлаМодуля, ОбъектКонфигурации, ОписаниеКонфигурации)
|
||||||
|
|
||||||
НовыйМодульКонфигурации = Неопределено;
|
|
||||||
|
|
||||||
ПустаяСтрокаМодульКонфигурации = Новый Структура(
|
|
||||||
"ПутьКФайлу, ТипМодуля, ОписаниеМодуля, Родитель, РодительФорма, РодительКоманда, НаборБлоков, Содержимое",
|
|
||||||
"", "", Новый Структура, Неопределено, Неопределено, Неопределено, Неопределено, Неопределено);
|
|
||||||
|
|
||||||
ТипЭтогоМодуля = ТипыМодуля.ТипМодуляПоИмениФайла(ИмяФайлаМодуля);
|
ТипЭтогоМодуля = ТипыМодуля.ТипМодуляПоИмениФайла(ИмяФайлаМодуля);
|
||||||
|
|
||||||
Если Не ПустаяСтрока(ТипЭтогоМодуля) Тогда
|
Если ПустаяСтрока(ТипЭтогоМодуля) Тогда
|
||||||
|
|
||||||
|
Возврат;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ФормаОбъекта = Неопределено;
|
ФормаОбъекта = Неопределено;
|
||||||
КомандаОбъекта = Неопределено;
|
КомандаОбъекта = Неопределено;
|
||||||
@ -159,25 +218,15 @@
|
|||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
НовыйМодульКонфигурации = ОписаниеКонфигурации.МодулиКонфигурации.Добавить();
|
НовыйМодульКонфигурации = ОписаниеКонфигурации.Модули.Добавить();
|
||||||
ЗаполнитьЗначенияСвойств(НовыйМодульКонфигурации, ПустаяСтрокаМодульКонфигурации);
|
|
||||||
НовыйМодульКонфигурации.ТипМодуля = ТипЭтогоМодуля;
|
НовыйМодульКонфигурации.ТипМодуля = ТипЭтогоМодуля;
|
||||||
НовыйМодульКонфигурации.ПутьКФайлу = ИмяФайлаМодуля;
|
НовыйМодульКонфигурации.ПутьКФайлу = ИмяФайлаМодуля;
|
||||||
НовыйМодульКонфигурации.Родитель = ОбъектКонфигурации;
|
НовыйМодульКонфигурации.Родитель = ОбъектКонфигурации;
|
||||||
НовыйМодульКонфигурации.РодительФорма = ФормаОбъекта;
|
НовыйМодульКонфигурации.РодительФорма = ФормаОбъекта;
|
||||||
НовыйМодульКонфигурации.РодительКоманда = КомандаОбъекта;
|
НовыйМодульКонфигурации.РодительКоманда = КомандаОбъекта;
|
||||||
|
НовыйМодульКонфигурации.ОписаниеМодуля = Новый Структура();
|
||||||
|
|
||||||
КонецЕсли;
|
КонецПроцедуры
|
||||||
|
|
||||||
Если НовыйМодульКонфигурации <> Неопределено Тогда
|
|
||||||
|
|
||||||
ЗаполнитьЗначенияСвойств(ПустаяСтрокаМодульКонфигурации, НовыйМодульКонфигурации);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат ПустаяСтрокаМодульКонфигурации;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Перем ОбъектыКонфигурации Экспорт;
|
Перем ОбъектыКонфигурации Экспорт;
|
||||||
Перем СвойстваКонфигурации Экспорт;
|
Перем СвойстваКонфигурации Экспорт;
|
||||||
Перем МодулиКонфигурации Экспорт;
|
Перем Модули Экспорт;
|
||||||
|
|
||||||
Перем ФормыКонфигурации Экспорт;
|
Перем ФормыКонфигурации Экспорт;
|
||||||
Перем КомандыКонфигурации Экспорт;
|
Перем КомандыКонфигурации Экспорт;
|
||||||
@ -18,6 +18,15 @@
|
|||||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Выполняет поиск объекта конфигурации
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ИмяОбъекта - Строка - Полное или короткое имя объекта (Полное - Справочник.Пользователи, короткой - Пользователи)
|
||||||
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
Функция НайтиОбъект(Знач ИмяОбъекта, Знач ТипОбъекта = Неопределено) Экспорт
|
Функция НайтиОбъект(Знач ИмяОбъекта, Знач ТипОбъекта = Неопределено) Экспорт
|
||||||
|
|
||||||
Если ТипОбъекта = Неопределено
|
Если ТипОбъекта = Неопределено
|
||||||
@ -50,6 +59,14 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает коллекцию объектов переданного типа
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Массив - Коллекция объектов, структура объектов см. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
Функция НайтиОбъектыПоТипу(Знач ТипОбъекта) Экспорт
|
Функция НайтиОбъектыПоТипу(Знач ТипОбъекта) Экспорт
|
||||||
|
|
||||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||||
@ -58,12 +75,12 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура ПриСозданииОбъекта(пКонфигурация) Экспорт
|
Процедура ПриСозданииОбъекта(пКонфигурация)
|
||||||
|
|
||||||
Конфигурация = пКонфигурация;
|
Конфигурация = пКонфигурация;
|
||||||
|
|
||||||
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
||||||
МодулиКонфигурации = СтруктурыОписаний.ТаблицаОписанияМодулей();
|
Модули = СтруктурыОписаний.ТаблицаОписанияМодулей();
|
||||||
|
|
||||||
// todo сделать чтение форм
|
// todo сделать чтение форм
|
||||||
ФормыКонфигурации = Новый ТаблицаЗначений;
|
ФормыКонфигурации = Новый ТаблицаЗначений;
|
||||||
|
@ -13,26 +13,70 @@
|
|||||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Читает описание структуры конфигурации
|
||||||
|
// * Описание конфигурации
|
||||||
|
// * Определяет местоположение описаний (файлов и каталогов)
|
||||||
|
//
|
||||||
Процедура ПрочитатьСтруктуру() Экспорт
|
Процедура ПрочитатьСтруктуру() Экспорт
|
||||||
|
|
||||||
ЧтениеКонфигурации.ПрочитатьСтруктуруКонфигурации(ПараметрыЧтения);
|
ЧтениеКонфигурации.ПрочитатьСтруктуруКонфигурации(ПараметрыЧтения);
|
||||||
|
ЗаписьКонфигурации.УстановитьПризнакИзменений(ПараметрыЗаписи, Ложь);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ДобавитьОбъект(Тип, ОписаниеОбъекта) Экспорт
|
// Добавляет новый объект в конфигурацию
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
|
// ОписаниеОбъекта - Структура, Строка - Данные объекта или его имя
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Функция ДобавитьОбъект(ТипОбъекта, ОписаниеОбъекта) Экспорт
|
||||||
|
|
||||||
ОбъектКонфигурации = РедакторКонфигурации.ДобавитьОбъект(ОписаниеКонфигурации, Тип, ОписаниеОбъекта);
|
ОбъектКонфигурации = РедакторКонфигурации.ДобавитьОбъект(ОписаниеКонфигурации, ТипОбъекта, ОписаниеОбъекта);
|
||||||
|
|
||||||
ЗаписьКонфигурации.СохранитьОписание(ОбъектКонфигурации);
|
ЗаписьКонфигурации.ПриДобавленииОбъекта(ОбъектКонфигурации);
|
||||||
|
|
||||||
Возврат ОбъектКонфигурации;
|
Возврат ОбъектКонфигурации;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Записывает данные на диск
|
||||||
|
//
|
||||||
|
Процедура Зафиксировать() Экспорт
|
||||||
|
|
||||||
|
ЗаписьКонфигурации.Зафиксировать(ПараметрыЗаписи);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Читает описание переданного объекта, его свойства и параметры
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Процедура ПрочитатьОписаниеОбъекта(ОбъектКонфигурации) Экспорт
|
||||||
|
|
||||||
|
ЧтениеКонфигурации.ПрочитатьОписание(ОбъектКонфигурации);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Сохраняет описание переданного объекта, его свойства и параметры
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Процедура ЗаписатьОписаниеОбъекта(ОбъектКонфигурации) Экспорт
|
||||||
|
|
||||||
|
ЗаписьКонфигурации.СохранитьОписание(ОбъектКонфигурации);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
// Возвращает описание конфигурации
|
// Возвращает описание конфигурации
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Описание конфигурации
|
// ДанныеКонфигурации - Описание конфигурации
|
||||||
//
|
//
|
||||||
Функция ОписаниеКонфигурации() Экспорт
|
Функция ОписаниеКонфигурации() Экспорт
|
||||||
|
|
||||||
@ -40,18 +84,65 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает объект для работы с иерархией каталогов расширения
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтруктураКаталоговКонфигурации - объект для работы с иерархией каталогов расширения
|
||||||
|
//
|
||||||
Функция СтруктураКаталогов() Экспорт
|
Функция СтруктураКаталогов() Экспорт
|
||||||
|
|
||||||
Возврат СтруктураКаталогов;
|
Возврат СтруктураКаталогов;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Выполняет поиск модулей конфигурации
|
||||||
|
// Найденные модули будут доступны ОписаниеКонфигурации().Модули
|
||||||
|
//
|
||||||
|
Процедура НайтиМодули() Экспорт
|
||||||
|
|
||||||
|
ЧтениеКонфигурации.НайтиМодулиКонфигурации(ПараметрыЧтения);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Выполняет чтение вложенных подсистем и привязку их к объектам конфигурации
|
||||||
|
//
|
||||||
|
Процедура ЗаполнитьПодсистемыОбъектовКонфигурации() Экспорт
|
||||||
|
|
||||||
|
ЧтениеКонфигурации.ЗаполнитьПодсистемыОбъектовКонфигурации(ПараметрыЧтения);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Читает и выполняет анализ содержимого модуля
|
||||||
|
// Устанавливает реквизиты "НаборБлоков" и "Содержимое"
|
||||||
|
// Параметры:
|
||||||
|
// СтрокаМодуль - СтрокаТаблицыЗначений - Базовое описание модуля
|
||||||
|
//
|
||||||
|
Процедура ПрочитатьСодержимоеМодуля(СтрокаМодуль) Экспорт
|
||||||
|
|
||||||
|
ЧтениеКонфигурации.ПрочитатьСодержимоеМодуля(СтрокаМодуль);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// СЛУЖЕБНЫЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Возвращает служебные параметры для чтения данных с диска
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Параметры чтения
|
||||||
|
//
|
||||||
Функция ПараметрыЧтения() Экспорт
|
Функция ПараметрыЧтения() Экспорт
|
||||||
|
|
||||||
Возврат ПараметрыЧтения;
|
Возврат ПараметрыЧтения;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает служебные параметры для записи данных на диск
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Параметры записи
|
||||||
|
//
|
||||||
Функция ПараметрыЗаписи() Экспорт
|
Функция ПараметрыЗаписи() Экспорт
|
||||||
|
|
||||||
Возврат ПараметрыЗаписи;
|
Возврат ПараметрыЗаписи;
|
||||||
|
@ -13,43 +13,88 @@
|
|||||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Читает описание структуры конфигурации
|
||||||
|
// * Описание конфигурации
|
||||||
|
// * Определяет местоположение описаний (файлов и каталогов)
|
||||||
|
//
|
||||||
Процедура ПрочитатьСтруктуру() Экспорт
|
Процедура ПрочитатьСтруктуру() Экспорт
|
||||||
|
|
||||||
ЧтениеКонфигурации.ПрочитатьСтруктуруКонфигурации(ПараметрыЧтения);
|
ЧтениеКонфигурации.ПрочитатьСтруктуруКонфигурации(ПараметрыЧтения);
|
||||||
ПараметрыЗаписи.Изменения.ИзмененКорневойОбъект = Ложь;
|
ЗаписьКонфигурации.УстановитьПризнакИзменений(ПараметрыЗаписи, Ложь);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ДобавитьОбъект(Тип, ОписаниеОбъекта) Экспорт
|
// Добавляет новый объект в конфигурацию
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
|
// ОписаниеОбъекта - Структура, Строка - Данные объекта или его имя
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Функция ДобавитьОбъект(ТипОбъекта, ОписаниеОбъекта) Экспорт
|
||||||
|
|
||||||
ОбъектКонфигурации = РедакторКонфигурации.ДобавитьОбъект(ОписаниеКонфигурации, Тип, ОписаниеОбъекта);
|
ОбъектКонфигурации = РедакторКонфигурации.ДобавитьОбъект(ОписаниеКонфигурации, ТипОбъекта, ОписаниеОбъекта);
|
||||||
|
|
||||||
ЗаписьКонфигурации.СохранитьОписание(ОбъектКонфигурации);
|
ЗаписьКонфигурации.ПриДобавленииОбъекта(ОбъектКонфигурации);
|
||||||
|
|
||||||
Возврат ОбъектКонфигурации;
|
Возврат ОбъектКонфигурации;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Добавляет объект базовой конфигурации в расширение
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОбъектРодительскойКонфигурации - СтрокаТаблицыЗначений - Описание объекта родительской конфигурации
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтрокаТаблицыЗначений - Описание объекта расширения. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
Функция ДобавитьОбъектВРасширение(ОбъектРодительскойКонфигурации) Экспорт
|
Функция ДобавитьОбъектВРасширение(ОбъектРодительскойКонфигурации) Экспорт
|
||||||
|
|
||||||
ОбъектКонфигурации = РедакторРасширения.ДобавитьОбъектВРасширение(ОписаниеКонфигурации, ОбъектРодительскойКонфигурации);
|
ОбъектКонфигурации = РедакторРасширения.ДобавитьОбъектВРасширение(ОписаниеКонфигурации, ОбъектРодительскойКонфигурации);
|
||||||
|
|
||||||
ЗаписьКонфигурации.СохранитьОписание(ОбъектКонфигурации);
|
ЗаписьКонфигурации.ПриДобавленииОбъекта(ОбъектКонфигурации);
|
||||||
|
|
||||||
Возврат ОбъектКонфигурации;
|
Возврат ОбъектКонфигурации;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Записывает данные на диск
|
||||||
|
//
|
||||||
Процедура Зафиксировать() Экспорт
|
Процедура Зафиксировать() Экспорт
|
||||||
|
|
||||||
ЗаписьКонфигурации.Зафиксировать(ПараметрыЗаписи);
|
ЗаписьКонфигурации.Зафиксировать(ПараметрыЗаписи);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Читает описание переданного объекта, его свойства и параметры
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Процедура ПрочитатьОписаниеОбъекта(ОбъектКонфигурации) Экспорт
|
||||||
|
|
||||||
|
ЧтениеКонфигурации.ПрочитатьОписание(ОбъектКонфигурации);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Сохраняет описание переданного объекта, его свойства и параметры
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||||
|
//
|
||||||
|
Процедура ЗаписатьОписаниеОбъекта(ОбъектКонфигурации) Экспорт
|
||||||
|
|
||||||
|
ЗаписьКонфигурации.СохранитьОписание(ОбъектКонфигурации);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
// Возвращает описание конфигурации
|
// Возвращает описание конфигурации
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - Описание конфигурации
|
// ДанныеКонфигурации - Описание конфигурации
|
||||||
//
|
//
|
||||||
Функция ОписаниеКонфигурации() Экспорт
|
Функция ОписаниеКонфигурации() Экспорт
|
||||||
|
|
||||||
@ -57,24 +102,71 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает объект для работы с иерархией каталогов расширения
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// СтруктураКаталоговКонфигурации - объект для работы с иерархией каталогов расширения
|
||||||
|
//
|
||||||
Функция СтруктураКаталогов() Экспорт
|
Функция СтруктураКаталогов() Экспорт
|
||||||
|
|
||||||
Возврат СтруктураКаталогов;
|
Возврат СтруктураКаталогов;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// СЛУЖЕБНЫЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Возвращает служебные параметры для чтения данных с диска
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Параметры чтения
|
||||||
|
//
|
||||||
Функция ПараметрыЧтения() Экспорт
|
Функция ПараметрыЧтения() Экспорт
|
||||||
|
|
||||||
Возврат ПараметрыЧтения;
|
Возврат ПараметрыЧтения;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает служебные параметры для записи данных на диск
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура - Параметры записи
|
||||||
|
//
|
||||||
Функция ПараметрыЗаписи() Экспорт
|
Функция ПараметрыЗаписи() Экспорт
|
||||||
|
|
||||||
Возврат ПараметрыЗаписи;
|
Возврат ПараметрыЗаписи;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Выполняет поиск модулей конфигурации
|
||||||
|
// Найденные модули будут доступны ОписаниеКонфигурации().Модули
|
||||||
|
//
|
||||||
|
Процедура НайтиМодули() Экспорт
|
||||||
|
|
||||||
|
ЧтениеКонфигурации.НайтиМодулиКонфигурации(ПараметрыЧтения);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Выполняет чтение вложенных подсистем и привязку их к объектам конфигурации
|
||||||
|
//
|
||||||
|
Процедура ЗаполнитьПодсистемыОбъектовКонфигурации() Экспорт
|
||||||
|
|
||||||
|
ЧтениеКонфигурации.ЗаполнитьПодсистемыОбъектовКонфигурации(ПараметрыЗаписи);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// Читает и выполняет анализ содержимого модуля
|
||||||
|
// Устанавливает реквизиты "НаборБлоков" и "Содержимое"
|
||||||
|
// Параметры:
|
||||||
|
// СтрокаМодуль - СтрокаТаблицыЗначений - Базовое описание модуля
|
||||||
|
//
|
||||||
|
Процедура ПрочитатьСодержимоеМодуля(СтрокаМодуль) Экспорт
|
||||||
|
|
||||||
|
ЧтениеКонфигурации.ПрочитатьСодержимоеМодуля(СтрокаМодуль);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -86,6 +178,5 @@
|
|||||||
|
|
||||||
ПараметрыЧтения = ЧтениеКонфигурации.СоздатьПараметрыЧтения(ЭтотОбъект, "Extension");
|
ПараметрыЧтения = ЧтениеКонфигурации.СоздатьПараметрыЧтения(ЭтотОбъект, "Extension");
|
||||||
ПараметрыЗаписи = ЗаписьКонфигурации.СоздатьПараметрыЗаписи(ЭтотОбъект, "Extension");
|
ПараметрыЗаписи = ЗаписьКонфигурации.СоздатьПараметрыЗаписи(ЭтотОбъект, "Extension");
|
||||||
ПараметрыЗаписи.Изменения.ИзмененКорневойОбъект = Истина;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
@ -1,15 +1,28 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Корневой объект библиотеки. Содержит методы конструкторы.
|
||||||
|
// Создает объекты для работы с выгрузками описаний конфигураций и расширений
|
||||||
|
//
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// Создает объект для чтение и редактирования описания конфигурации
|
// Создает объект для чтение и редактирования описания конфигурации
|
||||||
// Выполняет чтение структуры описания
|
// Выполняет чтение структуры описания
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// КаталогИсходников - Строка - Каталог, который содержит описание конфигурации
|
// КаталогИсходников - Строка - Каталог, который содержит описание конфигурации
|
||||||
|
// ФорматВыгрузки - Строка - Формат выгрузки. Значение перечисления ФорматыВыгрузки
|
||||||
|
// Если указать "Авто", произойдет автоматическое определение формата выгрузки
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Конфигурация - Объект для формирования описания
|
// Конфигурация - Объект для формирования описания
|
||||||
//
|
//
|
||||||
Функция ЗагрузитьКонфигурацию(КаталогИсходников, Формат = "Авто") Экспорт
|
Функция ЗагрузитьКонфигурацию(КаталогИсходников, ФорматВыгрузки = "Авто") Экспорт
|
||||||
|
|
||||||
СтруктураКаталогов = Новый СтруктураКаталоговКонфигурации(КаталогИсходников, Формат, Истина);
|
СтруктураКаталогов = Новый СтруктураКаталоговКонфигурации(КаталогИсходников, ФорматВыгрузки, Истина);
|
||||||
|
|
||||||
Конфигурация = Новый Конфигурация(СтруктураКаталогов);
|
Конфигурация = Новый Конфигурация(СтруктураКаталогов);
|
||||||
Конфигурация.ПрочитатьСтруктуру();
|
Конфигурация.ПрочитатьСтруктуру();
|
||||||
@ -23,13 +36,15 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// КаталогИсходников - Строка - Каталог, который содержит описание расширения
|
// КаталогИсходников - Строка - Каталог, который содержит описание расширения
|
||||||
|
// ФорматВыгрузки - Строка - Формат выгрузки. Значение перечисления ФорматыВыгрузки
|
||||||
|
// Если указать "Авто", произойдет автоматическое определение формата выгрузки
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Расширение - Объект для формирования описания
|
// Расширение - Объект для формирования описания
|
||||||
//
|
//
|
||||||
Функция ЗагрузитьРасширение(КаталогИсходников, Формат = "Авто") Экспорт
|
Функция ЗагрузитьРасширение(КаталогИсходников, ФорматВыгрузки = "Авто") Экспорт
|
||||||
|
|
||||||
СтруктураКаталогов = Новый СтруктураКаталоговКонфигурации(КаталогИсходников, Формат, Истина);
|
СтруктураКаталогов = Новый СтруктураКаталоговКонфигурации(КаталогИсходников, ФорматВыгрузки, Истина);
|
||||||
|
|
||||||
Расширение = Новый Расширение(СтруктураКаталогов);
|
Расширение = Новый Расширение(СтруктураКаталогов);
|
||||||
Расширение.ПрочитатьСтруктуру();
|
Расширение.ПрочитатьСтруктуру();
|
||||||
@ -42,14 +57,14 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// КаталогИсходников - Строка - Каталог, в который записываются описания
|
// КаталогИсходников - Строка - Каталог, в который записываются описания
|
||||||
// Формат - Строка - Формат описания
|
// ФорматВыгрузки - Строка - Формат выгрузки. Значение перечисления ФорматыВыгрузки
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Конфигурация - Объект для формирования описания
|
// Конфигурация - Объект для формирования описания
|
||||||
//
|
//
|
||||||
Функция СоздатьНовуюКонфигурацию(КаталогИсходников, Формат) Экспорт
|
Функция СоздатьНовуюКонфигурацию(КаталогИсходников, ФорматВыгрузки) Экспорт
|
||||||
|
|
||||||
СтруктураКаталогов = Новый СтруктураКаталоговКонфигурации(КаталогИсходников, Формат, Истина);
|
СтруктураКаталогов = Новый СтруктураКаталоговКонфигурации(КаталогИсходников, ФорматВыгрузки, Истина);
|
||||||
|
|
||||||
Конфигурация = Новый Конфигурация(СтруктураКаталогов);
|
Конфигурация = Новый Конфигурация(СтруктураКаталогов);
|
||||||
|
|
||||||
@ -63,14 +78,14 @@
|
|||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// КаталогИсходников - Строка - Каталог, в который записываются описания
|
// КаталогИсходников - Строка - Каталог, в который записываются описания
|
||||||
// Формат - Строка - Формат описания
|
// ФорматВыгрузки - Строка - Формат выгрузки. Значение перечисления ФорматыВыгрузки
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Расширение - Объект для формирования описания
|
// Расширение - Объект для формирования описания
|
||||||
//
|
//
|
||||||
Функция СоздатьНовоеРасширение(КаталогИсходников, Формат) Экспорт
|
Функция СоздатьНовоеРасширение(КаталогИсходников, ФорматВыгрузки) Экспорт
|
||||||
|
|
||||||
СтруктураКаталогов = Новый СтруктураКаталоговКонфигурации(КаталогИсходников, Формат, Истина);
|
СтруктураКаталогов = Новый СтруктураКаталоговКонфигурации(КаталогИсходников, ФорматВыгрузки, Истина);
|
||||||
|
|
||||||
Расширение = Новый Расширение(СтруктураКаталогов);
|
Расширение = Новый Расширение(СтруктураКаталогов);
|
||||||
|
|
||||||
@ -85,14 +100,14 @@
|
|||||||
// Используется для регистрации новых объектов в конфигурации
|
// Используется для регистрации новых объектов в конфигурации
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Тип - Строка - Тип объекта конфигурации
|
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||||
// Наименование - Строка - Наименование объекта
|
// Наименование - Строка - Наименование объекта
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура - пустышка описания объекта
|
// Структура - пустышка описания объекта
|
||||||
//
|
//
|
||||||
Функция СоздатьОбъектКонфигурации(Тип, Наименование) Экспорт
|
Функция СоздатьОбъектКонфигурации(ТипОбъекта, Наименование) Экспорт
|
||||||
|
|
||||||
Возврат СтруктурыОписаний.СоздатьОбъект(Тип, Наименование);
|
Возврат СтруктурыОписаний.СоздатьОбъект(ТипОбъекта, Наименование);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#Использовать ".."
|
#Использовать "../src"
|
||||||
#Использовать logos
|
#Использовать logos
|
||||||
#Использовать asserts
|
#Использовать asserts
|
||||||
#Использовать fs
|
#Использовать fs
|
||||||
@ -42,23 +42,21 @@
|
|||||||
|
|
||||||
Процедура ТестДолженПрочитатьВыгрузкуВИерархическомФорматеКонфигуратора() Экспорт
|
Процедура ТестДолженПрочитатьВыгрузкуВИерархическомФорматеКонфигуратора() Экспорт
|
||||||
|
|
||||||
Парсер = ПарсерBSL.ПарсерКонфигурации(ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10"));
|
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10"));
|
||||||
Парсер.ПрочитатьСтруктуруКонфигурации();
|
Конфигурация.ЗаполнитьПодсистемыОбъектовКонфигурации();
|
||||||
Парсер.ЗаполнитьПодсистемыОбъектовКонфигурации();
|
Конфигурация.НайтиМодули();
|
||||||
Парсер.НайтиМодулиКонфигурации();
|
|
||||||
|
|
||||||
ПроверитьРезультатЧтенияВыгрузки(Парсер, 168, 89);
|
ПроверитьРезультатЧтенияВыгрузки(Конфигурация, 168, 89);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ТестДолженПрочитатьВыгрузкуВФорматеEDT() Экспорт
|
Процедура ТестДолженПрочитатьВыгрузкуВФорматеEDT() Экспорт
|
||||||
|
|
||||||
Парсер = ПарсерBSL.ПарсерКонфигурации(ОбъединитьПути(КаталогФикстур(), "edtconfigurations", "Demo_8_3_10", "src"));
|
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(ОбъединитьПути(КаталогФикстур(), "edtconfigurations", "Demo_8_3_10", "src"));
|
||||||
Парсер.ПрочитатьСтруктуруКонфигурации();
|
Конфигурация.ЗаполнитьПодсистемыОбъектовКонфигурации();
|
||||||
Парсер.ЗаполнитьПодсистемыОбъектовКонфигурации();
|
Конфигурация.НайтиМодули();
|
||||||
Парсер.НайтиМодулиКонфигурации();
|
|
||||||
|
|
||||||
ПроверитьРезультатЧтенияВыгрузки(Парсер, 167, 89);
|
ПроверитьРезультатЧтенияВыгрузки(Конфигурация, 167, 89);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@ -69,7 +67,7 @@
|
|||||||
Процедура ПроверитьРезультатЧтенияВыгрузки(Парсер, КоличествоОбъектов, КоличествоМодулей)
|
Процедура ПроверитьРезультатЧтенияВыгрузки(Парсер, КоличествоОбъектов, КоличествоМодулей)
|
||||||
|
|
||||||
Ожидаем.Что(Парсер.ОписаниеКонфигурации().ОбъектыКонфигурации.Количество(), "Количество найденных объектов не соответствует фактическому").Равно(КоличествоОбъектов);
|
Ожидаем.Что(Парсер.ОписаниеКонфигурации().ОбъектыКонфигурации.Количество(), "Количество найденных объектов не соответствует фактическому").Равно(КоличествоОбъектов);
|
||||||
Ожидаем.Что(Парсер.ОписаниеКонфигурации().МодулиКонфигурации.Количество(), "Количество найденных модулей не соответствует фактическому").Равно(КоличествоМодулей);
|
Ожидаем.Что(Парсер.ОписаниеКонфигурации().Модули.Количество(), "Количество найденных модулей не соответствует фактическому").Равно(КоличествоМодулей);
|
||||||
|
|
||||||
Для Каждого Объект Из Парсер.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
|
Для Каждого Объект Из Парсер.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
|
||||||
|
|
||||||
@ -77,7 +75,7 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Для Каждого Объект Из Парсер.ОписаниеКонфигурации().МодулиКонфигурации Цикл
|
Для Каждого Объект Из Парсер.ОписаниеКонфигурации().Модули Цикл
|
||||||
|
|
||||||
Ожидаем.Что(ФС.ФайлСуществует(Объект.ПутьКФайлу), СтрШаблон("Не существует файл [%2] модуля объекта ""%1""", Объект.Родитель.ПолноеНаименование, Объект.ПутьКФайлу)).ЭтоИстина();
|
Ожидаем.Что(ФС.ФайлСуществует(Объект.ПутьКФайлу), СтрШаблон("Не существует файл [%2] модуля объекта ""%1""", Объект.Родитель.ПолноеНаименование, Объект.ПутьКФайлу)).ЭтоИстина();
|
||||||
Парсер.ПрочитатьСодержимоеМодуля(Объект);
|
Парсер.ПрочитатьСодержимоеМодуля(Объект);
|
||||||
@ -91,3 +89,5 @@
|
|||||||
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "common-fixtures");
|
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "common-fixtures");
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
ТестДолженПрочитатьВыгрузкуВФорматеEDT();
|
@ -8,7 +8,7 @@
|
|||||||
///////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#Использовать asserts
|
#Использовать asserts
|
||||||
#Использовать ".."
|
#Использовать "../src"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
|
|
||||||
МассивТестов = Новый Массив;
|
МассивТестов = Новый Массив;
|
||||||
МассивТестов.Добавить("ТестДобавитьВКонфигурациюЭлементы");
|
МассивТестов.Добавить("ТестДобавитьВКонфигурациюЭлементы");
|
||||||
МассивТестов.Добавить("ТестУдалитьИзКонфигурацииЭлементы");
|
// МассивТестов.Добавить("ТестУдалитьИзКонфигурацииЭлементы");
|
||||||
МассивТестов.Добавить("ТестИзменитьКонфигурацию");
|
// МассивТестов.Добавить("ТестИзменитьКонфигурацию");
|
||||||
|
|
||||||
Возврат МассивТестов;
|
Возврат МассивТестов;
|
||||||
|
|
||||||
@ -45,6 +45,7 @@
|
|||||||
|
|
||||||
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10");
|
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10");
|
||||||
|
|
||||||
|
КаталогКонфигурации = ВременныйКаталогКонфигурации(КаталогКонфигурации);
|
||||||
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
|
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
|
||||||
|
|
||||||
Для Каждого Справочник Из Конфигурация.ОписаниеКонфигурации().НайтиОбъектыПоТипу("Справочник") Цикл
|
Для Каждого Справочник Из Конфигурация.ОписаниеКонфигурации().НайтиОбъектыПоТипу("Справочник") Цикл
|
||||||
@ -58,6 +59,8 @@
|
|||||||
|
|
||||||
Конфигурация.Зафиксировать();
|
Конфигурация.Зафиксировать();
|
||||||
|
|
||||||
|
УдалитьФайлы(КаталогКонфигурации);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -70,4 +73,12 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
ТестДобавитьВКонфигурациюЭлементы();
|
Функция ВременныйКаталогКонфигурации(КаталогИсходников)
|
||||||
|
|
||||||
|
Каталог = ПолучитьИмяВременногоФайла();
|
||||||
|
|
||||||
|
ФС.КопироватьСодержимоеКаталога(КаталогИсходников, Каталог);
|
||||||
|
|
||||||
|
Возврат Каталог;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
@ -170,5 +170,3 @@
|
|||||||
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "common-fixtures");
|
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "common-fixtures");
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
ТестВключенияВсехМодулейВРасширениеКонфигуратор();
|
|
Loading…
Reference in New Issue
Block a user