diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\265\321\200\321\201\320\270\320\270OneScript.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\265\321\200\321\201\320\270\320\270OneScript.os"
index c4d91b1..2d70d97 100644
--- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\265\321\200\321\201\320\270\320\270OneScript.os"
+++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\265\321\200\321\201\320\270\320\270OneScript.os"
@@ -241,7 +241,8 @@
ТелоСтраницы = Ответ.ПолучитьТелоКакСтроку();
- РегулярноеВыражение = Новый РегулярноеВыражение("(\d+\.\d+\.\d+(\.\d+)?)");
+ РегулярноеВыражение = Новый РегулярноеВыражение(
+ "(" + ПараметрыOVM.МаскаНомераВерсии() + ")<");
ИндексГруппыАдрес = 1;
ИндексГруппыВерсия = 2;
diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213OVM.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213OVM.os"
index 23a770f..4f6a8e5 100644
--- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213OVM.os"
+++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213OVM.os"
@@ -54,14 +54,13 @@
Возврат СистемнаяИнформация.Это64БитнаяОперационнаяСистема;
КонецФункции
-// Количество разрядов в номере версии.
-// В приложении используется версионирование вида 1.0.20
+// Регулярное выражение точного номера версии.
//
// Возвращаемое значение:
-// Число - Количество разрядов в номере версии
+// Строка - Регулярное выражение
//
-Функция КоличествоРазрядовВНомереВерсии() Экспорт
- Возврат 3;
+Функция МаскаНомераВерсии() Экспорт
+ Возврат "\d+\.\d+\.\d+(\.rc\d+?)?";
КонецФункции
СистемнаяИнформация = Новый СистемнаяИнформация;
diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272OneScript.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272OneScript.os"
index 9532036..f7a9ac5 100644
--- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272OneScript.os"
+++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272OneScript.os"
@@ -303,8 +303,15 @@
КонецПроцедуры
+Функция ЭтоТочныйНомерВерсии(ВерсияКУстановке)
+ РВ = Новый РегулярноеВыражение("^" + ПараметрыOVM.МаскаНомераВерсии() + "$");
+ РВ.ИгнорироватьРегистр = Ложь;
+ РВ.МногоСтрочный = Ложь;
+ Возврат РВ.Совпадает(ВерсияКУстановке);
+КонецФункции
+
Процедура ПроверитьКорректностьПереданнойВерсии(Знач ВерсияКУстановке)
- Если СтрРазделить(ВерсияКУстановке, ".").Количество() <> ПараметрыOVM.КоличествоРазрядовВНомереВерсии()
+ Если НЕ ЭтоТочныйНомерВерсии(ВерсияКУстановке)
И Не ВерсииOneScript.ДопустимыеАлиасы().СодержитКлюч(ВерсияКУстановке) Тогда
Лог.Ошибка("Версия имеет некорректный формат");
@@ -315,7 +322,7 @@
Функция ПолучитьПутьКСкачиваниюФайла(Знач ВерсияКУстановке, Знач ИспользоватьХ64, Знач ИспользоватьFDD)
- Если СтрРазделить(ВерсияКУстановке, ".").Количество() = ПараметрыOVM.КоличествоРазрядовВНомереВерсии() Тогда
+ Если ЭтоТочныйНомерВерсии(ВерсияКУстановке) Тогда
КаталогВерсии = СтрЗаменить(ВерсияКУстановке, ".", "_");
ЭтоВерсия2 = СтроковыеФункции.СравнитьВерсии(ВерсияКУстановке, "2.0") >= 0;