Предложение добавить команду, чтобы получить имя, вендора, версию конфигурации etc из "src/cf/Configuration.xml"
Функция ПолучитьСвойстваКонфигурации(КаталогИсходогоКода = "./src/cf") Экспорт
Свойства = Новый Структура("Name, Vendor, Version");
ПутьКФайлу = ОбъединитьПути(КаталогИсходогоКода, "Configuration.xml");
Если ФС.ФайлСуществует(ПутьКФайлу) Тогда
Текст = ПрочитатьФайлВТексте(ПутьКФайлу);
Значение = РазобратьСПомощьюРВ(Текст, "(?<=<Name>).*?(?=</Name>)");
Свойства.Name = Значение;
Значение = РазобратьСПомощьюРВ(Текст, "(?<=<Vendor>).*?(?=</Vendor>)");
Свойства.Vendor = Значение;
Значение = РазобратьСПомощьюРВ(Текст, "(?<=<Version>).*?(?=</Version>)");
Свойства.Version = Значение;
КонецЕсли;
Возврат Свойства;
КонецФункции
Функция ПрочитатьФайлВТексте(ИмяФайла)
Файл = Новый Файл(ИмяФайла);
Если Файл.Существует() Тогда
ЧтениеТекста = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8);
Текст = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();
Возврат Текст;
Иначе
Возврат "";
КонецЕсли;
КонецФункции
Функция РазобратьСПомощьюРВ(Текст, ТекстРВ)
РегулярноеВыражение = Новый РегулярноеВыражение(ТекстРВ);
РегулярноеВыражение.Многострочный = Истина;
Совпадения = РегулярноеВыражение.НайтиСовпадения(Текст);
Если Совпадения.Количество() > 0 Тогда
Возврат Совпадения[0].Значение;
Иначе
Возврат "";
КонецЕсли;
КонецФункции
СвойстваКонфигурации = ПолучитьСвойстваКонфигурации();
Сообщить(СвойстваКонфигурации.Version);
Предложение добавить команду, чтобы получить имя, вендора, версию конфигурации etc из "src/cf/Configuration.xml"