Многие разработчики и администраторы столкнулись с необходимостью оперативного обновления платформы 1С:Предприятие в связи с выходом новых релизов конфигурации 1С:Зарплата и Управление Персоналом. Давайте разберемся, с чем связаны такие жесткие требования и как именно реализована проверка платформы внутри системы.
Основной причиной выпуска обновленных требований к минимальной версии платформы (включая версии 8.3.17.2733, 8.3.18.1902, 8.3.19.1665, 8.3.20.2076, 8.3.21.1508 и 8.3.22.1603) является необходимость соблюдения стандартов информационной безопасности. В частности, это прямое следствие реализации требований приказа ФСТЭК №17.
Для соответствия государственным стандартам защиты информации, разработчики 1С внедряют в платформу:
Эти изменения вносятся на уровне БСП (Библиотеки стандартных подсистем), поэтому они затрагивают не только ЗУП, но и другие типовые конфигурации в ближайшее время. Поддержка множества веток платформы обусловлена необходимостью обеспечения работы в организациях, использующих сертифицированные версии платформы, цикл сертификации которых требует наличия специфических, «защищенных» релизов.
Давайте проанализируем, как система программно определяет допустимость текущей версии платформы. Это реализовано через специальные функции в модулях, отвечающих за базовую функциональность. Рассмотрим пример кода из общего модуля КонфигурацииЗарплатаКадрыБазовый:
Процедура ПриОпределенииОбщихПараметровБазовойФункциональности(ОбщиеПараметры) Экспорт
СистемнаяИнформация = Новый СистемнаяИнформация;
Если ЭтоВерсияЗащищенногоПрограммногоКомплекса(СистемнаяИнформация.ВерсияПриложения) Тогда
ОбщиеПараметры.МинимальнаяВерсияПлатформы = СистемнаяИнформация.ВерсияПриложения;
Иначе
ОбщиеПараметры.МинимальнаяВерсияПлатформы = "8.3.17.2733; 8.3.18.1902; 8.3.19.1665; 8.3.20.2076; 8.3.21.1508; 8.3.22.1603";
КонецЕсли;
ОбщиеПараметры.РекомендуемаяВерсияПлатформы = ОбщиеПараметры.МинимальнаяВерсияПлатформы;
КонецПроцедуры
Разберем этот код по шагам:
СистемнаяИнформация для получения текущей версии приложения, на которой запущен сеанс.ЭтоВерсияЗащищенногоПрограммногоКомплекса, которая проверяет, относится ли текущая версия к списку «защищенных».Функция проверки защищенных релизов выглядит следующим образом:
Функция ЭтоВерсияЗащищенногоПрограммногоКомплекса(Версия)
Версии = Новый Массив;
Версии.Добавить("8.3.17.2102");
Версии.Добавить("8.3.17.2316");
Версии.Добавить("8.3.17.2598");
Версии.Добавить("8.3.17.2714");
Версии.Добавить("8.3.19.1405");
Возврат Версии.Найти(Версия) <> Неопределено;
КонецФункции
Для администраторов и разработчиков важно учитывать следующие аспекты при обновлении платформы:
Проанализировав данную ситуацию, мы видим, что 1С вынуждена поддерживать множество веток платформы для того, чтобы соответствовать как требованиям регуляторов (ФСТЭК), так и потребностям различных типов организаций — от обычного бизнеса до государственных информационных систем.