Сравнение версий конфигурации

БСП (стандартные подсистемы) / Версии, имена файлов и почта

//Версия - четыре числа через точку, сравниваются по разрядам как числа,
//а не как строки: 10 больше 9. Результат больше нуля, если первая
//версия новее, ноль - если версии равны
Установлена = "3.1.9.20";
Доступна = "3.1.10.5";
Обновлять = ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Доступна, Установлена) >
    0;
//Обновлять = Да
Сообщить("Обновлять = " + Обновлять);

Одинаковые = ОбщегоНазначенияКлиентСервер.СравнитьВерсии("3.1.10.5",
                          "3.1.10.5") = 0;
//Одинаковые = Да
Сообщить("Одинаковые = " + Одинаковые);

//Без БСП - разбить версии по точкам и сравнить числа слева направо;
//сравнение самих строк тут обманывает: "1" меньше "9"
Части1 = СтрРазделить(Доступна, ".");
Части2 = СтрРазделить(Установлена, ".");
Новее = Ложь;
Для Номер = 0 По 3 Цикл
    Первая = Число(Части1[Номер]);
    Вторая = Число(Части2[Номер]);
    Если Первая <> Вторая Тогда
        Новее = Первая > Вторая;
        Прервать;
    КонецЕсли;
КонецЦикла;
//Новее = Да
Сообщить("Новее = " + Новее);