|
504 | 504 | Иначе |
505 | 505 | Для каждого Файл Из МассивФайлов Цикл |
506 | 506 | МассивКаталогов1С.Добавить(Файл); |
| 507 | + Лог.Отладка("Нашел платформу 1С %1", Файл.Имя); |
507 | 508 | КонецЦикла; |
508 | 509 | КонецЕсли; |
509 | 510 | КонецЦикла; |
510 | 511 |
|
511 | | - НужныйПуть = Неопределено; |
| 512 | + НужныйФайлПлатформы = Неопределено; |
512 | 513 |
|
513 | | - ИменаВерсий = Новый Массив; |
514 | | - Для Каждого ЭлементМассива Из МассивФайлов Цикл |
515 | | - правыйСимвол = Прав(ЭлементМассива.Имя,1); |
| 514 | + МассивКаталоговВерсий = Новый Массив; |
| 515 | + Для Каждого ЭлементМассива Из МассивКаталогов1С Цикл |
| 516 | + правыйСимвол = Прав(ЭлементМассива.Имя, 1); |
516 | 517 | Если правыйСимвол < "0" или правыйСимвол > "9" Тогда |
517 | 518 | Продолжить; |
518 | 519 | КонецЕсли; |
519 | | - ИменаВерсий.Добавить(ЭлементМассива.Имя); |
| 520 | + МассивКаталоговВерсий.Добавить(ЭлементМассива); |
520 | 521 | КонецЦикла; |
521 | 522 |
|
522 | | - Если ИменаВерсий.Количество() > 0 Тогда |
523 | | - МаксВерсия = ИменаВерсий[0]; |
524 | | - Для Сч = 1 По ИменаВерсий.Количество()-1 Цикл |
525 | | - Если МаксВерсия < ИменаВерсий[Сч] Тогда |
526 | | - МаксВерсия = ИменаВерсий[Сч]; |
| 523 | + Если МассивКаталоговВерсий.Количество() > 0 Тогда |
| 524 | + МаксВерсия = МассивКаталоговВерсий[0].Имя; |
| 525 | + НужныйФайлПлатформы = Новый Файл(ОбъединитьПути(МассивКаталоговВерсий[0].ПолноеИмя, "bin", "1cv8.exe")); |
| 526 | + |
| 527 | + Для Сч = 1 По МассивКаталоговВерсий.ВГраница() Цикл |
| 528 | + ТекущаяВерсия = МассивКаталоговВерсий[Сч].Имя; |
| 529 | + Если МаксВерсия < ТекущаяВерсия Тогда |
| 530 | + ПутьБин = ОбъединитьПути(МассивКаталоговВерсий[Сч].ПолноеИмя, "bin"); |
| 531 | + ПроверяемыйФайл = Новый Файл(ОбъединитьПути(ПутьБин, "1cv8.exe")); |
| 532 | + Если НЕ ПроверяемыйФайл.Существует() Тогда |
| 533 | + Продолжить; |
| 534 | + КонецЕсли; |
| 535 | + |
| 536 | + МаксВерсия = ТекущаяВерсия; |
| 537 | + НужныйФайлПлатформы = ПроверяемыйФайл; |
527 | 538 | КонецЕсли; |
528 | 539 | КонецЦикла; |
529 | 540 |
|
530 | | - НужныйПуть = Новый Файл(ОбъединитьПути(ВозможныйПуть, МаксВерсия, "bin\1cv8.exe")); |
531 | | - Лог.Отладка("Версия найдена: " + НужныйПуть.ПолноеИмя); |
| 541 | + Если НужныйФайлПлатформы.Существует() Тогда |
| 542 | + Лог.Отладка("Версия найдена: " + НужныйФайлПлатформы.ПолноеИмя); |
| 543 | + Иначе |
| 544 | + НужныйФайлПлатформы = Неопределено; |
| 545 | + КонецЕсли; |
532 | 546 | КонецЕсли; |
533 | 547 |
|
534 | | - Если НужныйПуть = Неопределено Тогда |
| 548 | + Если НужныйФайлПлатформы = Неопределено Тогда |
535 | 549 | ВызватьИсключение "Не найден путь к платформе 1С <"+ВерсияПлатформы+">"; |
536 | 550 | КонецЕсли; |
537 | 551 |
|
|
541 | 555 | Если НЕ КаталогУстановки.Существует() Тогда |
542 | 556 | КаталогУстановки = Новый Файл("/opt/1C/v8.3/x86_64"); |
543 | 557 | КонецЕсли; |
544 | | - НужныйПуть = Новый Файл(Строка(КаталогУстановки.ПолноеИмя) + "/" + "1cv8"); |
| 558 | + НужныйФайлПлатформы = Новый Файл(Строка(КаталогУстановки.ПолноеИмя) + "/" + "1cv8"); |
545 | 559 | КонецЕсли; |
546 | 560 |
|
547 | | - Если Не НужныйПуть.Существует() Тогда |
548 | | - ВызватьИсключение "Ошибка определения версии платформы. Файл <"+НужныйПуть.ПолноеИмя+"> не существует"; |
| 561 | + Если Не НужныйФайлПлатформы.Существует() Тогда |
| 562 | + ВызватьИсключение "Ошибка определения версии платформы. Файл <"+НужныйФайлПлатформы.ПолноеИмя+"> не существует"; |
549 | 563 | КонецЕсли; |
550 | 564 |
|
551 | | - Возврат НужныйПуть.ПолноеИмя; |
| 565 | + Возврат НужныйФайлПлатформы.ПолноеИмя; |
552 | 566 |
|
553 | 567 | КонецФункции |
554 | 568 |
|
|
0 commit comments