diff --git a/src/v8runner.os b/src/v8runner.os index f73b3db..6cd599a 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -490,13 +490,29 @@ КонецЕсли; МассивКаталогов1С = Новый Массив; + + МассивФайлов = Новый Массив; Для Каждого ВозможныйПуть Из КаталогиУстановкиПлатформы Цикл Лог.Отладка("Выполняю попытку поиска версии в каталоге " + ВозможныйПуть); - МассивФайлов = НайтиФайлы(ВозможныйПуть, ВерсияПлатформы+"*"); + РезультатПоиска = НайтиФайлы(ВозможныйПуть, ВерсияПлатформы+"*"); + //Если в данном каталоге установки платформы нет каталого с искомой версией не делать ничего, перейти к следующему возможному пути + //Если есть каталоги с искомой версией тогда добавить их в общий массив результатов поиска + Если НЕ РезультатПоиска.Количество() Тогда + Продолжить; + Иначе + + Для Каждого Каталог ИЗ РезультатПоиска Цикл + МассивФайлов.Добавить(Каталог); + КонецЦикла; + //Зафиксировать возможный путь, как подтвержденный путь где есть версии по заданной маске. + ПодтвержденныйПуть = ВозможныйПуть; + КонецЕсли; + Если МассивФайлов.Количество() = 0 Тогда Лог.Отладка("Не найдено ни одного каталога с версией."); + Продолжить; КонецЕсли; Если МассивКаталогов1С = Неопределено Тогда @@ -522,12 +538,14 @@ Если ИменаВерсий.Количество() > 0 Тогда МаксВерсия = ИменаВерсий[0]; Для Сч = 1 По ИменаВерсий.Количество()-1 Цикл - Если МаксВерсия < ИменаВерсий[Сч] Тогда + //Прежде чем проверять версию на максимум проверить ее на наличие исполняемого файла толстого клиента 1cv8.exe + НужныйПуть = Новый Файл(ОбъединитьПути(ПодтвержденныйПуть, ИменаВерсий[Сч], "bin\1cv8.exe")); + Если НужныйПуть <> Неопределено И МаксВерсия < ИменаВерсий[Сч] Тогда МаксВерсия = ИменаВерсий[Сч]; КонецЕсли; КонецЦикла; - НужныйПуть = Новый Файл(ОбъединитьПути(ВозможныйПуть, МаксВерсия, "bin\1cv8.exe")); + НужныйПуть = Новый Файл(ОбъединитьПути(ПодтвержденныйПуть, МаксВерсия, "bin\1cv8.exe")); Лог.Отладка("Версия найдена: " + НужныйПуть.ПолноеИмя); КонецЕсли;