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.ЗаписатьНачалоЭлемента("extension");
|
||||
ЗаписьConfiguration.ЗаписатьАтрибут("xsi:type", "mdclassExtension:ConfigurationExtension");
|
||||
@ -94,15 +94,15 @@
|
||||
//
|
||||
// Параметры:
|
||||
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
||||
// ЗаписьConfiguration - ЗаписьXML - Поток записи описания
|
||||
//
|
||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ПараметрыГенерации) Экспорт
|
||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ЗаписьConfiguration) Экспорт
|
||||
|
||||
ИмяТипа = ТипыОбъектовКонфигурации.ОписаниеТипаПоИмени(ОбъектКонфигурации.Тип).НаименованиеКоллекцииEng;
|
||||
ИмяТипа = НРег(Лев(ИмяТипа, 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
|
||||
// ИмяФайла - Строка - Имя файла описания объекта, в который будут записаны данные
|
||||
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
||||
//
|
||||
@ -92,12 +92,12 @@
|
||||
// Проверок на существование объекта нет
|
||||
//
|
||||
// Параметры:
|
||||
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||
// ПараметрыГенерации - Структура - Общие данные/настройки необходимые для генерации
|
||||
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||
// ЗаписьConfiguration - ЗаписьXML - Поток записи описания
|
||||
//
|
||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ПараметрыГенерации) Экспорт
|
||||
Процедура ЗарегистрироватьОбъектВКонфигурации(ОбъектКонфигурации, ЗаписьConfiguration) Экспорт
|
||||
|
||||
ОбработкаXML.ЗаписатьЗначениеXML(ПараметрыГенерации.ЗаписьConfiguration, ОбъектКонфигурации.Тип, ОбъектКонфигурации.Наименование);
|
||||
ОбработкаXML.ЗаписатьЗначениеXML(ЗаписьConfiguration, ОбъектКонфигурации.Тип, ОбъектКонфигурации.Наименование);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -6,10 +6,6 @@
|
||||
|
||||
Перем Рефлектор;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -1,46 +1,78 @@
|
||||
|
||||
// Создает набор параметров необходимый для записи описаний объектов
|
||||
//
|
||||
// Параметры:
|
||||
// Конфигурация - Конфигурация, Расширение - Объект для, которого необходима запись
|
||||
// ТипКорневогоЭлемента - Строка - Имя типа корневого элемента объекта
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура- Набор параметров записи
|
||||
//
|
||||
Функция СоздатьПараметрыЗаписи(Конфигурация, ТипКорневогоЭлемента) Экспорт
|
||||
|
||||
|
||||
ГенерацияРасширения = ТипКорневогоЭлемента = ТипыОбъектовКонфигурации.ИмяТипаРасширения();
|
||||
|
||||
ПараметрыЗаписи = Новый Структура();
|
||||
ПараметрыЗаписи.Вставить("ОписаниеКонфигурации", Конфигурация.ОписаниеКонфигурации());
|
||||
ПараметрыЗаписи.Вставить("СтруктураКаталогов", Конфигурация.СтруктураКаталогов());
|
||||
ПараметрыЗаписи.Вставить("ТипКорневогоЭлемента", ТипКорневогоЭлемента);
|
||||
ПараметрыЗаписи.Вставить("ФорматВыгрузки", ПараметрыЗаписи.СтруктураКаталогов.ФорматВыгрузки());
|
||||
ПараметрыЗаписи.Вставить("Изменения", Новый Структура("ИзмененКорневойОбъект", Ложь));
|
||||
ПараметрыЗаписи.Вставить("Изменения", Новый Структура("ИзмененКорневойОбъект", Истина));
|
||||
|
||||
Если ПараметрыЗаписи.ФорматВыгрузки = ФорматыВыгрузки.EDT Тогда
|
||||
|
||||
ГенераторОписаний = ГенераторОписанийEDT;
|
||||
|
||||
Иначе
|
||||
|
||||
ГенераторОписаний = ГенераторОписанийКонфигуратор;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыГенерации = ГенераторОписаний.СоздатьПараметрыГенерации("8.3.10", ГенерацияРасширения);
|
||||
|
||||
ГенераторОписаний = Новый ГенераторОписаний(ПараметрыЗаписи.ФорматВыгрузки, ТипКорневогоЭлемента = ТипыОбъектовКонфигурации.ИмяТипаРасширения());
|
||||
|
||||
ПараметрыЗаписи.Вставить("ГенераторОписаний", ГенераторОписаний);
|
||||
ПараметрыЗаписи.Вставить("ПараметрыГенерации", ПараметрыГенерации);
|
||||
|
||||
Возврат Новый ФиксированнаяСтруктура(ПараметрыЗаписи);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СохранитьОписание(ОбъектКонфигурации) Экспорт
|
||||
// Сохраняет описание объекта конфигурации на диск
|
||||
//
|
||||
// Параметры:
|
||||
// ОбъектКонфигурации - СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||
//
|
||||
Процедура СохранитьОписание(ОбъектКонфигурации) Экспорт
|
||||
|
||||
ПараметрыЗаписи = ОбъектКонфигурации.Конфигурация.ПараметрыЗаписи();
|
||||
ДанныеОбъекта = ОбъектКонфигурации.Описание;
|
||||
|
||||
ИмяФайла = ПараметрыЗаписи.СтруктураКаталогов.ИмяФайлаОписанияОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип);
|
||||
|
||||
Запись = ПараметрыЗаписи.ГенераторОписаний.СоздатьЗапись(ОбъектКонфигурации.Тип, ИмяФайла);
|
||||
Запись = ПараметрыЗаписи.ГенераторОписаний.СоздатьЗапись(ОбъектКонфигурации.Тип, ПараметрыЗаписи.ПараметрыГенерации, ИмяФайла);
|
||||
|
||||
ОписаниеСвойств = СтруктурыОписаний.ОписаниеСвойствОбъекта(ОбъектКонфигурации.Тип);
|
||||
|
||||
ПараметрыЗаписи.ГенераторОписаний.Генератор.ЗаписатьПорождаемыеТипы(Запись, ДанныеОбъекта.Наименование, ОбъектКонфигурации.Тип);
|
||||
ПараметрыЗаписи.ГенераторОписаний.Генератор.ЗаписатьСвойства(Запись, ОбъектКонфигурации.Тип, ДанныеОбъекта);
|
||||
ПараметрыЗаписи.ГенераторОписаний.ЗаписатьПорождаемыеТипы(Запись, ДанныеОбъекта.Наименование, ОбъектКонфигурации.Тип);
|
||||
ПараметрыЗаписи.ГенераторОписаний.ЗаписатьСвойства(Запись, ОбъектКонфигурации.Тип, ДанныеОбъекта);
|
||||
|
||||
Если ОписаниеСвойств.ЕстьПодчиненные Тогда
|
||||
|
||||
ПараметрыЗаписи.ГенераторОписаний.Генератор.Подчиненные(Запись, ?(ДанныеОбъекта.Свойство("Подчиненные"), ДанныеОбъекта.Подчиненные, Неопределено));
|
||||
ПараметрыЗаписи.ГенераторОписаний.Подчиненные(Запись, ?(ДанныеОбъекта.Свойство("Подчиненные"), ДанныеОбъекта.Подчиненные, Неопределено));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Обработка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
|
||||
|
||||
// Создает набор параметров необходимый для чтения описаний объектов
|
||||
//
|
||||
// Параметры:
|
||||
// Конфигурация - Конфигурация, Расширение - Объект для, которого необходимо чтение
|
||||
// ТипКорневогоЭлемента - Строка - Имя типа корневого элемента объекта
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура- Набор параметров чтения
|
||||
//
|
||||
Функция СоздатьПараметрыЧтения(Конфигурация, ТипКорневогоЭлемента) Экспорт
|
||||
|
||||
ПараметрыЧтения = Новый Структура();
|
||||
@ -70,6 +79,58 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Выполняет поиск всех модулей конфигурации
|
||||
//
|
||||
Процедура НайтиМодулиКонфигурации(ПараметрыЧтения) Экспорт
|
||||
|
||||
ОписаниеКонфигурации = ПараметрыЧтения.ОписаниеКонфигурации;
|
||||
ОбъектыКонфигурации = ОписаниеКонфигурации.ОбъектыКонфигурации;
|
||||
СтруктураКаталогов = ПараметрыЧтения.СтруктураКаталогов;
|
||||
|
||||
Для Каждого ОбъектКонфигурации Из ОбъектыКонфигурации Цикл
|
||||
|
||||
ФайлыМодулей = СтруктураКаталогов.НайтиМодулиОбъекта(ОбъектКонфигурации.Наименование, ОбъектКонфигурации.Тип, Истина);
|
||||
|
||||
Для Каждого ИмяФайлаМодуля Из ФайлыМодулей Цикл
|
||||
|
||||
ПолучитьОписаниеМодуляПоИмениФайла(ИмяФайлаМодуля, ОбъектКонфигурации, ОписаниеКонфигурации);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ОписаниеКонфигурации.Модули.Сортировать("ПутьКФайлу");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Читает и выполняет анализ содержимого модуля
|
||||
// Устанавливает реквизиты "НаборБлоков" и "Содержимое"
|
||||
// Параметры:
|
||||
// СтрокаМодуль - СтрокаТаблицыЗначений - Базовое описание модуля
|
||||
//
|
||||
Процедура ПрочитатьСодержимоеМодуля(СтрокаМодуль) Экспорт
|
||||
|
||||
Файл = Новый ТекстовыйДокумент;
|
||||
Файл.Прочитать(СтрокаМодуль.ПутьКФайлу, КодировкаТекста.UTF8NoBOM);
|
||||
|
||||
СодержимоеМодуля = ЧтениеМодулей.ПрочитатьМодуль(Файл, СтрокаМодуль);
|
||||
СтрокаМодуль.Содержимое = СодержимоеМодуля.Содержимое;
|
||||
СтрокаМодуль.НаборБлоков = СодержимоеМодуля.БлокиМодуля;
|
||||
|
||||
Если СтрокаМодуль.ТипМодуля = ТипыМодуля.ОбщийМодуль Тогда
|
||||
|
||||
Если СтрокаМодуль.Родитель.Описание = Неопределено Тогда
|
||||
|
||||
ПрочитатьОписание(СтрокаМодуль.Родитель);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаМодуль.ОписаниеМодуля.Вставить("Глобальный", СтрокаМодуль.Родитель.Описание.Глобальный);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -117,67 +178,55 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОписаниеМодуляПоИмениФайла(Знач ИмяФайлаМодуля, ОбъектКонфигурации, ОписаниеКонфигурации)
|
||||
Процедура ПолучитьОписаниеМодуляПоИмениФайла(Знач ИмяФайлаМодуля, ОбъектКонфигурации, ОписаниеКонфигурации)
|
||||
|
||||
НовыйМодульКонфигурации = Неопределено;
|
||||
|
||||
ПустаяСтрокаМодульКонфигурации = Новый Структура(
|
||||
"ПутьКФайлу, ТипМодуля, ОписаниеМодуля, Родитель, РодительФорма, РодительКоманда, НаборБлоков, Содержимое",
|
||||
"", "", Новый Структура, Неопределено, Неопределено, Неопределено, Неопределено, Неопределено);
|
||||
|
||||
ТипЭтогоМодуля = ТипыМодуля.ТипМодуляПоИмениФайла(ИмяФайлаМодуля);
|
||||
|
||||
Если Не ПустаяСтрока(ТипЭтогоМодуля) Тогда
|
||||
|
||||
Если ПустаяСтрока(ТипЭтогоМодуля) Тогда
|
||||
|
||||
ФормаОбъекта = Неопределено;
|
||||
КомандаОбъекта = Неопределено;
|
||||
|
||||
Если ТипЭтогоМодуля = ТипыМодуля.МодульОбъекта
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульМенеджера
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.ОбщийМодуль
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульУправляемогоПриложения
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульСеанса
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульВнешнегоСоединения
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульОбычногоПриложения Тогда
|
||||
Возврат;
|
||||
|
||||
ИначеЕсли ТипыМодуля.ЭтоМодульФормы(ТипЭтогоМодуля) Тогда
|
||||
|
||||
ФормаОбъекта = ОписаниеКонфигурации.ФормыКонфигурации.Добавить();
|
||||
ФормаОбъекта.Родитель = ОбъектКонфигурации;
|
||||
ФормаОбъекта.ЭтоУправляемаяФорма = ТипЭтогоМодуля = ТипыМодуля.МодульУправляемойФормы;
|
||||
ФормаОбъекта.Наименование = ПолучитьИмяФормыИзИмениФайлаМодуля(ИмяФайлаМодуля);
|
||||
|
||||
ИначеЕсли ТипЭтогоМодуля = ТипыМодуля.МодульКоманды Тогда
|
||||
|
||||
КомандаОбъекта = ОписаниеКонфигурации.КомандыКонфигурации.Добавить();
|
||||
КомандаОбъекта.Родитель = ОбъектКонфигурации;
|
||||
КомандаОбъекта.Наименование = ПолучитьИмяКомандыИзИмениФайлаМодуля(ИмяФайлаМодуля);
|
||||
|
||||
Иначе
|
||||
|
||||
ВызватьИсключение "Тип модуля: " + ТипЭтогоМодуля + " не имеет алгоритма разбора";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НовыйМодульКонфигурации = ОписаниеКонфигурации.МодулиКонфигурации.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НовыйМодульКонфигурации, ПустаяСтрокаМодульКонфигурации);
|
||||
НовыйМодульКонфигурации.ТипМодуля = ТипЭтогоМодуля;
|
||||
НовыйМодульКонфигурации.ПутьКФайлу = ИмяФайлаМодуля;
|
||||
НовыйМодульКонфигурации.Родитель = ОбъектКонфигурации;
|
||||
НовыйМодульКонфигурации.РодительФорма = ФормаОбъекта;
|
||||
НовыйМодульКонфигурации.РодительКоманда = КомандаОбъекта;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если НовыйМодульКонфигурации <> Неопределено Тогда
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ПустаяСтрокаМодульКонфигурации, НовыйМодульКонфигурации);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПустаяСтрокаМодульКонфигурации;
|
||||
ФормаОбъекта = Неопределено;
|
||||
КомандаОбъекта = Неопределено;
|
||||
|
||||
Если ТипЭтогоМодуля = ТипыМодуля.МодульОбъекта
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульМенеджера
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.ОбщийМодуль
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульУправляемогоПриложения
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульСеанса
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульВнешнегоСоединения
|
||||
ИЛИ ТипЭтогоМодуля = ТипыМодуля.МодульОбычногоПриложения Тогда
|
||||
|
||||
КонецФункции
|
||||
ИначеЕсли ТипыМодуля.ЭтоМодульФормы(ТипЭтогоМодуля) Тогда
|
||||
|
||||
ФормаОбъекта = ОписаниеКонфигурации.ФормыКонфигурации.Добавить();
|
||||
ФормаОбъекта.Родитель = ОбъектКонфигурации;
|
||||
ФормаОбъекта.ЭтоУправляемаяФорма = ТипЭтогоМодуля = ТипыМодуля.МодульУправляемойФормы;
|
||||
ФормаОбъекта.Наименование = ПолучитьИмяФормыИзИмениФайлаМодуля(ИмяФайлаМодуля);
|
||||
|
||||
ИначеЕсли ТипЭтогоМодуля = ТипыМодуля.МодульКоманды Тогда
|
||||
|
||||
КомандаОбъекта = ОписаниеКонфигурации.КомандыКонфигурации.Добавить();
|
||||
КомандаОбъекта.Родитель = ОбъектКонфигурации;
|
||||
КомандаОбъекта.Наименование = ПолучитьИмяКомандыИзИмениФайлаМодуля(ИмяФайлаМодуля);
|
||||
|
||||
Иначе
|
||||
|
||||
ВызватьИсключение "Тип модуля: " + ТипЭтогоМодуля + " не имеет алгоритма разбора";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НовыйМодульКонфигурации = ОписаниеКонфигурации.Модули.Добавить();
|
||||
НовыйМодульКонфигурации.ТипМодуля = ТипЭтогоМодуля;
|
||||
НовыйМодульКонфигурации.ПутьКФайлу = ИмяФайлаМодуля;
|
||||
НовыйМодульКонфигурации.Родитель = ОбъектКонфигурации;
|
||||
НовыйМодульКонфигурации.РодительФорма = ФормаОбъекта;
|
||||
НовыйМодульКонфигурации.РодительКоманда = КомандаОбъекта;
|
||||
НовыйМодульКонфигурации.ОписаниеМодуля = Новый Структура();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
Перем ОбъектыКонфигурации Экспорт;
|
||||
Перем СвойстваКонфигурации Экспорт;
|
||||
Перем МодулиКонфигурации Экспорт;
|
||||
Перем Модули Экспорт;
|
||||
|
||||
Перем ФормыКонфигурации Экспорт;
|
||||
Перем КомандыКонфигурации Экспорт;
|
||||
@ -18,6 +18,15 @@
|
||||
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Выполняет поиск объекта конфигурации
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяОбъекта - Строка - Полное или короткое имя объекта (Полное - Справочник.Пользователи, короткой - Пользователи)
|
||||
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СтрокаТаблицыЗначений - Описание объекта конфигурации. См. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||
//
|
||||
Функция НайтиОбъект(Знач ИмяОбъекта, Знач ТипОбъекта = Неопределено) Экспорт
|
||||
|
||||
Если ТипОбъекта = Неопределено
|
||||
@ -50,6 +59,14 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает коллекцию объектов переданного типа
|
||||
//
|
||||
// Параметры:
|
||||
// ТипОбъекта - Строка - Тип объекта конфигурации, см ТипыОбъектовКонфигурации, ОбъектыКонфигурации.md
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив - Коллекция объектов, структура объектов см. СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации
|
||||
//
|
||||
Функция НайтиОбъектыПоТипу(Знач ТипОбъекта) Экспорт
|
||||
|
||||
ТипОбъекта = ТипыОбъектовКонфигурации.НормализоватьИмя(ТипОбъекта);
|
||||
@ -58,12 +75,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПриСозданииОбъекта(пКонфигурация) Экспорт
|
||||
Процедура ПриСозданииОбъекта(пКонфигурация)
|
||||
|
||||
Конфигурация = пКонфигурация;
|
||||
|
||||
ОбъектыКонфигурации = СтруктурыОписаний.ТаблицаОписанияОбъектовКонфигурации();
|
||||
МодулиКонфигурации = СтруктурыОписаний.ТаблицаОписанияМодулей();
|
||||
Модули = СтруктурыОписаний.ТаблицаОписанияМодулей();
|
||||
|
||||
// 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");
|
||||
ПараметрыЗаписи.Изменения.ИзмененКорневойОбъект = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -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
|
||||
#Использовать asserts
|
||||
#Использовать fs
|
||||
@ -42,23 +42,21 @@
|
||||
|
||||
Процедура ТестДолженПрочитатьВыгрузкуВИерархическомФорматеКонфигуратора() Экспорт
|
||||
|
||||
Парсер = ПарсерBSL.ПарсерКонфигурации(ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10"));
|
||||
Парсер.ПрочитатьСтруктуруКонфигурации();
|
||||
Парсер.ЗаполнитьПодсистемыОбъектовКонфигурации();
|
||||
Парсер.НайтиМодулиКонфигурации();
|
||||
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10"));
|
||||
Конфигурация.ЗаполнитьПодсистемыОбъектовКонфигурации();
|
||||
Конфигурация.НайтиМодули();
|
||||
|
||||
ПроверитьРезультатЧтенияВыгрузки(Парсер, 168, 89);
|
||||
ПроверитьРезультатЧтенияВыгрузки(Конфигурация, 168, 89);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТестДолженПрочитатьВыгрузкуВФормате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""", Объект.Родитель.ПолноеНаименование, Объект.ПутьКФайлу)).ЭтоИстина();
|
||||
Парсер.ПрочитатьСодержимоеМодуля(Объект);
|
||||
@ -91,3 +89,5 @@
|
||||
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "common-fixtures");
|
||||
|
||||
КонецФункции
|
||||
|
||||
ТестДолженПрочитатьВыгрузкуВФорматеEDT();
|
@ -8,7 +8,7 @@
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
#Использовать asserts
|
||||
#Использовать ".."
|
||||
#Использовать "../src"
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -26,8 +26,8 @@
|
||||
|
||||
МассивТестов = Новый Массив;
|
||||
МассивТестов.Добавить("ТестДобавитьВКонфигурациюЭлементы");
|
||||
МассивТестов.Добавить("ТестУдалитьИзКонфигурацииЭлементы");
|
||||
МассивТестов.Добавить("ТестИзменитьКонфигурацию");
|
||||
// МассивТестов.Добавить("ТестУдалитьИзКонфигурацииЭлементы");
|
||||
// МассивТестов.Добавить("ТестИзменитьКонфигурацию");
|
||||
|
||||
Возврат МассивТестов;
|
||||
|
||||
@ -45,6 +45,7 @@
|
||||
|
||||
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10");
|
||||
|
||||
КаталогКонфигурации = ВременныйКаталогКонфигурации(КаталогКонфигурации);
|
||||
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
|
||||
|
||||
Для Каждого Справочник Из Конфигурация.ОписаниеКонфигурации().НайтиОбъектыПоТипу("Справочник") Цикл
|
||||
@ -58,6 +59,8 @@
|
||||
|
||||
Конфигурация.Зафиксировать();
|
||||
|
||||
УдалитьФайлы(КаталогКонфигурации);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -70,4 +73,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
ТестДобавитьВКонфигурациюЭлементы();
|
||||
Функция ВременныйКаталогКонфигурации(КаталогИсходников)
|
||||
|
||||
Каталог = ПолучитьИмяВременногоФайла();
|
||||
|
||||
ФС.КопироватьСодержимоеКаталога(КаталогИсходников, Каталог);
|
||||
|
||||
Возврат Каталог;
|
||||
|
||||
КонецФункции
|
||||
|
@ -170,5 +170,3 @@
|
||||
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "common-fixtures");
|
||||
|
||||
КонецФункции
|
||||
|
||||
ТестВключенияВсехМодулейВРасширениеКонфигуратор();
|
Loading…
Reference in New Issue
Block a user