Как программно получить информацию о выходе новой версии конфигурации в 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При сопровождении баз 1С или разработке собственных решений часто возникает задача автоматизировать процесс информирования пользователей о выходе новых релизов. Рассмотрим подробнее, как программно получить данные об актуальной версии конфигурации, наличии обновления и дате его выпуска. Разберем по шагам типовые механизмы, которые уже встроены в современные системы, а также проанализируем альтернативные варианты для старых или сильно модифицированных конфигураций.

Использование Библиотеки стандартных подсистем (БСП)

В современных типовых конфигурациях (таких как «1С:Бухгалтерия 3.0», «1С:Управление торговлей 11», «1С:ERP» и других) по умолчанию встроена Библиотека стандартных подсистем. Это значит, что нам не нужно изобретать велосипед — достаточно обратиться к готовым общим модулям.

Посмотрим на пример кода, который позволяет выполнить проверку наличия обновления через интернет и сформировать строку с детальной информацией о новом релизе:


ОбновлениеКонфигурацииКлиент.ПроверитьНаличиеОбновленияЧерезИнтернет();

ПоследнийРелизИзИнтернета = ОбновлениеКонфигурацииКлиент.ПолучитьДоступноеОбновлениеКонфигурации();

ИнформацияОНовомРелизе = "Номер новой версии: " + ПоследнийРелизИзИнтернета.ПоследняяВерсияКонфигурации + Символы.ПС + 
"Обновление возможно с версий: " + ПоследнийРелизИзИнтернета.ПараметрыФайлаПроверкиОбновления.FromVersions + Символы.ПС + 
"Дата выпуска релиза: " + Формат(ПоследнийРелизИзИнтернета.ПараметрыФайлаПроверкиОбновления.UpdateDate, "ДЛФ=D");

Сообщить(ИнформацияОНовомРелизе);

Кроме того, выясним, какие еще методы можно использовать. В некоторых конфигурациях (например, в «Бухгалтерии предприятия КОРП») информацию можно получить одной строкой:


ИнформацияОбОбновлении = ПолучениеОбновленийПрограммы.ИнформацияОДоступномОбновлении();
// Или служебная функция:
СлужебнаяИнфа = ПолучениеОбновленийПрограммы.ИнформацияОДоступномОбновленииСлужебная();

Эти функции возвращают структуру с данными о релизе, которую можно легко обработать и вывести пользователю или записать в журнал регистрации.

Особенности старых конфигураций на обычных формах (на примере УПП)

Проанализируем ситуацию, если мы работаем со старыми конфигурациями, такими как «1С:Управление производственным предприятием» (УПП). В таких системах современных подсистем БСП (и модулей вроде ПолучениеОбновленийПрограммы) нет. Следовательно, прямой вызов вышеописанных функций приведет к ошибке.

Если перед вами стоит задача реализовать подобный функционал в УПП, настоятельно рекомендуем открыть современную конфигурацию (ту же «Бухгалтерию 3.0»), найти указанный модуль и посмотреть, как именно он делает запрос. Обычно это сводится к разбору XML- или JSON-файлов, получаемых с серверов 1С.

Также важно отметить официальную информацию: поддержка конфигурации «Управление производственным предприятием» завершается в 2026 году. Критические обновления (только для сдачи отчетности за 2026 год) будут выпускаться в первом квартале 2027 года. Изменения законодательства с 1 января 2027 года в УПП реализовываться не будут. Поэтому, вместо масштабных доработок старой системы, целесообразнее планировать переход на «1С:ERP» или «1С:Комплексная автоматизация».

Альтернативный метод: прямые HTTP-запросы

Если типовые механизмы недоступны, рассмотрим универсальный способ — использование объекта HTTPСоединение. С его помощью мы можем самостоятельно обращаться к серверам обновлений.

Разберем алгоритм действий:

  1. Создаем HTTPСоединение с адресом сервера обновлений (например, downloads.v8.1c.ru).
  2. Для получения данных обязательно настраиваем базовую авторизацию. В параметрах соединения передаем действующие логин и пароль от портала ИТС.
  3. Формируем GET-запрос к нужному ресурсу (каталогу конфигурации).
  4. В ответ сервер вернет структуру файлов (чаще всего в формате XML или HTML).
  5. Программно парсим полученный ответ (используя ЧтениеXML или регулярные выражения), извлекаем номер последней версии и сравниваем его с текущей версией нашей базы.

Проверка обновлений для собственных нетиповых конфигураций и расширений

Если мы разрабатываем собственную конфигурацию «с нуля» или распространяем коммерческое расширение, нам потребуется кастомный механизм проверки обновлений. Посмотрим, как это легко реализовать:

  1. На любом доступном веб-сервере или в публичном репозитории (например, GitHub, GitLab) размещаем простой текстовый файл (например, version.json или version.txt). В нем храним актуальный номер релиза и краткое описание изменений.
  2. При запуске системы 1С или по регламентному заданию, вызываем код, который делает HTTP-запрос к нашему файлу.
  3. Полученный номер релиза сравниваем с текущей версией программы. Текущую версию конфигурации всегда можно получить через метод Метаданные.Версия.
  4. Если версия на сервере выше, выводим пользователю красивое окно с предложением обновиться и списком нововведений.

Используя предложенные методы, вы можете гибко настроить информирование пользователей о новых версиях, опираясь либо на мощные инструменты БСП, либо на прямую работу с сетевыми протоколами.

← На главную