Created
May 1, 2020 15:40
-
-
Save artbear/dc295da09fabab25d13ee83c146e344d 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
Функция ПолучитьТипФайлаПоКаталогуИсходников(Знач КаталогИсходников) | |
ПутьКФайлуРут = ОбъединитьПути(КаталогИсходников, "root"); | |
ФайлРут = Новый Файл(ПутьКФайлуРут); | |
Ожидаем.Что(ФайлРут.Существует(), "Файл <" + ПутьКФайлуРут + "> должен существовать").ЭтоИстина(); | |
Ожидаем.Что(ФайлРут.ЭтоКаталог(), "<" + ПутьКФайлуРут + "> должен быть файлом").ЭтоЛожь(); | |
ЧтениеТекста = Новый ЧтениеТекста(ПутьКФайлуРут); | |
СодержаниеРут = ЧтениеТекста.Прочитать(); | |
ЧтениеТекста.Закрыть(); | |
МассивСтрокРут = СтрРазделить(СодержаниеРут, ","); | |
Ожидаем.Что(МассивСтрокРут.Количество(), "Некорректный формат файла root").Больше(1); | |
ПутьКФайлуКорневойКонтейнер = ОбъединитьПути(КаталогИсходников, МассивСтрокРут[1]); | |
ФайлКорневойКонтейнер = Новый Файл(ПутьКФайлуКорневойКонтейнер); | |
Ожидаем.Что(ФайлКорневойКонтейнер.Существует(), "Файл <" + ПутьКФайлуКорневойКонтейнер + "> должен существовать").ЭтоИстина(); | |
Ожидаем.Что(ФайлКорневойКонтейнер.ЭтоКаталог(), "<" + ПутьКФайлуКорневойКонтейнер + "> должен быть файлом").ЭтоЛожь(); | |
ЧтениеТекста = Новый ЧтениеТекста(ПутьКФайлуКорневойКонтейнер); | |
СодержаниеКорневойКонтейнер = ""; | |
Для сч = 1 По 7 Цикл | |
ПрочитаннаяСтрока = ЧтениеТекста.ПрочитатьСтроку(); | |
Если ПрочитаннаяСтрока = Неопределено Тогда | |
Прервать; | |
КонецЕсли; | |
СодержаниеКорневойКонтейнер = СодержаниеКорневойКонтейнер + ПрочитаннаяСтрока; | |
КонецЦикла; | |
ЧтениеТекста.Закрыть(); | |
МассивСтрокКорневойКонтейнер = СтрРазделить(СодержаниеКорневойКонтейнер, ","); | |
Ожидаем.Что(МассивСтрокКорневойКонтейнер.Количество(), "Некорректный формат файла корневого контейнера <" + ПутьКФайлуКорневойКонтейнер + ">").Больше(3); | |
ИдентификаторТипаОбъекта = СокрЛП(МассивСтрокКорневойКонтейнер[3]); | |
Если Лев(ИдентификаторТипаОбъекта, 1) = "{" Тогда | |
ИдентификаторТипаОбъекта = Прав(ИдентификаторТипаОбъекта, СтрДлина(ИдентификаторТипаОбъекта) - 1); | |
КонецЕсли; | |
Если Прав(ИдентификаторТипаОбъекта, 1) = "}" Тогда | |
ИдентификаторТипаОбъекта = Лев(ИдентификаторТипаОбъекта, СтрДлина(ИдентификаторТипаОбъекта) - 1); | |
КонецЕсли; | |
ИдентификаторТипаОбъекта = НРег(СокрЛП(ИдентификаторТипаОбъекта)); | |
Если ИдентификаторТипаОбъекта = "c3831ec8-d8d5-4f93-8a22-f9bfae07327f" Тогда | |
ТипФайла = "epf"; | |
ИначеЕсли ИдентификаторТипаОбъекта = "e41aff26-25cf-4bb6-b6c1-3f478a75f374" Тогда | |
ТипФайла = "erf"; | |
Иначе | |
ВызватьИсключение("Некорректный идентификатор типа собираемого объекта <" + ИдентификаторТипаОбъекта + ">"); | |
КонецЕсли; | |
Возврат ТипФайла; | |
КонецФункции |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment