Last active
November 29, 2017 17:21
-
-
Save khorevaa/ab1a502eaabeffc6152ec3c589b7f8b0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Функция читает параметры конфигурации из каталога исходников | |
// | |
Функция ПолучитьПараметрыКонфигурацииИзИсходников(КаталогИсходныхФайлов) | |
ФайлКонфигурации = Новый Файл(ОбъединитьПути(КаталогИсходныхФайлов, "Configuration.xml")); | |
Если Не ФайлКонфигурации.Существует() Тогда | |
ВызватьИсключение СтрШаблон(""); | |
КонецЕсли; | |
ПараметрыКонфигурации = Новый Структура; | |
Чтение = Новый ЧтениеXML; | |
Чтение.ОткрытьФайл(ФайлКонфигурации.ПолноеИмя); | |
Пока Чтение.Прочитать() Цикл | |
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя = "Properties" Тогда | |
Прервать; | |
КонецЕсли; | |
КонецЦикла; | |
//Чтение на следующий элемент | |
Чтение.Прочитать(); | |
МассивДоступныхСвойств = Новый Массив; | |
МассивДоступныхСвойств.Добавить("Vendor"); | |
МассивДоступныхСвойств.Добавить("Version"); | |
МассивДоступныхСвойств.Добавить("UpdateCatalogAddress"); | |
МассивДоступныхСвойств.Добавить("Comment"); | |
МассивДоступныхСвойств.Добавить("Name"); | |
Пока Не (Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента и Чтение.ЛокальноеИмя = "Properties") Цикл | |
КлючИЗначение = ПрочитатьОпцию(Чтение); | |
Если МассивДоступныхСвойств.Найти(КлючИЗначение.Ключ) = Неопределено Тогда | |
Продолжить; | |
КонецЕсли; | |
ПараметрыКонфигурации.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение); | |
КонецЦикла; | |
Чтение.Закрыть(); | |
Возврат ПараметрыКонфигурации; | |
КонецФункции | |
// Функция читает опцию из ЧтениеXML | |
// | |
Функция ПрочитатьОпцию(Знач Чтение) | |
Перем Ключ; | |
Перем Значение; | |
Ключ = Чтение.ЛокальноеИмя; | |
Чтение.Прочитать(); | |
Если Чтение.ТипУзла = ТипУзлаXML.Текст Тогда | |
Значение = Чтение.Значение; | |
Чтение.Прочитать(); | |
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда | |
Значение = ""; | |
Иначе | |
КонецЕсли; | |
// Сообщить(СтрШаблон("Читаю опцию: %1 | |
// | Значение: %2",Ключ,Значение)); | |
Чтение.Прочитать(); | |
Возврат Новый Структура("Ключ,Значение", Ключ, Значение); | |
КонецФункции |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment